From e3984fbbf370bf5925250a75bfb6154b4a16685c Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期二, 11 四月 2023 14:04:00 +0800
Subject: [PATCH] bakcup
---
force-app/main/default/classes/LexSummonsCreatController.cls | 2400 ++++++++++++++
force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html | 11
force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml | 5
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html | 3
force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml | 8
force-app/main/default/lwc/customUnitComp/customUnitComp.html | 13
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html | 12
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js | 1109 ++++++
force-app/main/default/lwc/lookup/lookup.html | 139
manifest/packageForPIPL.xml | 251 -
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js | 33
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml | 8
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css | 25
force-app/main/default/lwc/lookup/lookup.css | 30
force-app/main/default/staticresources/LexCustomDataTable.resource-meta.xml | 6
force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html | 11
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html | 176 +
force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html | 6
force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html | 5
force-app/main/default/classes/TestClassByLiJun.cls | 5
force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html | 196 +
force-app/main/default/lwc/testPaginated/__tests__/testPaginated.test.js | 25
force-app/main/default/classes/PaginatedListControllerLwc.cls | 42
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml | 5
force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml | 5
force-app/main/default/lwc/lookup/lookup.js-meta.xml | 5
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html | 80
force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html | 8
force-app/main/default/lwc/customUnitComp/customUnitComp.js | 26
force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html | 6
force-app/main/default/classes/LexInventoryController.cls | 1159 +++++++
force-app/main/default/lwc/paginator/paginator.html | 42
force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html | 3
.sf/config.json | 4
force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js | 103
force-app/main/default/classes/InventoryController.cls | 51
manifest/package.xml | 479 ++
force-app/main/default/lwc/myCustomTypeDatatable/customName.html | 6
force-app/main/default/classes/SampleLookupController.cls-meta.xml | 5
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js | 273 +
force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html | 11
force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html | 11
force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp | 2
force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js | 502 +++
force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml | 5
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml | 5
force-app/main/default/lwc/pocLightningDatatable/customUnit.html | 12
force-app/main/default/classes/TestClassByLiJun.cls-meta.xml | 5
force-app/main/default/lwc/lookup/lookup.js | 468 ++
force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html | 6
force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html | 8
force-app/main/default/lwc/paginator/paginator.css | 13
force-app/main/default/classes/LexInventoryController.cls-meta.xml | 5
force-app/main/default/classes/NFMUtil.cls | 72
force-app/main/default/classes/PaginatedListControllerLwc.cls-meta.xml | 5
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml | 9
force-app/main/default/classes/ConsumableController.cls | 2
force-app/main/default/lwc/paginator/paginator.js | 32
force-app/main/default/classes/LexSummonsCreatController.cls-meta.xml | 5
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js | 24
force-app/main/default/staticresources/LexCustomDataTable.css | 12
force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html | 7
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css | 29
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html | 6
force-app/main/default/classes/SaleOrderController.cls | 10
force-app/main/default/classes/SampleLookupController.cls | 89
force-app/main/default/aura/WeeklyReport/WeeklyReportController.js | 63
force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html | 11
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js | 41
force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js | 28
force-app/main/default/lwc/paginatedList/paginatedList.html | 35
force-app/main/default/lwc/paginator/paginator.js-meta.xml | 5
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js | 323 +
force-app/main/default/lwc/testPaginated/testPaginated.js | 3
/dev/null | 478 --
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html | 564 +++
.prettierrc | 49
force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js-meta.xml | 9
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml | 9
force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html | 6
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html | 2
force-app/main/default/lwc/paginatedList/paginatedList.js | 120
force-app/main/default/pages/Inventory.page | 1
force-app/main/default/pages/InventoryView.page | 1
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html | 7
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml | 5
force-app/main/default/lwc/testPaginated/testPaginated.html | 3
87 files changed, 8,982 insertions(+), 915 deletions(-)
diff --git a/.prettierrc b/.prettierrc
index bae5168..449f1b9 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,27 +1,26 @@
{
- "trailingComma": "none",
- "overrides": [
- {
- "files": "**/lwc/**/*.html",
- "options": {
- "tabWidth": 4,
- "parser": "lwc"
- }
- },
- {
- "files": "**/*.{cls,trigger,apex}",
- "options": {
- "apexInsertFinalNewline": true,
- "printWidth": 140,
- "tabWidth": 4
- }
- },
- {
- "files": "*.{cmp,page,component}",
- "options": {
- "parser": "html",
- "tabWidth": 4
- }
- }
- ]
+ "trailingComma": "none",
+ "singleQuote": true,
+ "tabWidth": 4,
+ "overrides": [
+ {
+ "files": "**/lwc/**/*.html",
+ "options": {
+ "parser": "lwc"
+ }
+ },
+ {
+ "files": "**/*.{cls,trigger,apex}",
+ "options": {
+ "apexInsertFinalNewline": true,
+ "printWidth": 140
+ }
+ },
+ {
+ "files": "*.{cmp,page,component}",
+ "options": {
+ "parser": "html"
+ }
+ }
+ ]
}
\ No newline at end of file
diff --git a/.sf/config.json b/.sf/config.json
index cdc53e5..baca826 100644
--- a/.sf/config.json
+++ b/.sf/config.json
@@ -1,3 +1,3 @@
{
- "target-org": "OlympusPIPLDev"
-}
+ "target-org": "LEXOlympusDev"
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp
index 2685ae9..7700999 100644
--- a/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp
@@ -567,7 +567,7 @@
<br/>
<div class="save_button_area">
<lightning:button class="slds-m-top_small" type="button" label="鍙栨秷" onclick="{!c.createCancel}"/>
- <lightning:button class="slds-m-top_small" type="submit" label="鏂板缓" />
+ <lightning:button class="slds-m-top_small" type="submit" label="淇濆瓨" />
</div>
</lightning:recordEditForm>
</div>
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
index b4f4562..1b97f08 100644
--- a/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
@@ -1,5 +1,6 @@
({
doInit : function(component, event, helper) {
+ console.log('zhj 鏂版柟妗�');
if (window.location.href.endsWith("weekly-report")) {
helper.doinit(component, event, helper);
} else {
@@ -101,16 +102,62 @@
*/
var agencyHospitalid = component.get('v.hospitalLinkId');
- var arr = new Array();
- arr.push(agencyReport);
- var data = JSON.stringify(arr);
- // helper.set_aws_url(component,data,agencyHospitalid);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ debugger
+ let hospitalName = '';
+ //璋冪敤鍚庣searchAgencyDataId鏂规硶鏌ヨ鍑哄尰闄笅闈㈡墍鏈夊鎴蜂汉鍛榙ataid
+ helper.CallBackAction(component,'searchAgencyDataId',{
+ hospitalId : agencyHospitalid
+ },function(data){
+ if(data.getState() == "SUCCESS"){
+ var data = data.getReturnValue();
+ if(data.IsSuccess == true){
+ let agencyContactIds = ''
+ if(data.Message == '' && data.Data && data.Data.length > 0){
+ hospitalName = data.Data[0].Agency_Hospital__r.Name;
+ for(var i=0;i<data.Data.length;i++){
+ if(data.Data[i].AWS_Data_Id__c)
+ agencyContactIds += ','+data.Data[i].AWS_Data_Id__c;
+ }
+ agencyContactIds = agencyContactIds.substring(1);
+ agencyReport['agencyContactIds'] = agencyContactIds;
+ }else{
+ agencyReport['agencyContactIds'] = agencyContactIds;
+ }
+ var arr = new Array();
+ arr.push(agencyReport);
+ var requestData = JSON.stringify(arr);
+ // helper.set_aws_url(component,data,agencyHospitalid);
- var token = component.get('v.AWStoken');
- var newUrl = component.get('v.AWSinsert');
+ var token = component.get('v.AWStoken');
+ var newUrl = component.get('v.AWSinsert') + 'V2';
+
+ component.set('v.login',true);
+ helper.insert_agencycontact(component,token,newUrl,requestData,agencyHospitalid,helper,hospitalName);
+ }else{
+ helper.ShowToast({
+ "message" : data.message,
+ "type" : "error"
+ });
+ }
+ }else{
+ helper.ShowToast({
+ "message" : 'searchAgency澶辫触',
+ "type" : "error"
+ });
+ }
+ })
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+ // var arr = new Array();
+ // arr.push(agencyReport);
+ // var data = JSON.stringify(arr);
+ // // helper.set_aws_url(component,data,agencyHospitalid);
+
+ // var token = component.get('v.AWStoken');
+ // var newUrl = component.get('v.AWSinsert');
- component.set('v.login',true);
- helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
+ // component.set('v.login',true);
+ // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
// PIPL update Yin Mingjie 21/02/2022 end
}else{
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
index eed53ef..4222c03 100644
--- a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
@@ -63,7 +63,7 @@
component.set('v.login',false);
}
}else{
- this.error('AWS search status : ' + result.status);
+ this.error('AWS search status1 : ' + result.status);
component.set('v.login',false);
}
},component);
@@ -221,7 +221,7 @@
b = true;
Foo();
}else{
- this.error('AWS search status : ' + result.status);
+ this.error('璇烽噸鏂板埛鏂颁竴涓嬮〉闈€��');
}
},component);
}else{
@@ -243,7 +243,7 @@
b1 = true;
Foo();
}else{
- this.error('AWS search status : ' + result.status);
+ this.error('AWS search status3 : ' + result.status);
}
},component);
}else{
@@ -345,7 +345,7 @@
var reports = component.get('v.reports');
var Agency_Hospital_text = '';
var Agency_Hospital_parent_id = '';
-
+ debugger
// 鍖婚櫌鍚�
if (select_data['Agency_Hospital__c'] != '') {
for (var i = 0; i < reports.length; i++) {
@@ -1171,7 +1171,6 @@
component.set('v.hospitalLinkId', hospital_data[i].Id);
component.set('v.data.Agency_Hospital__c', hospital_data[i].Id);
component.find('new_con').set('v.disabled', false);
- //break;
}
}
component.set("v.hospital", accname);
@@ -1231,7 +1230,7 @@
$A.enqueueAction(action);
},
- insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper) {
+ insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper,hospitalName) {
// AWSService.insert(newUrl,payload,function(result){
// if(result.status == '0'){
@@ -1263,7 +1262,11 @@
}else{
console.log('AWS status error:' + result)
component.set('v.login',false);
- component.find('OppMessage').setError('AWS insert error.');
+ if(result.status == '129'){
+ component.find('OppMessage').setError('璇ュ鎴蜂汉鍛樺悕瀛楀凡瀛樺湪锛屽湪'+hospitalName+'鍖婚櫌锛岃淇敼');
+ }else{
+ component.find('OppMessage').setError('AWS insert error.');
+ }
}
}).catch(error => {
console.log('AWS insert error:' + error)
@@ -1277,11 +1280,11 @@
var action = component.get('c.saveAgencyContact');
action.setParams({
"name" : result.object[0].name,
- "nameEncrypt" : result.object[0].nameEncrypt,
+ //"nameEncrypt" : result.object[0].nameEncrypt,
"type" : result.object[0].type,
- "typeEncrypt" : result.object[0].typeEncrypt,
+ //"typeEncrypt" : result.object[0].typeEncrypt,
"doctorDivision1" : result.object[0].doctorDivision1,
- "doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt,
+ //"doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt,
"agencyHospitalid" : agencyHospitalid,
"awsid" : result.object[0].dataId,
});
@@ -1422,7 +1425,7 @@
if(result.status == '0'){
this.to_doctor_list(result,retMap,component);
}else{
- this.error('AWS search status : ' + result.status);
+ this.error('AWS search status4 : ' + result.status);
component.set('v.login',false);
}
},component);
@@ -1443,6 +1446,9 @@
// });
},
search_core : function(token,searchUrl,payload,callback,component) {
+ console.log('token = ' + token);
+ console.log('searchUrl = ' + searchUrl);
+ console.log('payload = ' + payload);
fetch(searchUrl, {
method: 'POST',
body: payload,
@@ -1456,6 +1462,7 @@
component.set('v.login',false);
if(callback)callback(result);
}).catch(error => {
+ console.log('error = ' + JSON.stringify(error));
this.error('AWS search error.');
component.set('v.login',false);
});
@@ -1519,6 +1526,7 @@
// },
opportunityChange : function(component, event, helper) {
+ debugger
var opp_id = component.get('v.data.Opportunity__c');
if (opp_id == '') {
$A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
@@ -1582,24 +1590,28 @@
// }
component.set('v.login',false);
return false;
- } else if (res[0]['StageName2__c'] != '3.璇环' && !component.get('v.loadOpp')){
- this.warning('璇烽�夋嫨璇环涓殑椤圭洰');
- // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
- component.set('v.data.Opportunity__c', '');
- $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
- $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
- $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
- $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
- $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
- // if ($A.get("$Browser.formFactor") == 'DESKTOP') {
- // var values = [];
- // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
- // } else {
- // component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', '');
- // }
- component.set('v.login',false);
- return false;
- } else {
+ }
+ //SWAG-CKH5M8 銆愬鎵樸�戝懆鎶ュ叧鑱旇浠凤紝鍙�夋嫨璇环鑼冨洿璋冩暣 fy start
+ // else if (res[0]['StageName2__c'] != '3.璇环' && !component.get('v.loadOpp')){
+ // this.warning('璇烽�夋嫨璇环涓殑椤圭洰');
+ // // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
+ // component.set('v.data.Opportunity__c', '');
+ // $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ // $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ // $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ // $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ // $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ // // if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ // // var values = [];
+ // // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
+ // // } else {
+ // // component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', '');
+ // // }
+ // component.set('v.login',false);
+ // return false;
+ // }
+ //SWAG-CKH5M8 銆愬鎵樸�戝懆鎶ュ叧鑱旇浠凤紝鍙�夋嫨璇环鑼冨洿璋冩暣 fy end
+ else {
component.set('v.loadOpp', false);
component.set('v.oppdata',res[0]);
this.set_selected(component, 'select_stageName', res[0].StageName__c);
@@ -1784,6 +1796,7 @@
$A.util.addClass(modal_newAC, 'disp_none');
},
setOpportunity_cfilter : function(component) {
+ debugger
var hosId = component.get('v.hospitalId');
var Department_Cateogy__c = component.find('select_department').get('v.value');
var opportunity_cfilter = '';
@@ -1896,19 +1909,23 @@
fileData : component.get("v.fileContentData"),
});
action1.setCallback(this, function(response) {
+ console.log('response = ' + JSON.stringify(response));
var state = response.getState();
if (state === "SUCCESS") {
var ress = response.getReturnValue();
+ console.log('ress = ' + JSON.stringify(ress));
if(ress){
var valur =ress.split('error1');
if(valur.length<=1){
var res = JSON.parse(response.getReturnValue());
+ console.log('res = ' + JSON.stringify(res));
var dataArr = new Array();
var dataMap = new Map();
res.forEach(item => {
if(item.AWS_Data_Id__c){
dataArr.push(item.AWS_Data_Id__c);
- dataMap.set(item.AWS_Data_Id__c,item.Name_Encrypted__c);
+ //dataMap.set(item.AWS_Data_Id__c,item.Name_Encrypted__c);
+ dataMap.set(item.AWS_Data_Id__c,item.AWS_Data_Id__c); //zhj 鏂版柟妗堟敼閫� 2022-12-21
}
});
debugger
@@ -1931,11 +1948,11 @@
component.set('v.login',true);
this.saveRecordsEditFile(component,dataMap,result.object,helper);
}else{
- this.error('AWS search status ' );
+ this.error('AWS search status5 ' );
component.set('v.login',false);
}
}else{
- this.error('AWS search status : ' + result.status);
+ this.error('AWS search status6 : ' + result.status);
component.set('v.login',false);
}
},component);
@@ -2087,7 +2104,7 @@
if (searchDataMap.get(fileName.replace(' ',''))) {
var nameDataId = searchDataMap.get(fileName.replace(' ',''));
if (dataMap.get(nameDataId)) {
- filelist[4] = dataMap.get(nameDataId);
+ filelist[4] = dataMap.get(nameDataId); //zhj 鏂版柟妗堟敼閫� filelist[4]涓嶅啀瀛樼殑nameEncrpt 2022-12-21
}else {
error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉SF涓嶅瓨鍦�';
error += '=';
@@ -2317,8 +2334,24 @@
var modalimportbg = component.find('modal_exportbg');
$A.util.addClass(modalimport, 'disp_none');
$A.util.addClass(modalimportbg,'disp_none');
- }
-
+ },
+
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+
// searchAgencyContact : function(res) {
// var agencyContacts = [];
// for (let idx = 0; idx < res.length; idx++) {
diff --git a/force-app/main/default/classes/ConsumableController.cls b/force-app/main/default/classes/ConsumableController.cls
index b694207..262180e 100644
--- a/force-app/main/default/classes/ConsumableController.cls
+++ b/force-app/main/default/classes/ConsumableController.cls
@@ -1,4 +1,4 @@
-public without sharing class ConsumableController {
+public without sharing class {
/*****************妞滅储鐢�******************/
public Consumable_order__c coc { get; set; } // FIMXE Consumable_order__c 銇偆銉炽偣銈裤兂銈广�乻ql澶氥仚銇�
diff --git a/force-app/main/default/classes/InventoryController.cls b/force-app/main/default/classes/InventoryController.cls
index bab5998..d5d7694 100644
--- a/force-app/main/default/classes/InventoryController.cls
+++ b/force-app/main/default/classes/InventoryController.cls
@@ -114,10 +114,10 @@
this.sortOrder = new String[]{' ',' ','鈫�'};
String userId = UserInfo.getUserId();
- // String userId = '00510000006xHnrAAE';
+ //String userId = '00510000006k82X';
//String userId = '00510000005QO75';
user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =:userId];
- accountid = Useracc.Accountid;
+ accountid = Useracc.accountid;
userWorkLocation = Useracc.Work_Location__c;
agencyProType = Useracc.UserPro_Type__c;
if(String.isBlank(Useracc.UserPro_Type__c)){
@@ -131,19 +131,17 @@
List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>();
Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>();
- //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start
//寮�濮嬪埗浣滆〃澶存暟鎹�
- // List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
- // SFDA_Status__c,Packing_list_manual__c,
- // Asset_Model_No__c
- // from Product2__c
- // //where Estimation_Entry_Possibility__c = '鈼�'
- // where Product_Type__c like : sqlagencyProType
- // ];
- // for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){
- // midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
- // }
- //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy end
+ List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
+ SFDA_Status__c,Packing_list_manual__c,
+ Asset_Model_No__c
+ from Product2__c
+ //where Estimation_Entry_Possibility__c = '鈼�'
+ where Product_Type__c like : sqlagencyProType
+ ];
+ for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){
+ midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
+ }
//鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
List<Consumable_order_details2__c> ProductCount_Res = [select Id, Name,Consumable_Product__c,
Bar_Code__c,Consumable_Product__r.Name__c,
@@ -159,28 +157,7 @@
AND Product_Type__c like : sqlagencyProType
AND Arrive_Owner_Work_Location__c =: userWorkLocation
AND Dealer_Info_text__c = :accountName];
- //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start
- //寮�濮嬪埗浣滆〃澶存暟鎹�
- Set<Id> Product2cIdSet = new Set<Id>();
- for(Consumable_order_details2__c con_or_d2item: ProductCount_Res){
- Product2cIdSet.add(con_or_d2item.Consumable_Product__c);
- }
- List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
- SFDA_Status__c,Packing_list_manual__c,
- Asset_Model_No__c
- from Product2__c
- //where Estimation_Entry_Possibility__c = '鈼�'
- where Id in:Product2cIdSet
- and Product_Type__c like : sqlagencyProType
- ];
- for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){
- midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
- }
- system.debug('productCount_Unfull_bak'+productCount_Unfull_bak.size());
- // String erro='productCount_Unfull_bak:'+productCount_Unfull_bak.size();
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, erro));
- //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy end
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res ' + ProductCount_Res.size()));
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res ' + ProductCount_Res.size()));
for(Integer i = 0 ; i< ProductCount_Res.size();i++){
//鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�'){
@@ -1028,7 +1005,9 @@
}
//CSV鍑哄姏
public PageReference doClick() {
+ system.debug('Click');
Pagereference pr = page.InventoryCSV;
+ system.debug('data:'+JSON.serialize(consumableorderdetailsRecordserrordummy));
return pr;
}
diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls
new file mode 100644
index 0000000..2399a9b
--- /dev/null
+++ b/force-app/main/default/classes/LexInventoryController.cls
@@ -0,0 +1,1159 @@
+public without sharing class LexInventoryController {
+ //鍒嗛〉浣跨敤鏁版嵁
+ public static String fileName { get; set; }
+ public static Integer size{get;set;}
+ public static Integer noOfRecords{get; set;}
+ public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢�
+ public static ApexPages.StandardSetController setCon { get; set; }
+ @AuraEnabled
+ public static List<Consumable_order_details2__c> setConDetails2 { get; set; }
+ public static Map<Id,String> pandiandetailsMap = new Map<Id,String>();
+ /*****************妞滅储鐢�******************/
+ public static String barcode { get; set; }
+ public static Boolean done { get; set; }
+ /*****************鐢婚潰琛ㄧずBean******************/
+ //椤甸潰涓绘暟鎹樉绀虹敤
+ private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+ //鐩樼偣鍒扮殑浜у搧
+ public static List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
+ public static List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>();
+
+ //public List<Consumable_order_details2__c> pandiandetailsList { get; set; }
+ public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; }
+ //瀵诲洖鏄庣粏
+ public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢�
+ @AuraEnabled
+ public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 浜у搧鍗曚綅鐨凩ist
+
+ public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords;
+
+ public static Integer consumableorderdetailsCount {
+ get {
+ return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size();
+ }
+ }
+ //list<String> notexitlist = new list<String>();
+ public static Map<String,String> reFindProduct = new Map<String,String>();
+ //鎺掑簭鐢�
+ public static String sortKey;
+ public static String preSortKey;
+ public static Boolean sortOrderAsc;
+ public static String[] sortOrder;
+ //private Set<String> carCodeListLose = new Set<String>(); //ProductCount_Res 鏈夛紝BarCodeListP 娌℃湁
+ /*****************缁忛攢鍟咺D******************/
+ private static String accountid = null;
+ private static String accountName = null;
+ // 鐩樼偣 ID
+ private static String eSetId = '';
+ // 鐧诲綍鑰呭伐浣滃湴
+ private static String userWorkLocation;
+ //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
+ public static String agencyProType {get;set;}
+ public static String sqlagencyProType;
+ //鍒ゆ柇鎿嶄綔浜哄憳鏄惁鐩樼偣
+ public static Boolean iSinventory = false;
+
+ public LexInventoryController(){
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ done = false;
+
+ consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+ consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>();
+ codPageRecords = new List<ConsumableorderdetailsInfo>();
+ //codPageRecordsShow = new List<ConsumableorderdetailsInfo>();
+ }
+
+ private static void initStandardController(){
+ // init standard controller
+ List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name desc];
+ setConDetails2 = showcod2;
+ System.debug('setConDetails2===>'+setConDetails2);
+ // setCon = new ApexPages.StandardSetController(showcod2);
+ // // sets the number of records in each page set
+ // setCon.setPageSize(size);
+ // noOfRecords = setCon.getResultSize();
+ }
+
+ public static List<Consumable_order_details2__c> cod2s() {
+ return setConDetails2;
+ }
+ //Changes the size of pagination
+ public static PageReference refreshPageSize() {
+ setCon.setPageSize(size);
+ //showcod2nid = cod2s();
+ makepagerecords();
+ return null;
+ }
+
+ public static List<ConsumableorderdetailsInfo> makepagerecords() {
+ showcod2nid = cod2s();
+ codPageRecords = new List<ConsumableorderdetailsInfo>();
+ for (Consumable_order_details2__c cod2 : showcod2nid) {
+ codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
+ }
+ System.debug('===>codPageRecords1'+codPageRecords);
+ return codPageRecords;
+ }
+
+ // 鐢婚潰鍒濆鍖�
+ @AuraEnabled
+ public static ResponseBodyLWC init() {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String,object> data = new Map<String,object>();
+ res.entity = data;
+
+ consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+ setConDetails2 = new List<Consumable_order_details2__c>();
+ String url = '鍦ㄥ簱璋冩暣涓�瑙�';
+ fileName = EncodingUtil.urlEncode(url, 'UTF-8');
+ List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name];
+ System.debug('pandiandetailsMap====>'+pandiandetailsMap);
+ initStandardController();
+ makepagerecords();
+ sortKey = '1';
+ preSortKey = '1';
+ sortOrderAsc = false;
+ sortOrder = new String[1];
+ sortOrder = new String[]{' ',' ','鈫�'};
+
+ String userId = UserInfo.getUserId();
+ //String userId = '00510000006k82X';
+ //String userId = '00510000005QO75';
+ user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =:userId];
+ accountid = Useracc.accountid;
+ userWorkLocation = Useracc.Work_Location__c;
+ agencyProType = Useracc.UserPro_Type__c;
+ if(String.isBlank(Useracc.UserPro_Type__c)){
+ agencyProType = 'ET';
+ }
+ sqlagencyProType = '%' + agencyProType + '%';
+ Account accountInfo = [SELECT Name,Dealer_discount__c FROM account WHERE id =:accountid];
+ accountName = accountInfo.Name;
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ Map<String,Product2__c> midMap = new Map<String,Product2__c>();
+ List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>();
+ //寮�濮嬪埗浣滆〃澶存暟鎹�
+ List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
+ SFDA_Status__c,Packing_list_manual__c,
+ Asset_Model_No__c
+ from Product2__c
+ //where Estimation_Entry_Possibility__c = '鈼�'
+ where Product_Type__c like : sqlagencyProType
+ ];
+ for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){
+ midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
+ }
+ //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
+ List<Consumable_order_details2__c> ProductCount_Res = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Cancellation_Flag__c = false
+ AND Bar_Code__c !=null
+ AND Product_Type__c like : sqlagencyProType
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ AND Dealer_Info_text__c = :accountName];
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res ' + ProductCount_Res.size()));
+ for(Integer i = 0 ; i< ProductCount_Res.size();i++){
+ //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+ if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�'){
+
+ if(newMidBoxMap.containsKey(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c)){
+ ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c).clone();
+ Jstage.countid = Jstage.countid+1 ;
+ if(ProductCount_Res[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+ newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage);
+ }else{
+ ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(ProductCount_Res[i].Consumable_Product__c));
+ Jstage.countid = Jstage.countid+1 ;
+ if(ProductCount_Res[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+ newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage);
+ }
+ }else if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '涓�'){
+ if(newMidPieceMap.containsKey(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c)){
+ ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c).clone();
+ Jstage.countid = Jstage.countid+1 ;
+ if(ProductCount_Res[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+ newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage);
+ }else{
+ ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(ProductCount_Res[i].Consumable_Product__c));
+ Jstage.countid = Jstage.countid+1 ;
+ if(ProductCount_Res[i].Isoverdue__c == 1){
+ Jstage.limitCount = Jstage.limitCount + 1;
+ }
+ Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+ newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage);
+ }
+ }
+ }
+ for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){
+ bss.overlimitCount = bss.countid - bss.limitCount;
+ boxRecords.add(bss);
+ }
+ boxRecords.sort();
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ bss.overlimitCount = bss.countid - bss.limitCount;
+ }
+ for(ConsumableorderdetailsInfo bss : boxRecords){
+ consumableorderdetailsRecords.add(bss);
+ if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+ //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
+ newMidPieceMap.remove(bss.Prod.Id + '涓�');
+ }
+ }
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+ }
+ //consumableorderdetailsCount = consumableorderdetailsRecords.size();
+ listCut();
+
+
+ system.debug('ConsumableorderdetailsRecordsview'+ConsumableorderdetailsRecordsview);
+ System.debug('ConsumableorderdetailsRecordsview==>'+ConsumableorderdetailsRecordsview);
+ // data.put('ConsumableorderdetailsRecordsview',ConsumableorderdetailsRecordsview);
+
+ // for(ConsumableorderdetailsInfo con: ConsumableorderdetailsRecordsview){
+ // consumableorderdetailsviewRecords.add(con);
+ // }
+ System.debug('consumableorderdetailsviewRecords===>'+consumableorderdetailsviewRecords);
+ System.debug('consumableorderdetailsRecords===>'+consumableorderdetailsRecords);
+
+
+ data.put('ConsumableorderdetailsRecordsview',JSON.serialize(ConsumableorderdetailsRecordsview));
+ data.put('userWorkLocation',userWorkLocation);
+ data.put('agencyProType',agencyProType);
+ data.put('accountName',accountName);
+ data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ private static void listCut(){
+ //鎷嗗垎鏆傜敤list
+ List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
+ List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
+ ConsumableorderdetailsInfo c = null;
+ ConsumableorderdetailsRecordsbreak.clear();
+ ConsumableorderdetailsRecordsbreakover.clear();
+ consumableorderdetailsRecordsview.clear();
+ //閫夋嫨浜у搧view
+ ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
+ ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
+ if(consumableorderdetailsRecords.size() > 1000){
+ for(Integer i = 0; i < consumableorderdetailsRecords.size(); i++){
+ if(i < 1000){
+ c = consumableorderdetailsRecords.get(i);
+ ConsumableorderdetailsRecordsbreak.add(c);
+ }else{
+ c = consumableorderdetailsRecords.get(i);
+ ConsumableorderdetailsRecordsbreakover.add(c);
+ }
+ }
+ consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak);
+ consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover);
+ }else{
+ consumableorderdetailsRecordsview.add(consumableorderdetailsRecords);
+ }
+ }
+ //========20160311======ADD_Start================================
+ // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
+ //========20160311======ADD_Start================================
+ public static List<String> ParseBarCode(String Code){
+ Map<String,Integer> barcodeCountMap = new Map<String,Integer>();
+ String[] Cache = new String[]{};
+ Cache = Code.split('\n');
+ List <String> Buff = new List<String>();
+ for(String A : Cache){
+ A = A.trim().toUpperCase();
+ if(barcodeCountMap.containsKey(A)){
+ barcodeCountMap.put(A,barcodeCountMap.get(A) + 1);
+ }else{
+ barcodeCountMap.put(A,1);
+ }
+ Buff.add(A + barcodeCountMap.get(A));
+ }
+ return Buff;
+
+ }
+
+
+
+ //test
+
+ // @AuraEnabled
+ // public static ResponseBodyLWC searchConsumableorderdetails(String sqlagencyProType,String userWorkLocation,String accountName,String barcode,List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsLWC){
+ // return new ResponseBodyLWC('Error',500, 'test', '');
+ // }
+ //========20160311======ADD_End==================================
+ // BarCode褰曞叆
+ @AuraEnabled
+ public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC){
+ System.debug('===>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC);
+ List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
+ // ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
+ system.debug('=====>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC);
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String,object> data = new Map<String,object>();
+ res.entity = data;
+
+ sqlagencyProType = '%' + agencyProType + '%';
+
+ // consumableorderdetailsRecords = consumableorderdetailsRecordsLWC;
+ System.debug('consumableorderdetailsRecords===>'+consumableorderdetailsRecords);
+ System.debug('agencyProType===>'+sqlagencyProType);
+ System.debug('accountName===>'+accountName);
+
+
+ /* BarCodelist鍋氭垚 */
+ //FIXME barcodeSet 鍋氭垚锛孭roductCount_ResSet 鍋氭垚
+ List<Consumable_order_details2__c> pandiandetailsList = new List<Consumable_order_details2__c>();
+ pandiandetailsListShow = new List<List<Consumable_order_details2__c>>();
+ done = false;
+ List<String> BarCodeListP = ParseBarCode( barcode );
+ //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
+ List<Consumable_order_details2__c> ProductCount_Res = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Info_text__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Cancellation_Flag__c = false
+ AND Bar_Code__c !=null
+ AND Product_Type__c like : sqlagencyProType
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ AND Dealer_Info_text__c = :accountName ];
+ reFindProduct.clear();
+ Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String,ConsumableorderdetailsInfo>();
+ //barCodeListLoseMap.clear();
+ Set<String> carCodeListLose = new Set<String>();
+ List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsAdjust = new List<ConsumableorderdetailsInfo>();
+ Map<String,String> proIdNotinpage = new Map<String,String>();
+ List<Consumable_order_details2__c> reFindProductList = new List<Consumable_order_details2__c>();
+ codPageRecords = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>();
+ List<ConsumableorderdetailsInfo> reFindProductaddtopage = new List<ConsumableorderdetailsInfo>();
+ pandiandetailsMap.clear();
+ reSet = new List<Consumable_order_details2__c>();
+ /* 鍒ゆ柇BarCode鏄惁涓虹┖ */
+ if (barcode == null || barcode == ''){
+ //鍏堝彇鍑烘墍鏈変涪澶变骇鍝�
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
+ ass.Pandian = 0;
+ // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
+ if(ass.check==true){
+ //ass.Diff = ass.countid - ass.Pandian;
+ for(integer i = 0 ; i < ProductCount_Res.size();i++){
+ if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
+ if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)){
+ continue;
+ }else{
+
+ //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+ //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+ ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
+ carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
+ }
+ }
+ }
+ }
+ }
+
+ //宸茬粡鍑哄簱鐨勪骇鍝�
+ List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c,Dealer_Info_text__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = TRUE
+ AND (Dealer_Shipment__c= TRUE
+ or Dealer_Saled__c = TRUE)
+ AND Dealer_Returned__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c in :carCodeListLose
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>();
+ for(Consumable_order_details2__c cod2 :reSet1){
+ needreturnMap.put(cod2.Bar_Code__c,cod2);
+ }
+
+ // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+ reSet1 = [SELECT Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c,Dealer_Info_text__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c= FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Dealer_Returned__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c in :carCodeListLose
+ AND (Dealer_Info_text__c != :accountName
+ OR (Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+ )
+ ORDER BY Name ];
+ Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+ for(Consumable_order_details2__c cod2 :reSet1){
+ otherAgProMap.put(cod2.Bar_Code__c,cod2);
+ }
+ carCodeListLose.clear();
+
+
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(ass.check==true){
+ ass.Diff = ass.countid - ass.Pandian;
+ for(integer i = 0 ; i < ProductCount_Res.size();i++){
+ if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
+ if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)){
+ continue;
+ }else{
+ if(needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)){
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佹湭杩斿搧'));
+ pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佹湭杩斿搧');
+ carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+ continue;
+
+ }
+ if(otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)){
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'));
+ pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��');
+ carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+ continue;
+
+ }
+ if (ProductCount_Res[i].Isoverdue__c == 0) {
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+ pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+ carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+ ass.Diff--;
+ continue;
+ }
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+ pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+ carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+ }
+ }
+ }
+ }else{
+ ass.Pandian = 0;
+ ass.Diff = 0;
+ }
+ }
+ List<Consumable_order_details2__c> showcod2 = new List<Consumable_order_details2__c>();
+ if (pandiandetailsMap.keySet().size() > 0) {
+ showcod2 = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name];
+ }
+ initStandardController();
+ showcod2nid = cod2s();
+ for (Consumable_order_details2__c cod2 : showcod2nid) {
+ codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
+ }
+
+ iSinventory = true;
+ if(codPageRecords.size() > 0) done = true;
+ consumableorderdetailsRecordserrordummy.clear();
+
+ //pandiandetailsList = new list<Consumable_order_details2__c>();
+ pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c,
+ Box_Piece__c,Lose_reason__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name];
+ for(Consumable_order_details2__c codDet : pandiandetailsList){
+ codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
+ }
+ List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
+ for(Consumable_order_details2__c cod2 : pandiandetailsList){
+ pandiandetailsListMid.add(cod2);
+ if(pandiandetailsListMid.size() == 1000){
+ pandiandetailsListShow.add(pandiandetailsListMid);
+ pandiandetailsListMid = new List<Consumable_order_details2__c>();
+ }
+ }
+ if(pandiandetailsListMid.size() > 0){
+ pandiandetailsListShow.add(pandiandetailsListMid);
+ }
+ res.code = 400;
+ res.status = 'fail';
+ res.msg = 'barcode涓虹┖';
+ return res;
+ // return;
+ }
+
+
+
+ //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒�
+ //init();
+ //CHAN-B7J4NB
+ Map<String,String> showproductIdMap = new Map<String,String>();
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece);
+ }
+// ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP));
+ /***************************************************************************/
+ // BarCode鐨勬绱� 鎵�鏈夊湪搴�
+ reSet = [select Id,Consumable_Product__c,Consumable_Product__r.Name__c,
+ Box_Piece__c,Bar_Code_search__c,Isoverdue__c
+ from Consumable_order_details2__c
+ where Bar_Code_search__c in :BarCodeListP
+ AND Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Cancellation_Date__c = null
+ and Bar_Code__c !=null
+ AND Product_Type__c like : sqlagencyProType
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ AND Dealer_Info_text__c = :accountName
+ order by Name];
+ Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
+ // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+ Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
+ // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+ Map<String,ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String,ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅
+ //鐩樼偣鍒扮殑鏄庣粏
+ for(Consumable_order_details2__c rs : reSet){
+ //BarCodeListPandian.add(rs.Bar_Code_search__c);
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){
+ ass.check = true;
+ }
+ }
+
+ barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+ if (rs.Isoverdue__c == 0) {
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+ pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+ if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+ pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+ } else {
+ pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1);
+ }
+ continue;
+ }
+ if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+ pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+ } else {
+ pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1);
+ }
+ }
+
+ // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+ List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
+ Bar_Code_search__c,Dealer_Info_text__c
+ FROM Consumable_order_details2__c
+ WHERE (Dealer_Arrive__c = TRUE
+ or Dealer_Shipment__c= TRUE
+ or Dealer_Saled__c = TRUE)
+ AND Dealer_Returned__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code_search__c in :BarCodeListP
+ AND (Dealer_Info_text__c != :accountName
+ OR (Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+ )
+ ORDER BY Name ];
+ Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+ for(Consumable_order_details2__c cod2 :reSet1){
+ otherAgProMap.put(cod2.Bar_Code__c,cod2);
+ }
+ // 闇�瑕佸叆搴撶殑浜у搧
+ for(Consumable_order_details2__c cod2 : reSet1){
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece){
+ ass.check = true;
+ }
+ }
+ if(!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)){
+ reFindProductList.add(cod2);
+ proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c);
+ }
+ if(!barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c)
+ && otherAgProMap.containsKey(cod2.Bar_Code__c)
+ && (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true
+ || otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true) ){
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'));
+ pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��');
+ }
+ }
+ //瀵诲洖鏄庣粏
+ List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>();
+ productAdjust = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,Lose_reason__c,
+ Asset_Model_No__c,Box_Piece__c,Bar_Code_search__c,Isoverdue__c
+ from Consumable_order_details2__c
+ where Bar_Code_search__c in :BarCodeListP
+ and Bar_Code__c !=null
+ and Lose_Flag__c = true
+ AND Product_Type__c like : sqlagencyProType
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ order by Name];
+
+
+ for (Consumable_order_details2__c rs : productAdjust){
+ // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart
+ if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�' ) {
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'));
+ pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱');
+ carCodeListLose.add(rs.Bar_Code_search__c);
+ continue;
+ }
+ // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){
+ ass.check = true;
+ }
+ }
+ if(!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)){
+ reFindProductList.add(rs);
+ proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c);
+ }
+ if(barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)){
+ continue;
+ }else{
+ barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'瀵诲洖'));
+ pandiandetailsMap.put(rs.Id, '瀵诲洖');
+ consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs));
+ }
+ }
+ if(reFindProductList.size() > 0){
+ Map<String,Product2__c> midMap = new Map<String,Product2__c>();
+ List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>();
+ List<Product2__c> product_Refind = [select Id, Name,Name__c,SFDA_Status__c,Packing_list_manual__c,Asset_Model_No__c
+ from Product2__c
+ WHERE Id in :proIdNotinpage.keySet()];
+ for(Product2__c pro : product_Refind){
+ midMap.put(pro.Id, pro);
+ }
+ for(Integer i = 0 ; i< reFindProductList.size();i++){
+ //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+ if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�'){
+
+ if(newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){
+ ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c).clone();
+ Jstage.countid = 0 ;
+ if(reFindProductList[i].Isoverdue__c == 1){
+ Jstage.limitCount = 0;
+ }
+ Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+ newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+}else{
+ ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c));
+ Jstage.countid = 0 ;
+ if(reFindProductList[i].Isoverdue__c == 1){
+ Jstage.limitCount = 0;
+ }
+ Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+ newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+ }
+ }else if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�'){
+ if(newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){
+ ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(reFindProductList[i].Consumable_product__c+reFindProductList[i].Box_Piece__c).clone();
+ Jstage.countid = 0 ;
+ if(reFindProductList[i].Isoverdue__c == 1){
+ Jstage.limitCount = 0;
+ }
+ Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+ newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+ }else{
+ ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c));
+ Jstage.countid = 0 ;
+ if(reFindProductList[i].Isoverdue__c == 1){
+ Jstage.limitCount = 0;
+ }
+ Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+ newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+ }
+ }
+ }
+ for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){
+ bss.check = true;
+ bss.overlimitCount = bss.countid - bss.limitCount;
+ boxRecords.add(bss);
+ }
+ boxRecords.sort();
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ bss.check = true;
+ bss.overlimitCount = bss.countid - bss.limitCount;
+ }
+ for(ConsumableorderdetailsInfo bss : boxRecords){
+ consumableorderdetailsRecords.add(bss);
+ if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+ //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
+ newMidPieceMap.remove(bss.Prod.Id + '涓�');
+ }
+ }
+ for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+ consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+ }
+ }
+
+ //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(ass.check == true){
+ for(integer i = 0 ; i<ProductCount_Res.size();i++){
+ if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
+ if(barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null){
+ continue;
+ }else{
+ carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
+ ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
+ //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+ //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+ }
+ }
+ }
+ }
+ }
+ //宸茬粡鍑哄簱鐨勪骇鍝�
+ List<Consumable_order_details2__c> reSet2 = [SELECT Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c,Dealer_Info_text__c
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = TRUE
+ AND (Dealer_Shipment__c= TRUE
+ or Dealer_Saled__c = TRUE)
+ AND Dealer_Returned__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code_search__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>();
+ for(Consumable_order_details2__c cod2 :reSet2){
+ needreturnMap.put(cod2.Bar_Code__c,cod2);
+ }
+ //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+ //List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c,
+ // Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
+ // Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
+ // Bar_Code_search__c,Dealer_Info_text__c
+ // FROM Consumable_order_details2__c
+ // WHERE (Dealer_Arrive__c = TRUE
+ // or Dealer_Shipment__c= TRUE
+ // or Dealer_Saled__c = TRUE)
+ // AND Dealer_Returned__c = FALSE
+ // AND Cancellation_Flag__c = FALSE
+ // AND Bar_Code_search__c in :BarCodeListP
+ // AND (Dealer_Info_text__c != :accountName
+ // OR (Dealer_Info_text__c = :accountName
+ // AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+ // )
+ // ORDER BY Name ];
+ //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+ //for(Consumable_order_details2__c cod2 :reSet1){
+ // otherAgProMap.put(cod2.Bar_Code__c,cod2);
+ //}
+ carCodeListLose.clear();
+ //鏈洏鐐瑰埌鐨勪骇鍝�
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(ass.check == true){
+ for(integer i = 0 ; i<ProductCount_Res.size();i++){
+ if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
+ if(barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)){
+ continue;
+ }
+ if (ProductCount_Res[i].Isoverdue__c == 0) {
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+ pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+ if (pandianoverdueCountMap.containsKey(ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c) == false) {
+ pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1);
+ } else {
+ pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, pandianoverdueCountMap.get(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c) + 1);
+ }
+ continue;
+ }
+
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+ pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+ }
+ }
+ // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝�
+ for(Consumable_order_details2__c cod2 : reSet1){
+ if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){
+ if(barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c)
+ && otherAgProMap.containsKey(cod2.Bar_Code__c)
+ && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false
+ && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false ){
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'));
+ pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��');
+ continue;
+ }
+ }
+ }
+ // 闇�瑕佽繑鍝佺殑浜у搧
+ for(Consumable_order_details2__c cod2 : reSet2){
+ if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){
+ if(needreturnMap.containsKey(cod2.Bar_Code__c)){
+ consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'));
+ pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��');
+ continue;
+ }
+ }
+ }
+ }
+ }
+
+ //鏇存柊涓绘槑缁嗗崟
+ if(barCodeListPandianMap.size() > 0){
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(ass.check == true){
+ integer countSum = 0;
+ if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+ countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece);
+ }
+ integer overdueSum = 0;
+ if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+ overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+ }
+ ass.Pandian = countSum;
+ ass.Diff = ass.countid - countSum - overdueSum;
+ ass.refind = 0;
+ }
+ }
+ }else{
+ for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+ if(ass.check == true){
+ integer overdueSum = 0;
+ if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+ overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+ }
+ ass.Diff = ass.countid - ass.Pandian - overdueSum;
+ }
+ }
+ }
+
+
+ //瀵诲洖鍋氭垚
+ for(ConsumableorderdetailsInfo ass :consumableorderdetailsRecords){
+ for(ConsumableorderdetailsInfo adjust :consumableorderdetailsRecordsAdjust){
+ if(ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c){
+ if(reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)){
+ continue;
+ }else {
+ ass.Pandian ++;
+ ass.refind ++;
+ reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c,adjust.orderdetails2.Bar_Code_search__c);
+ }
+ }
+ }
+ }
+ if (pandiandetailsMap.keySet().size() > 0) {
+ List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name];
+ initStandardController();
+ showcod2nid = cod2s();
+
+ }
+ for (Consumable_order_details2__c cod2 : showcod2nid) {
+ codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
+ }
+ if(codPageRecords.size() > 0) done = true;
+ iSinventory = true;
+ consumableorderdetailsRecordserrordummy.clear();
+ pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c,
+ Box_Piece__c,Lose_reason__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name];
+ for(Consumable_order_details2__c codDet : pandiandetailsList){
+ codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
+ }
+ List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
+ for(Consumable_order_details2__c cod2 : pandiandetailsList){
+ pandiandetailsListMid.add(cod2);
+ if(pandiandetailsListMid.size() == 1000){
+ pandiandetailsListShow.add(pandiandetailsListMid);
+ pandiandetailsListMid = new List<Consumable_order_details2__c>();
+ }
+ }
+ if(pandiandetailsListMid.size() > 0){
+ pandiandetailsListShow.add(pandiandetailsListMid);
+ }
+ System.debug('=====>codPageRecords2'+codPageRecords);
+ System.debug('=====>consumableorderdetailsRecords'+consumableorderdetailsRecords);
+ data.put('codPageRecords',JSON.serialize(codPageRecords));
+ data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
+ System.debug('iSinventory===>'+iSinventory);
+ data.put('iSinventory',JSON.serialize(iSinventory));
+ System.debug('pandiandetailsMap===>'+pandiandetailsMap);
+ data.put('pandiandetailsMap',JSON.serialize(pandiandetailsMap));
+
+
+ res.code = 200;
+ res.status = 'Sucess';
+ return res;
+ }
+
+ public static ResponseBodyLWC saveConfirm(Boolean iSinventory,String consumableorderdetailsRecordsLWC) {
+ save(iSinventory,consumableorderdetailsRecordsLWC);
+ // LexInventoryController.oinoi
+ return null;
+ }
+ // 淇濆瓨鎸夐挳
+ @AuraEnabled
+ public static ResponseBodyLWC save(Boolean iSinventory,String consumableorderdetailsRecordsLWC) {
+ List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
+
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂�
+ StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
+ if(!iSinventory){
+ return new ResponseBodyLWC('Error',500, '璇峰厛鐐广�怋arCode褰曞叆銆�', '');
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�'));
+ // return null;
+ }
+ integer Lo = 0;
+ for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){
+ if(header.check==true){
+ Lo++;
+ }
+ }
+ if(Lo == 0){
+ iSinventory = false;
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏'));
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', '');
+ }
+ for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){
+ if(header.check==true){
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + ' '+header.prod.Name__c));
+ //return null;
+ if((header.DiffReason == ''||header.DiffReason ==null)&&header.Diff>0){
+ return new ResponseBodyLWC('Error',500, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�', '');
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�'));
+ // return null;
+ }else if ((header.DiffReason != ''&&header.DiffReason !=null)&&header.Diff==0){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�'));
+ // return null;
+ return new ResponseBodyLWC('Error',500, header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', '');
+ }
+ }
+ }
+ Integer orderDetNo = 1;
+ Savepoint sp = Database.setSavepoint();
+ Consumable_order__c Po = new Consumable_order__c();
+ Po.Name ='*';
+ Po.Order_status__c = '鎵瑰噯';
+ Po.Inventory_date__c = Date.today();
+ Po.Order_type__c = '鐩樼偣';
+ Po.Dealer_Info__c = accountid;
+ Po.Order_ProType__c = agencyProType;
+ Po.RecordTypeid = System.Label.RT_ConOrder_Inventory;
+ try{
+ insert Po;
+ eSetId = Po.id;
+ List<Consumable_order__c> Consumable_order = [SELECT Name FROM Consumable_order__c WHERE id =:Po.id];
+ List<Consumable_orderdetails__c> InsList = New List<Consumable_orderdetails__c>();
+ List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>();
+ List<Consumable_order_details2__c> updListAdjust = New List<Consumable_order_details2__c>();
+ Map<String,String> ErrorName = new Map<String,String>();
+ Map<String,Boolean> CheckTF = new Map<String,Boolean>();
+ for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){
+ if(header.check==true){
+ Consumable_orderdetails__c insPan = new Consumable_orderdetails__c();
+ insPan = new Consumable_orderdetails__c();
+ String str = string.valueOf(orderDetNo);
+ if(str.length() == 1){
+ str = '0' + str;
+ }
+ insPan.Name = Consumable_order[0].Name + '-'+ str;
+ insPan.Consumable_Product__c = header.ProdId;
+ ErrorName.put(insPan.Consumable_Product__c,header.DiffReason);
+ CheckTF.put(insPan.Consumable_product__c,true);
+ insPan.Consumable_order__c = Po.Id;
+ insPan.Lose_reason__c = header.DiffReason;
+ insPan.Diff__c = header.Diff;
+ insPan.Product_Refind__c = header.refind;
+ insPan.inventory_sum__c = header.Pandian;
+ insPan.Count_Sum__c = header.countid;
+ insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
+ orderDetNo ++;
+ InsList.add(insPan);
+ }
+ }
+ if(InsList.size()>0){
+ insert InsList;
+ }
+ List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c,
+ Bar_Code__c,Consumable_Product__r.Name__c,
+ Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+ Bar_Code_search__c
+ FROM Consumable_order_details2__c
+ WHERE Id in :pandiandetailsMap.keySet()
+ order by Name];
+ for(Consumable_order_details2__c cod : showcod2){
+ Consumable_order_details2__c InsDetail = new Consumable_order_details2__c();
+ InsDetail.Id =cod.Id;
+ InsDetail.Consumable_Inventory_order__c = po.Id;
+ InsDetail.Inventory_date__c = Date.today();
+ // 20210224 gzw CHAN-BXF3PG start
+ // if(pandiandetailsMap.get(cod.Id) == '涓㈠け' ){
+ if(pandiandetailsMap.get(cod.Id) == '涓㈠け' && CheckTF.containsKey(cod.Consumable_product__c)){
+ // 20210224 gzw CHAN-BXF3PG end
+ InsDetail.Lose_reason__c = ErrorName.get(cod.Consumable_product__c);
+ InsDetail.Lose_Flag__c = true;
+ }else if(pandiandetailsMap.get(cod.Id) == '瀵诲洖' ){
+ InsDetail.Lose_reason__c = '';
+ InsDetail.Lose_Flag__c = false;
+ }else{
+ continue;
+ }
+ InsListUp.add(InsDetail);
+ }
+ for(Consumable_order_details2__c rs : reSet){
+ rs.Inventory_date__c = Date.today();
+ }
+ if(reSet.size() > 0){
+ update reSet;
+ }
+ if(InsListUp.size()>0){
+ ControllerUtil.updateOrderDetailsSatus(InsListUp);// Commented By DTT - Li Jun for testing 20230407
+ }
+
+ }catch (Exception ex) {
+ Database.rollback(sp);
+ ApexPages.addMessages(ex);
+ return null;
+ }
+ // FIXME impliment BarCodeListAdjust
+ /************************************************************************************************/
+ // return ProS();
+ data.put('eSetId',eSetId);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ //鐩樼偣涓�瑙�
+ public PageReference ProS() {
+ // 杩斿洖鐩樼偣涓�瑙�
+ PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId);
+ ref.setRedirect(true);
+ return ref;
+ }
+ //CSV鍑哄姏
+ public PageReference doClick() {
+ Pagereference pr = page.InventoryCSV;
+ return pr;
+ }
+
+ // Data Bean
+ class ConsumableorderdetailsInfo implements Comparable {
+ public Boolean check { get; set; }
+ public Consumable_orderdetails__c orderdetails1 { get; set; }
+ public Consumable_order_details2__c orderdetails2 { get; set; }
+ public Product2__c Prod { get; set; }
+ public Decimal countid { get; set; }
+ public String ProdId{get;set;}
+ public Decimal Pandian { get; set; }
+ public Decimal Diff { get; set; }
+ public Decimal refind { get; set; }
+ public String DiffReason { get; set; }
+ public Boolean canSelect { get; set; }
+ public Boolean sortBy { get; set; }
+ public Decimal limitCount { get; set; }
+ public Decimal overlimitCount { get; set; }
+ public String boxPiece { get; set; }
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) {
+
+ orderdetails2 = e;
+ Prod = e.Consumable_Product__r;
+ //e.Lose_reason__c = str;
+ DiffReason = str;
+ }
+
+ // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢�
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+ check = false;
+ orderdetails2 = e;
+ Prod = e.Consumable_Product__r;
+ canSelect = true;
+ }
+ public ConsumableorderdetailsInfo(Product2__c e) {
+ check = false;
+ //orderdetails1 = new Consumable_orderdetails__c();
+ Prod = e;
+ canSelect = true;
+ ProdId = string.valueOf(e.id);
+ countid =0;
+ Pandian = 0;
+ refind = 0;
+ Diff = 0;
+ limitCount = 0;
+ overlimitCount = 0;
+ }
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo;
+ Integer returnValue = 0;
+ if (countid > compareToesd.countid ) {
+ returnValue = -1;
+ } else if (countid < compareToesd.countid ) {
+ returnValue = 1;
+ }
+ return returnValue;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexInventoryController.cls-meta.xml b/force-app/main/default/classes/LexInventoryController.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexInventoryController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexSummonsCreatController.cls b/force-app/main/default/classes/LexSummonsCreatController.cls
new file mode 100644
index 0000000..dd50ba6
--- /dev/null
+++ b/force-app/main/default/classes/LexSummonsCreatController.cls
@@ -0,0 +1,2400 @@
+public without sharing class LexSummonsCreatController {
+
+ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
+
+ /*****************妞滅储鐢�******************/
+ //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
+ @AuraEnabled
+ public static String agencyProType { get; set; }
+ public static Consumable_order__c coc { get; set; } // 鐢籿iew鐢紝 鍙兘鏄� 鍑哄簱鎸囩ず鍗曪紝 涔熸湁鍙兘鏄埌璐у崟锛� 涔熸湁鍙兘 绌篿nstance
+ public static User localuser { get; set; }
+ public static String category1 { get; set; }
+ public static Integer noOfRecords { get; set; }
+ //public String category_Goods {get ; set;}
+ public static Boolean cansee { get; set; }
+ public static Integer size { get; set; }
+ //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄�
+ //public static ApexPages.StandardSetController setCon { get; set; }
+ public static Boolean dealerPricesee { get; set; }
+ /*****************鐢婚潰鍒濆鍖栫敤********************************/
+ /******20160313_add**************/
+ public static String IdCheck { get; set; }
+ public static Boolean editAble { get; set; }
+ public static String statusEdit { get; set; }
+ public static String alertMessage { get; set; }
+ public static String SearchDone { get; set; }
+ public static List<String> zaikuId = new List<String>();
+ public static List<String> orderzaikuId = new List<String>();
+ //闄勪欢
+ public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; }
+ public static Boolean getExistarrive() {
+ return (coc.Arrive_Order__c != null);
+ }
+ //鎬讳环鏍艰绠楃粨鏋�
+ @AuraEnabled
+ public static Decimal sumPrice { get; set; }
+ /******20160317_add**************/
+ public static String SummonsFlag { get; set; } // 鏂拌: hidden, 鏇存柊: visible
+ public static String category5 { get; set; }
+ public static String category4 { get; set; }
+ public static String category3 { get; set; }
+ public static List<SelectOption> categoryOptionList { get; set; }
+ public static List<SelectOption> category4OptionList { get; set; }
+ public static List<SelectOption> category5OptionList { get; set; }
+ @AuraEnabled
+ public static Map<String,String> categoryOptionMap { get; set; }
+ @AuraEnabled
+ public static Map<String,String> category4OptionMap { get; set; }
+ @AuraEnabled
+ public static Map<String,String> category5OptionMap { get; set; }
+ /*****************鐢婚潰琛ㄧずBean******************/
+ private static List<ConsumableorderdetailsInfo> consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+ @AuraEnabled
+ public static List<ConsumableorderdetailsInfo> pageRecords { get; set; }
+ public static List<ConsumableorderdetailsInfoLwc> pageRecordsLwc { get; set; }
+ //public List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }
+ public static List<ConsumableorderdetailsInfo> consumableorderdetails2Records { get; set; }
+ public static List<Consumable_order__c> consumableInvoiceRecords { get; set; }
+ private static List<ConsumableorderdetailsInfo> consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ private static List<Attachment> attachmentinfo = new List<Attachment>();
+ public static List<Product2__c> product2Selected = new List<Product2__c>();
+ //閫夋嫨浜у搧size
+ public static Integer consumableorderdetailsCount {
+ get {
+ return pageRecords == null ? 0 : pageRecords.size();
+ }
+ }
+ //娑堣�楀搧鏄庣粏2鏁伴噺
+ public static Integer consumableorderdetails2Count {
+ get {
+ return consumableorderdetails2Records == null ? 0 : consumableorderdetails2Records.size();
+ }
+ }
+ //璁㈣揣鍗曞彿
+ public static String consumableorderId {
+ get {
+ return (coc.Arrive_Order__c);
+ }
+ }
+ //閫夋嫨妗�
+ public static List<SelectOption> provinceOpts { get; set; }
+ @AuraEnabled
+ public static Map<String, String> provinceOptsMap { get; set; }
+ public static String SecondDealer { get; set; }
+ //public List<SelectOption> orderForHospitalOpts { get; set; }
+ public static String HospitalInfo { get; set; }
+ public static String HospitalName { get; set; }
+
+ public static Boolean EditDelCommitBtnDisabled { get; private set; }
+ public static Boolean saveBtnDisabled { get; private set; }
+ public static Boolean SorderBtnDisabled { get; private set; }
+ // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭
+ public static String sortKey { get; set; }
+ public static String preSortKey { get; private set; }
+ public static Boolean sortOrderAsc { get; private set; }
+ public static String[] sortOrder { get; private set; }
+ private static String[] columus = new List<String>{
+ 'Consumable_Product__r.Name',
+ 'Consumable_Product__r.Asset_Model_No__c',
+ 'Consumable_Product__r.Intra_Trade_List_RMB__c',
+ '',
+ '',
+ 'Consumable_Product__r.Category3__c',
+ 'Consumable_Product__r.Category4__c',
+ 'Consumable_Product__r.Category5__c'
+ };
+ private static String[] columus_no = new List<String>{
+ 'Product2__c.Name',
+ 'Product2__c.Asset_Model_No__c',
+ 'Product2__c.Intra_Trade_List_RMB__c',
+ '',
+ '',
+ 'Category3__c',
+ 'Category4__c',
+ 'Category5__c'
+ };
+
+ //鍒拌揣鍗曟槑缁�1
+ private static List<Consumable_Orderdetails__c> consumableorderdetailsSelected = new List<Consumable_Orderdetails__c>();
+ //鍒拌揣鍗曟槑缁�2
+ private static List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = new List<Consumable_order_details2__c>();
+
+ //鍑哄簱鍗曟槑缁�2
+ private static List<Consumable_order_details2__c> consumableorderdetails2RecordsList = new List<Consumable_order_details2__c>();
+ /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/
+ //private String cate1ForSort = null;
+ private static String accountid = null;
+ @AuraEnabled
+ public static String accountName { get; set; }
+
+ // 浜у搧 ID
+ private static String ESetId = '';
+ @AuraEnabled
+ public static String arriveorder { get; set; }
+ private static String userId = '';
+ //private String[] ProidListAll = new String[]{};
+
+ // 鐧诲綍鑰呭伐浣滃湴
+ @AuraEnabled
+ public static String userWorkLocation { get; set; }
+
+ //add by rentx 2021-01-29
+ public static List<SelectOption> outOutPatternOptionList { get; set; }
+ @AuraEnabled
+ public static Map<String, String> outOutPatternOptionMap { get; set; }
+ public static String outOutPattern { get; set; }
+ public static Boolean hasHos { get; set; }
+ @AuraEnabled
+ public static Boolean hasHosPro { get; set; }
+
+ private static Map<String, String> HosProMap = new Map<String, String>();
+ //add by rentx 2021-01-29
+
+ public LexSummonsCreatController() {
+ System.debug('LexSummonsCreatController');
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ // ESetId = ApexPages.currentPage().getParameters().get('esetId');
+ // arriveorder = ApexPages.currentPage().getParameters().get('arriveorder');
+ // statusEdit = ApexPages.currentPage().getParameters().get('KeyWords');
+ provinceOpts = new List<SelectOption>();
+ provinceOptsMap = new Map<String, String>();
+ pageRecords = new List<ConsumableorderdetailsInfo>();
+ consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+ attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetails2Records = new List<ConsumableorderdetailsInfo>();
+ consumableInvoiceRecords = new List<Consumable_order__c>();
+ categoryOptionList = new List<SelectOption>();
+ category4OptionList = new List<SelectOption>();
+ category5OptionList = new List<SelectOption>();
+
+ categoryOptionMap = new Map<String,String>();
+ category4OptionMap = new Map<String,String>();
+ category5OptionMap = new Map<String,String>();
+
+ outOutPatternOptionMap = new Map<String, String>();
+ outOutPatternOptionMap.put('', '-鏃�-');
+ outOutPatternOptionMap.put('ishos', '鍖婚櫌鐗逛环浜у搧');
+ outOutPatternOptionMap.put('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�');
+
+ outOutPatternOptionList.add(new SelectOption('', '-鏃�-'));
+ outOutPatternOptionList.add(new SelectOption('ishos', '鍖婚櫌鐗逛环浜у搧'));
+ outOutPatternOptionList.add(new SelectOption('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�'));
+ HospitalName = '';
+ }
+
+ public static void firstInit(String ESetidJs){
+ System.debug('enter firstInit');
+ ESetid = ESetidJs;
+ System.debug('ESetid = ' + ESetid);
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ provinceOpts = new List<SelectOption>();
+ provinceOptsMap = new Map<String, String>();
+ pageRecords = new List<ConsumableorderdetailsInfo>();
+ consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+ attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetails2Records = new List<ConsumableorderdetailsInfo>();
+ consumableInvoiceRecords = new List<Consumable_order__c>();
+ categoryOptionList = new List<SelectOption>();
+ category4OptionList = new List<SelectOption>();
+ category5OptionList = new List<SelectOption>();
+
+ categoryOptionMap = new Map<String,String>();
+ category4OptionMap = new Map<String,String>();
+ category5OptionMap = new Map<String,String>();
+
+ outOutPatternOptionMap = new Map<String, String>();
+ outOutPatternOptionMap.put('', '-鏃�-');
+ outOutPatternOptionMap.put('ishos', '鍖婚櫌鐗逛环浜у搧');
+ outOutPatternOptionMap.put('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�');
+
+ // outOutPatternOptionList.add(new SelectOption('', '-鏃�-'));
+ // outOutPatternOptionList.add(new SelectOption('ishos', '鍖婚櫌鐗逛环浜у搧'));
+ // outOutPatternOptionList.add(new SelectOption('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�'));
+ HospitalName = '';
+ }
+
+ // 鐢婚潰鍒濆鍖�
+ @AuraEnabled
+ public static ResponseBodyLWC init(String ESetidJs) {
+ // try {
+ firstInit(ESetidJs);
+ arriveorder = '';
+ HospitalName = '';
+ provinceOpts = new List<SelectOption>();
+ provinceOptsMap = new Map<String, String>();
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ sortKey = '1';
+ preSortKey = '1';
+ sortOrderAsc = false;
+ sortOrder = new String[8];
+ sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
+ //cate1ForSort = '';
+ sumPrice = 0;
+ IdCheck = EsetId;
+ if (ESetId != null && ESetId != '' && (statusEdit == '' || statusEdit == null)) {
+ editAble = false;
+ } else if ((ESetId == null || ESetId == '') && (statusEdit == '' || statusEdit == null)) {
+ editAble = true;
+ } else if (ESetId != null && ESetId != '' && statusEdit != '' && statusEdit != null) {
+ editAble = true;
+ }
+ userId = UserInfo.getUserId();
+ localuser = [SELECT id, State_Hospital__c FROM User WHERE id = :UserInfo.getUserId()];
+ //userId = '00510000005QO75';
+ user Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId];
+ accountid = Useracc.accountid;
+ userWorkLocation = Useracc.Work_Location__c;
+ agencyProType = Useracc.UserPro_Type__c;
+ if (String.isBlank(Useracc.UserPro_Type__c)) {
+ agencyProType = 'ET';
+ }
+ Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
+ accountName = accountInfo.Name;
+ //coc.Order_date__c = Date.today();
+ list<Dealer_elationship__c> Dealerelationship = new List<Dealer_elationship__c>();
+ Dealerelationship = [
+ SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
+ FROM Dealer_elationship__c
+ WHERE Dealer_principal__c = :accountid
+ ];
+
+ List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>();
+ AgencyHospitalLink = [SELECT Id, Hospital__c, Hospital__r.Name FROM Agency_Hospital_Link__c WHERE Agency__c = :accountid];
+
+ //add by rentx 2021-3-1 start
+ //鍒ゆ柇褰撳墠缁忛攢鍟嗕笅鏄惁鏈夌壒浠峰尰闄�
+ List<hospitalprice__c> hlist = [SELECT id, product__c FROM hospitalprice__c WHERE account__c = :accountid];
+ if (hlist == null || hlist.size() == 0) {
+ hasHos = false;
+ } else {
+ for (hospitalprice__c hp : hlist) {
+ HosProMap.put(hp.product__c, '');
+ }
+ hasHos = true;
+ }
+ //add by rentx 2021-3-1 end
+
+ saveBtnDisabled = false;
+ SorderBtnDisabled = false;
+ String sqlagencyProType = '%' + agencyProType + '%';
+ coc = new Consumable_order__c();
+ consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+ Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
+ //add by rentx 2021-01-29
+ Map<String, ConsumableorderdetailsInfo> MidMap2 = new Map<String, ConsumableorderdetailsInfo>();
+ //add by rentx 2021-01-29
+
+ List<AggregateResult> orderdetailCount = [
+ SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c != NULL
+ AND Isoverdue__c = 1
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ GROUP BY Consumable_Product__c, Box_Piece__c
+ ];
+ for (AggregateResult orderdetail : orderdetailCount) {
+ zaikuId.add(String.valueOf(orderdetail.get('cpc')));
+ }
+ List<Consumable_order_details2__c> CountDel = [
+ SELECT
+ Id,
+ Bar_Code__c,
+ Name,
+ Inventory_date__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Recordtypeid,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ //add by rentx 2020-11-27 start
+ hospitalSpecialOffer__c
+ //add by rentx 2020-11-27 end
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Dealer_Returned__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c != NULL
+ AND Isoverdue__c = 1
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Dealer_Info_text__c = :accountName
+ ];
+ // 鏂拌
+ if (ESetId == null || ESetId == '') {
+ SummonsFlag = 'hidden';
+ String msoql = makeSoqlinventory();
+ initStandardController(msoql);
+ product2Selected = Database.query(msoql);
+ //product2Selected = product2s();
+ if (String.isBlank(arriveorder)) {
+ EditDelCommitBtnDisabled = true;
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
+ }
+ for (Integer i = 0; i < CountDel.size(); i++) {
+ String str = '';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ str = 'isHos';
+ } else {
+ str = 'notHos';
+ }
+ //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+ if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+ //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+ if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
+ ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ } else {
+ //midmap2涓病鏈夊搴旂殑浜у搧
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ }
+ }
+ /*//鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c);
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Box_Piece__c == '鐩�'){
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ }else if(CountDel[i].Box_Piece__c == '涓�'){
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ }else{
+ Jstage.hospitalSpecialOffer = false;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap.put(CountDel[i].Consumable_Product__c+str, Jstage);
+ }*/
+ }
+
+ //update by rentx 2021-01-29 end
+
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+ //update by rentx 2021-01-29
+ // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+ for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+ //update by rentx 2021-01-29
+ //if(bss.allnumber>0){
+ bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+ consumableorderdetailsSelectRecords.add(bss);
+ //}
+ }
+
+ Integer ishosnum = 0;
+ for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
+ ass.sortBy = sortOrderAsc;
+ //add by rentx 2021-3-10
+ if (ass.hospitalSpecialOffer) {
+ ishosnum = ishosnum + 1;
+ }
+ }
+ if (ishosnum > 0) {
+ hasHosPro = true;
+ } else {
+ hasHosPro = false;
+ }
+ consumableorderdetailsSelectRecords.sort();
+ //add by rentx
+ noOfRecords = consumableorderdetailsSelectRecords.size();
+ //add by rentx
+ System.debug('makepagerecords1');
+ makepagerecords();
+ //listCut();
+ } else {
+ if (statusEdit == '' || statusEdit == null) {
+ editAble = false;
+ } else if (statusEdit != '' && statusEdit != null) {
+ editAble = true;
+ }
+ // upadte start by vivek 2019-7-15
+ // coc = [SELECT Id,Name,Summons_Order_type__c,SummonsStatus_c__c,Order_ForDealerText__c,
+ // Dealer_Info__c,Order_ForDealer__c,Order_ForDealer__r.Name,Order_ForDealerTextID__c,
+ // Order_ForHospital__c,SummonsForDirction__c,Order_date__c,Arrive_Order__c,
+ // Order_status__c,Shipment_total_amount__c,Offers_Price__c,
+ // Billed_Status__c,ShipmentAccount__c,Order_Dealer_Info__c,Order_ForCustomerText__c,ConInvoice_Code__c,Onchange_order__c
+ // FROM Consumable_order__c
+ // WHERE Id =:arriveorder AND Order_Owner_WorkLocal__c =: userWorkLocation
+ // AND recordtypeid = :System.Label.RT_ConOrder_Arrive];
+ coc = [
+ SELECT
+ Id,
+ Name,
+ Summons_Order_type__c,
+ NoConfirmedPrice__c,
+ SummonsStatus_c__c,
+ Order_ForDealerText__c,
+ Dealer_Info__c,
+ Order_ForDealer__c,
+ Order_ForDealer__r.Name,
+ Order_ForDealerTextID__c,
+ Order_ForHospital__c,
+ SummonsForDirction__c,
+ Order_date__c,
+ Arrive_Order__c,
+ Order_status__c,
+ Shipment_total_amount__c,
+ Offers_Price__c,
+ Billed_Status__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ Order_ForCustomerText__c,
+ ConInvoice_Code__c,
+ Onchange_order__c,
+ OutPattern__c
+ FROM Consumable_order__c
+ WHERE
+ Id = :arriveorder
+ AND Order_Owner_WorkLocal__c = :userWorkLocation
+ AND recordtypeid = :System.Label.RT_ConOrder_Arrive
+ ];
+ // update end by vivek 2019-7-15
+ //鏄庣粏1鑾峰彇
+ consumableorderdetailsSelected = [
+ SELECT
+ Id,
+ Dealer_Custom_Price__c,
+ Delivery_List_RMB__c,
+ Consumable_Product__r.Name__c,
+ Name,
+ Consumable_order__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Shipment_Count__c,
+ Consumable_Product__r.Intra_Trade_List_RMB__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Sum_of_money__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ Consumable_Product__r.SFDA_Status__c,
+ Consumable_count__c,
+ Invoiced_Procount__c,
+ RrturnPro_count__c,
+ InvoiceProNot_count__c,
+ //Unitprice_To_agency__c,
+ Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+ Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :coc.Arrive_Order__c
+ ORDER BY Name
+ ];
+ for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
+ orderzaikuId.add(cdc1.Consumable_Product__c);
+ }
+ msoql = makeSoqlorderdet();
+ product2Selected = Database.query(msoql);
+ size = product2Selected.size();
+ initStandardController(msoql);
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
+ }
+ //update by rentx 2021-01-29
+ /*for(Integer i = 0 ; i< CountDel.size();i++){
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c);
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Box_Piece__c == '鐩�'){
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ }else if(CountDel[i].Box_Piece__c == '涓�'){
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap.put(CountDel[i].Consumable_Product__c, Jstage);
+ }
+
+ }*/
+ for (Integer i = 0; i < CountDel.size(); i++) {
+ String str = '';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ str = 'isHos';
+ } else {
+ str = 'notHos';
+ }
+ //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+ if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+ //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+ if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
+ ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ } else {
+ //midmap2涓病鏈夊搴旂殑浜у搧
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ }
+ }
+ }
+
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+ //update by rentx 2021-01-29
+ // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+ for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+ //update by rentx 2021-01-29
+ bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+ consumableorderdetailsSelectRecords.add(bss);
+ }
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'test11111' + consumableorderdetailsSelected.size()));
+ //return;
+
+ Integer ishosnum = 0;
+ for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
+ ass.sortBy = sortOrderAsc;
+ for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
+ cdc1.Shipment_Count__c = cdc1.Consumable_count__c;
+ if (ass.prod.Id == cdc1.Consumable_Product__c) {
+ ass.check = true;
+ ass.orderdetails1 = cdc1;
+ }
+ }
+ if (ass.hospitalSpecialOffer == true) {
+ ishosnum = ishosnum + 1;
+ }
+ }
+ if (ishosnum > 0) {
+ hasHosPro = true;
+ } else {
+ hasHosPro = false;
+ }
+
+ consumableorderdetailsSelectRecords.sort();
+ //add by rentx
+ noOfRecords = consumableorderdetailsSelectRecords.size();
+ //add by rentx
+ System.debug('makepagerecords2');
+ makepagerecords();
+ consumablearriveproductdetailsSelected = [
+ SELECT
+ Id,
+ Name,
+ Intra_Trade_List_RMB__c,
+ Asset_Model_No__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Consumable_Product__r.Name__c,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Sterilization_limit__c,
+ Deliver_date__c,
+ Bar_Code__c,
+ Arrive_date__c,
+ Send_Date__c,
+ Consumable_order_minor__r.Name,
+ Consumable_order_minor__c,
+ Dealer_Arrive__c,
+ Delivery_List_RMB__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ //add by rentx start
+ hospitalSpecialOffer__c
+ //add by rentx end
+ FROM Consumable_order_details2__c
+ WHERE
+ Consumable_order_minor__c = :coc.Arrive_Order__c
+ AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
+ AND Dealer_Arrive__c = TRUE
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
+ if (
+ consumablearriveproductdetailsSelected[i].hospitalSpecialOffer__c &&
+ HosProMap.containsKey(consumablearriveproductdetailsSelected[i].Consumable_product__c)
+ ) {
+ coc.OutPattern__c = true;
+ }
+ consumableproductdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
+ }
+ }
+ }
+ // 鏇存柊銆�
+ else {
+ SummonsFlag = 'visible';
+ // update start by vivek 2019-7-15 add 鈥淣oConfirmedPrice__c鈥� in select
+ consumableInvoiceRecords = [
+ SELECT Id, Name, Invoice_Date__c, NoConfirmedPrice__c, Invoice_total_amount__c, Invoice_status__c
+ FROM Consumable_order__c
+ WHERE
+ Id IN (SELECT Invoice_Code_link__c FROM Consumable_order_LinkTable__c WHERE Outboundorder_Code_link__c = :ESetId)
+ AND Invoice_status__c != '鑽夋涓�'
+ ];
+
+ coc = [
+ SELECT
+ Id,
+ Name,
+ Summons_Order_type__c,
+ NoConfirmedPrice__c,
+ SummonsStatus_c__c,
+ Order_ForDealerText__c,
+ Dealer_Info__c,
+ Order_ForDealer__c,
+ Order_ForDealer__r.Name,
+ Order_ForDealerTextID__c,
+ Order_ForHospital__c,
+ SummonsForDirction__c,
+ Order_date__c,
+ Arrive_Order__c,
+ Order_status__c,
+ Shipment_total_amount__c,
+ Offers_Price__c,
+ Billed_Status__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ Order_ForCustomerText__c,
+ ConInvoice_Code__c,
+ Onchange_order__c,
+ OutPattern__c
+ FROM Consumable_order__c
+ WHERE Id = :ESetId AND Order_Owner_WorkLocal__c = :userWorkLocation AND Order_type__c = '浼犵エ'
+ ];
+ // update start by vivek 2019-7-15
+ if (getExistarrive()) {
+ arriveorder = coc.Arrive_Order__c;
+ }
+ // 鍒拌揣璁㈠崟鏉ョ殑鏃跺��
+ if (getExistarrive()) {
+ if (editAble) {
+ alertMessage = '鍒拌揣璁㈠崟鐩存帴鍑哄簱锛屽嚭搴撳崟鏄庣粏涓嶅彲缂栬緫銆�';
+ }
+ if (coc.SummonsStatus_c__c == '宸叉彁浜�' || coc.SummonsStatus_c__c == '鎵瑰噯') {
+ system.debug('coc.SummonsStatus_c__c : ' + coc.SummonsStatus_c__c);
+ saveBtnDisabled = true;
+ SorderBtnDisabled = true;
+ EditDelCommitBtnDisabled = false;
+ }
+ //鍖婚櫌浜岀骇缁忛攢鍟嗗垎绫�
+ Integer io = 0;
+ while (io < Dealerelationship.size()) {
+ if (coc.Order_ForDealer__c == Dealerelationship[io].Dealer_subordinate__c) {
+ SecondDealer = Dealerelationship[io].Dealer_subordinate__c;
+ coc.Order_ForDealer__c = null;
+ io = io + Dealerelationship.size();
+ }
+ io++;
+ }
+
+ Integer ik = 0;
+ while (ik < AgencyHospitalLink.size()) {
+ if (coc.Order_ForHospital__c == AgencyHospitalLink[ik].Hospital__c) {
+ HospitalInfo = AgencyHospitalLink[ik].Hospital__c;
+ HospitalName = AgencyHospitalLink[ik].Hospital__r.Name;
+ coc.Order_ForHospital__c = null;
+ ik = ik + AgencyHospitalLink.size();
+ }
+ ik++;
+ }
+ //鍑哄簱鍗曟槑缁�1鍙栧緱
+ consumableorderdetailsSelected = [
+ SELECT
+ Id,
+ Dealer_Custom_Price__c,
+ Delivery_List_RMB__c,
+ Consumable_Product__r.Name__c,
+ Consumable_Product__r.SFDA_Status__c,
+ Name,
+ Consumable_order__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Shipment_Count__c,
+ Consumable_Product__r.Intra_Trade_List_RMB__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Shipment_amount__c,
+ //Unitprice_To_agency__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ Invoiced_Procount__c,
+ RrturnPro_count__c,
+ InvoiceProNot_count__c,
+ Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+ Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,
+ isOutPattern__c
+ FROM Consumable_orderdetails__c
+ WHERE Consumable_order__c = :ESetId AND Consumable_order__r.Order_Owner_WorkLocal__c = :userWorkLocation
+ ORDER BY Name
+ ];
+ Map<String, Consumable_Orderdetails__c> cocMap = new Map<String, Consumable_Orderdetails__c>();
+
+ for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
+ sumPrice += cdc1.Shipment_amount__c;
+ orderzaikuId.add(cdc1.Consumable_Product__c);
+ //add by rentx 2021-2-26
+ String tempId = cdc1.Consumable_product__c;
+ if (cdc1.isOutPattern__c) {
+ cocMap.put(tempId + 'ishos', cdc1);
+ } else {
+ cocMap.put(tempId + 'nothos', cdc1);
+ }
+ //add by rentx 2021-2-26
+ }
+ String msoql = makeSoqlorderdet();
+ product2Selected = Database.query(msoql);
+ size = product2Selected.size();
+ initStandardController(msoql);
+
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
+ }
+ //update by rentx 2021-01-29
+ /*for(Integer i = 0 ; i< CountDel.size();i++){
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c);
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Box_Piece__c == '鐩�'){
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ }else if(CountDel[i].Box_Piece__c == '涓�'){
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap.put(CountDel[i].Consumable_Product__c, Jstage);
+ }
+ }*/
+
+ for (Integer i = 0; i < CountDel.size(); i++) {
+ String str = '';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ str = 'isHos';
+ } else {
+ str = 'notHos';
+ }
+ //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+ if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+ //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+ if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
+ ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ } else {
+ //midmap2涓病鏈夊搴旂殑浜у搧
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ }
+ }
+ }
+ //update by rentx 2021-01-29
+ consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+ //update by rentx 2021-01-29
+ // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+ for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+ //update by rentx 2021-01-29
+
+ //if(bss.allnumber > 0){
+ //bss.UnitpriceToagency = bss.orderdetails1.Unitprice_To_agency__c == null || bss.orderdetails1.Unitprice_To_agency__c == 0 ? '' :bss.orderdetails1.Unitprice_To_agency__c.format();
+ bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+
+ //update by rentx 2021-2-26 start
+ if (cocMap.containsKey(bss.Prod.Id + 'ishos') && bss.hospitalSpecialOffer == true) {
+ consumableorderdetailsSelectRecords.add(bss);
+ } else if (cocMap.containsKey(bss.Prod.Id + 'nothos') && bss.hospitalSpecialOffer == false) {
+ consumableorderdetailsSelectRecords.add(bss);
+ }
+ //update by rentx 2021-2-26 end
+ // consumableorderdetailsSelectRecords.add(bss);
+ //}
+ }
+ Integer ishosnum = 0;
+ for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
+ for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
+ //update by rentx 2012-3-1 start
+ // if(ass.prod.Id == cdc1.Consumable_Product__c){
+ // ass.check = true;
+ // ass.orderdetails1 = cdc1;
+ // }
+ if (ass.Prod.Id == cdc1.Consumable_Product__c && ass.hospitalSpecialOffer == cdc1.isOutPattern__c) {
+ ass.check = true;
+ ass.orderdetails1 = cdc1;
+ }
+ //update by rentx 2012-3-1 end
+ }
+ if (ass.hospitalSpecialOffer == true) {
+ ishosnum = ishosnum + 1;
+ }
+ }
+ if (ishosnum > 0) {
+ hasHosPro = true;
+ } else {
+ hasHosPro = false;
+ }
+
+ //add by rentx
+ noOfRecords = consumableorderdetailsSelectRecords.size();
+ //add by rentx
+ System.debug('makepagerecords3');
+ makepagerecords();
+ //listCut();
+ // 娑堣�楀搧鏄庣粏2銈掑彇寰�
+ consumableorderdetails2RecordsList = [
+ SELECT
+ Id,
+ Name,
+ SerialLotNo__c,
+ Consumable_Product__r.Name__c,
+ TracingCode__c,
+ Sterilization_limit__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Return_date__c,
+ Invoice_Date__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ //add by rentx start
+ hospitalSpecialOffer__c
+ //add by rentx end
+ FROM Consumable_order_details2__c
+ WHERE Consumable_ZS_order__c = :ESetId
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < consumableorderdetails2RecordsList.size(); i++) {
+ consumableorderdetails2Records.add(new ConsumableorderdetailsInfo(consumableorderdetails2RecordsList[i]));
+ }
+ //浜у搧鏄庣粏鍙栧緱
+ consumablearriveproductdetailsSelected = [
+ SELECT
+ Id,
+ Delivery_List_RMB__c,
+ Consumable_Product__r.Name__c,
+ Name,
+ Consumable_Product__r.SFDA_Status__c,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Sterilization_limit__c,
+ Consumable_Product__r.Intra_Trade_List_RMB__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ //add by rentx start
+ hospitalSpecialOffer__c
+ //add by rentx end
+ FROM Consumable_order_details2__c
+ WHERE Consumable_ZS_order__c = :ESetId
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
+ consumableproductdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
+ }
+ }
+ // 涓嶆槸鍒拌揣璁㈠崟鏉ョ殑鏃跺��
+ else {
+ if (coc.SummonsStatus_c__c == '宸叉彁浜�' || coc.SummonsStatus_c__c == '鎵瑰噯') {
+ system.debug('coc.SummonsStatus_c__c : ' + coc.SummonsStatus_c__c);
+ saveBtnDisabled = true;
+ SorderBtnDisabled = true;
+ EditDelCommitBtnDisabled = false;
+ }
+ //鍖婚櫌浜岀骇缁忛攢鍟嗗垎绫�
+ Integer io = 0;
+ while (io < Dealerelationship.size()) {
+ if (coc.Order_ForDealer__c == Dealerelationship[io].Dealer_subordinate__c) {
+ SecondDealer = Dealerelationship[io].Dealer_subordinate__c;
+ coc.Order_ForDealer__c = null;
+ io = io + Dealerelationship.size();
+ }
+ io++;
+ }
+ Integer ik = 0;
+ while (ik < AgencyHospitalLink.size()) {
+ if (coc.Order_ForHospital__c == AgencyHospitalLink[ik].Hospital__c) {
+ HospitalInfo = AgencyHospitalLink[ik].Hospital__c;
+ HospitalName = AgencyHospitalLink[ik].Hospital__r.Name;
+ coc.Order_ForHospital__c = null;
+ ik = ik + AgencyHospitalLink.size();
+ }
+ ik++;
+ }
+ // 娑堣�楀搧鏄庣粏1銈掑彇寰�
+ consumableorderdetailsSelected = [
+ SELECT
+ Id,
+ Dealer_Custom_Price__c,
+ Delivery_List_RMB__c,
+ Consumable_Product__r.Name__c,
+ Consumable_Product__r.SFDA_Status__c,
+ Name,
+ Consumable_order__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Shipment_Count__c,
+ Consumable_Product__r.Intra_Trade_List_RMB__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Shipment_amount__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ Invoiced_Procount__c,
+ RrturnPro_count__c,
+ //Unitprice_To_agency__c,
+ InvoiceProNot_count__c,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+ Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,
+ isOutPattern__c
+ FROM Consumable_orderdetails__c
+ WHERE Consumable_order__c = :ESetId AND Consumable_order__r.Order_Owner_WorkLocal__c = :userWorkLocation
+ ORDER BY Name
+ ];
+ //add by rentx 202-2-26
+ Map<String, Consumable_Orderdetails__c> cocMap = new Map<String, Consumable_Orderdetails__c>();
+
+ for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
+ sumPrice += cdc1.Shipment_amount__c;
+ orderzaikuId.add(cdc1.Consumable_Product__c);
+ //add by rentx 2021-2-26
+ String tempId = cdc1.Consumable_product__c;
+ if (cdc1.isOutPattern__c) {
+ cocMap.put(tempId + 'ishos', cdc1);
+ } else {
+ cocMap.put(tempId + 'nothos', cdc1);
+ }
+ //add by rentx 2021-2-26
+ }
+
+ String msoql = makeSoqlorderdet();
+ product2Selected = Database.query(msoql);
+ size = product2Selected.size();
+ initStandardController(msoql);
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
+ }
+
+ for (Integer i = 0; i < CountDel.size(); i++) {
+ String str = '';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ str = 'isHos';
+ } else {
+ str = 'notHos';
+ }
+ //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+ if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+ //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+ if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
+ ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ } else {
+ //midmap2涓病鏈夊搴旂殑浜у搧
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
+ Jstage.allnumber = Jstage.allnumber + 1;
+ if (CountDel[i].Box_Piece__c == '鐩�') {
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ } else if (CountDel[i].Box_Piece__c == '涓�') {
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ } else {
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+ }
+ }
+ }
+
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+ //update by rentx 2021-01-29
+ // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+ for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+ //update by rentx 2021-01-29
+
+ //if(bss.allnumber>0){
+ bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+
+ //update by rentx 2021-2-26 start
+ if (cocMap.containsKey(bss.Prod.Id + 'ishos') && bss.hospitalSpecialOffer == true) {
+ consumableorderdetailsSelectRecords.add(bss);
+ } else if (cocMap.containsKey(bss.Prod.Id + 'nothos') && bss.hospitalSpecialOffer == false) {
+ consumableorderdetailsSelectRecords.add(bss);
+ }
+ // consumableorderdetailsSelectRecords.add(bss);
+ //}
+ }
+ // return null;
+ Integer ishosnum = 0;
+ for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
+ ass.sortBy = sortOrderAsc;
+ for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
+ //update by rentx 2012-3-1 start
+ // if(ass.prod.Id == cdc1.Consumable_Product__c){
+ // ass.check = true;
+ // ass.orderdetails1 = cdc1;
+ // }
+ if (ass.Prod.Id == cdc1.Consumable_Product__c && ass.hospitalSpecialOffer == cdc1.isOutPattern__c) {
+ ass.check = true;
+ ass.orderdetails1 = cdc1;
+ }
+ //update by rentx 2012-3-1 end
+ }
+
+ if (ass.hospitalSpecialOffer == true) {
+ ishosnum = ishosnum + 1;
+ }
+ }
+
+ if (ishosnum > 0) {
+ hasHosPro = true;
+ } else {
+ hasHosPro = false;
+ }
+
+ consumableorderdetailsSelectRecords.sort();
+ //add by rentx
+ noOfRecords = consumableorderdetailsSelectRecords.size();
+ //add by rentx
+ System.debug('makepagerecords4');
+ makepagerecords();
+
+ // 娑堣�楀搧鏄庣粏2銈掑彇寰�
+ consumableorderdetails2RecordsList = [
+ SELECT
+ Id,
+ Name,
+ SerialLotNo__c,
+ Consumable_Product__r.Name__c,
+ TracingCode__c,
+ Sterilization_limit__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Return_date__c,
+ Invoice_Date__c,
+ Box_Piece__c,
+ ProductPacking_list_manual__c,
+ //add by rentx start
+ hospitalSpecialOffer__c
+ //add by rentx end
+
+ FROM Consumable_order_details2__c
+ WHERE Consumable_ZS_order__c = :ESetId
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < consumableorderdetails2RecordsList.size(); i++) {
+ consumableorderdetails2Records.add(new ConsumableorderdetailsInfo(consumableorderdetails2RecordsList[i]));
+ }
+ }
+ }
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'test++++++' + SecondDealer));
+ if (SecondDealer == null || SecondDealer == '') {
+ provinceOpts.add(new SelectOption('', '-鏃�-'));
+ provinceOptsMap.put('', '-鏃�-');
+ for (Integer i = 0; i < Dealerelationship.size(); i++) {
+ provinceOpts.add(
+ new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
+ );
+ provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
+ }
+ } else {
+ provinceOpts.add(new SelectOption('', '-鏃�-'));
+ provinceOptsMap.put('', '-鏃�-');
+ for (Integer i = 0; i < Dealerelationship.size(); i++) {
+ if (Dealerelationship[i].Dealer_subordinate__c == SecondDealer) {
+ provinceOpts.add(
+ new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
+ );
+ provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
+ }
+ }
+ for (Integer i = 0; i < Dealerelationship.size(); i++) {
+ if (Dealerelationship[i].Dealer_subordinate__c != SecondDealer) {
+ provinceOpts.add(
+ new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
+ );
+ provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
+ }
+ }
+ }
+
+ Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe();
+ cansee = dfr.isAccessible();
+ Schema.DescribeFieldResult dealerPrice = Consumable_orderdetails__c.Dealer_Custom_Price__c.getDescribe();
+ dealerPricesee = dealerPrice.isAccessible();
+ // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
+ // makeMessage();
+ //闄勪欢
+ attachmentinfo = [SELECT Id, Name, OwnerId FROM Attachment WHERE parentid = :ESetId];
+ if (attachmentinfo.size() > 0) {
+ for (Integer i = 0; i < attachmentinfo.size(); i++) {
+ attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i]));
+ }
+ }
+ AggregateResult[] categoryList = [
+ SELECT Count(id), Category3_text__c c3c
+ FROM Product2__c
+ WHERE Category3_text__c != NULL
+ GROUP BY Category3_text__c
+ ];
+
+ categoryOptionList = new List<SelectOption>();
+ categoryOptionList.add(new SelectOption('', '-鏃�-'));
+ categoryOptionMap = new Map<String,String>();
+ categoryOptionMap.put('', '-鏃�-');
+ for (AggregateResult category3Search : categoryList) {
+ String deliverycnt = String.valueOf(category3Search.get('c3c'));
+ categoryOptionList.add(new SelectOption(deliverycnt, deliverycnt));
+ categoryOptionMap.put(deliverycnt, deliverycnt);
+ }
+
+ category4OptionList = new List<SelectOption>();
+ category4OptionList.add(new SelectOption('', '-鏃�-'));
+ category4OptionMap = new Map<String,String>();
+ category4OptionMap.put('', '-鏃�-');
+ /*for(AggregateResult category4Search : category4List) {
+ String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
+ category4OptionList.add(new SelectOption(deliverycnt4,deliverycnt4));
+ }*/
+
+ category5OptionList = new List<SelectOption>();
+ category5OptionList.add(new SelectOption('', '-鏃�-'));
+ category5OptionMap = new Map<String,String>();
+ category5OptionMap.put('', '-鏃�-');
+
+
+ Boolean Existarrive = (coc.Arrive_Order__c != null);
+ String ConsumableOut_report = System.Label.ConsumableOut_report;
+ System.debug('consumableproductdetailsRecords = ' + consumableproductdetailsRecords);
+ data.put('ConsumableOut_report','ConsumableOut_report');
+ data.put('accountid',accountid);
+ data.put('consumableproductdetailsRecords',consumableproductdetailsRecords);
+ data.put('agencyProType',agencyProType);
+ data.put('accountName',accountName);
+ data.put('userWorkLocation',userWorkLocation);
+ data.put('categoryOptionMap',categoryOptionMap);
+ data.put('category4OptionMap',category4OptionMap);
+ data.put('category5OptionMap',category5OptionMap);
+ data.put('outOutPatternOptionMap',outOutPatternOptionMap);
+ data.put('hasHosPro',hasHosPro);
+ data.put('Existarrive',Existarrive);
+ data.put('sumPrice',sumPrice);
+ data.put('HospitalName', HospitalName);
+ data.put('provinceOptsMap', provinceOptsMap);
+ data.put('SummonsFlag', SummonsFlag);
+ data.put('EditDelCommitBtnDisabled', EditDelCommitBtnDisabled);
+ data.put('EditAble', EditAble);
+ data.put('coc', coc);
+ data.put('pageRecords', pageRecords);
+ data.put('arriveorder',arriveorder);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ // } catch (Exception e) {
+ // return new ResponseBodyLWC('Error',500, e.getMessage(), '');
+ // }
+ }
+
+ // 妫�绱�
+ @AuraEnabled
+ public static ResponseBodyLWC searchConsumableorderdetails(String agencyProTypeLwc,String accountNameLwc,String userWorkLocationLwc,String outOutPattern,String category1,String category3,String category4,String category5,Boolean editAbleLwc,List<ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc,List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,String arriveorderLwc) {
+ consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
+ pageRecordsLwc = pageRecordsLwcLwc;
+ System.debug('pageRecordsLwc = ' + pageRecordsLwc);
+ arriveorder = arriveorderLwc;
+ accountName = accountNameLwc;
+ userWorkLocation = userWorkLocationLwc;
+ agencyProType = agencyProTypeLwc;
+ String sqlagencyProType = '%' + agencyProTypeLwc + '%';
+ List<AggregateResult> orderdetailCount = [
+ SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
+ FROM Consumable_order_details2__c
+ WHERE
+ Dealer_Arrive__c = TRUE
+ AND Dealer_Shipment__c = FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Lose_Flag__c = FALSE
+ AND Cancellation_Flag__c = FALSE
+ AND Bar_Code__c != NULL
+ AND Isoverdue__c = 1
+ AND Product_Type__c LIKE :sqlagencyProType
+ AND Dealer_Info_text__c = :accountNameLwc
+ AND Arrive_Owner_Work_Location__c = :userWorkLocationLwc
+ GROUP BY Consumable_Product__c, Box_Piece__c
+ ];
+ for (AggregateResult orderdetail : orderdetailCount) {
+ zaikuId.add(String.valueOf(orderdetail.get('cpc')));
+ }
+ editAble = editAbleLwc;
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ SearchDone = 'SearchDone';
+ Map<String, String> selectedIdMap = new Map<String, String>();
+ List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ Map<String,ConsumableorderdetailsInfo> MidMap = new Map<String,ConsumableorderdetailsInfo>();
+ //update by rentx 2021-01-29
+ Map<String,ConsumableorderdetailsInfo> MidMap2 = new Map<String,ConsumableorderdetailsInfo>();
+ String countdelSoql = 'SELECT Id,Bar_Code__c,Name,Inventory_date__c,Consumable_Product__c,Consumable_Product__r.Asset_Model_No__c,Recordtypeid,Box_Piece__c,ProductPacking_list_manual__c,hospitalSpecialOffer__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Dealer_Shipment__c = false AND Dealer_Saled__c = false AND Dealer_Returned__c = false AND Lose_Flag__c = false AND Bar_Code__c != null AND Isoverdue__c = 1 AND Arrive_Owner_Work_Location__c = :userWorkLocation AND Dealer_Info_text__c = :accountName ';
+ if (String.isNotBlank(outOutPattern) && outOutPattern.equals('ishos')) {
+ countdelSoql += ' AND hospitalSpecialOffer__c = true';
+ }else if (String.isNotBlank(outOutPattern) && outOutPattern.equals('nothos')) {
+ countdelSoql += ' AND hospitalSpecialOffer__c = false';
+ }
+ System.debug('countdelSoql = ' + countdelSoql);
+ List<Consumable_order_details2__c> CountDel = Database.query(countdelSoql);
+ System.debug('CountDel = ' + CountDel);
+ //update by rentx 2021-01-29
+
+ consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+ //consumableorderdetailsSelectRecords = reSet;
+ String soql = makeSoql(category1,category3,category4,category5);
+ System.debug('soql = ' + soql);
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ initStandardController(soql);
+ product2Selected = Database.query(soql);
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
+ }
+
+ for (Integer i = 0; i < CountDel.size() ;i++ ) {
+ String str = '';
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ str = 'isHos';
+ }else{
+ str = 'notHos';
+ }
+ System.debug('MidMap = ' + MidMap);
+ //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+ if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+ //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+ if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
+ ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c+str);
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Box_Piece__c == '鐩�'){
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ }else if(CountDel[i].Box_Piece__c == '涓�'){
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ }else{
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ MidMap2.put(CountDel[i].Consumable_Product__c+str, Jstage);
+ }else{
+ //midmap2涓病鏈夊搴旂殑浜у搧
+ ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
+ Jstage.allnumber = Jstage.allnumber+1 ;
+ if(CountDel[i].Box_Piece__c == '鐩�'){
+ Jstage.Boxnumber = Jstage.Boxnumber + 1;
+ }else if(CountDel[i].Box_Piece__c == '涓�'){
+ Jstage.Piecenumber = Jstage.Piecenumber + 1;
+ }
+ if (CountDel[i].hospitalSpecialOffer__c) {
+ Jstage.hospitalSpecialOffer = true;
+ }else{
+ Jstage.hospitalSpecialOffer = false;
+ }
+ if (HosProMap.containsKey(Jstage.Prod.Id)) {
+ Jstage.hosPro = true;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap2.put(CountDel[i].Consumable_Product__c+str, Jstage);
+ }
+ }
+ }
+ Integer ishosnum = 0;
+ System.debug('MidMap2 = ' + MidMap2);
+ for(ConsumableorderdetailsInfo bss : MidMap2.values()){
+ if(selectedIdMap.containsKey(bss.Prod.id)){
+ continue;
+ }else{
+ bss.sortBy = false;
+ bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+ consumableorderdetailsSelectRecords.add(bss);
+
+ if (bss.hospitalSpecialOffer == true) {
+ ishosnum = ishosnum + 1;
+ }
+ }
+ }
+ if (ishosnum > 0) {
+ hasHosPro = true;
+ }else{
+ hasHosPro = false;
+ }
+
+
+ consumableorderdetailsSelectRecords.sort();
+ //add by rentx
+ //noOfRecords = consumableorderdetailsSelectRecords.size();
+ //add by rentx
+ //makepagerecords();
+ makepagerecordsLwc();
+ // this.sortKey = '1';
+ // this.preSortKey = '1';
+ // this.sortOrderAsc = false;
+ // this.sortOrder = new String[8];
+ // this.sortOrder = new String[]{' ',' ',' ',' ','鈫�','','',''};
+ data.put('pageRecords', pageRecords);
+ data.put('test','test');
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ private static String makeSoql(String CateName,String Category3,String Category4,String Category5){
+ String sqlTail1 = '(\'';
+ for(Integer i = 0 ; i< zaikuId.size();i++){
+ if(i<zaikuId.size()-1){
+ sqlTail1 += zaikuId[i]+'\',\'';
+ }else{
+ sqlTail1 += zaikuId[i];
+ }
+ }
+ sqlTail1 += '\')';
+ String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c FROM Product2__c ';
+ soql += ' WHERE Id in' + sqlTail1;
+ if(!String.isBlank(CateName)){
+ soql += ' AND (Name__c like \'%' + String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + '%\' or Asset_Model_No__c like \'%' + String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + '%\')';
+ }if(!String.isBlank(Category3)){
+ soql += ' AND Category3__c = \'' + Category3 + '\'';
+ }if(!String.isBlank(Category4)){
+ soql += ' AND Category4__c = \'' + Category4 + '\'';
+ }if(!String.isBlank(Category5)){
+ soql += ' AND Category5__c = \'' + Category5 + '\'';
+ }
+ return soql;
+ }
+
+ public static String makeSoqlorderdet() {
+ String sqlTail = '(\'';
+ for (Integer i = 0; i < orderzaikuId.size(); i++) {
+ if (i < orderzaikuId.size() - 1) {
+ sqlTail += orderzaikuId[i] + '\',\'';
+ } else {
+ sqlTail += orderzaikuId[i];
+ }
+ }
+ sqlTail += '\')';
+ String msoql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c FROM Product2__c ';
+ msoql += ' WHERE Id in' + sqlTail;
+ return msoql;
+ }
+
+ public static String makeSoqlinventory() {
+ String sqlTail = '(\'';
+ for (Integer i = 0; i < zaikuId.size(); i++) {
+ if (i < zaikuId.size() - 1) {
+ sqlTail += zaikuId[i] + '\',\'';
+ } else {
+ sqlTail += zaikuId[i];
+ }
+ }
+ sqlTail += '\')';
+ String msoql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c FROM Product2__c ';
+ msoql += ' WHERE Id in' + sqlTail;
+ return msoql;
+ }
+
+ public static void initStandardController(String soql) {
+ // init standard controller
+ System.debug('soql =' + soql);
+ System.debug('initStandardController star');
+ //setCon = new ApexPages.StandardSetController(Database.getQueryLocator(soql));
+ // sets the number of records in each page set
+ //setCon.setPageSize(size);
+ System.debug('initStandardController end');
+ }
+
+ public static List<ConsumableorderdetailsInfo> makepagerecords() {
+ List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ Map<String, String> selectedIdMap = new Map<String, String>();
+ System.debug('zhj1');
+ //鍙栧嚭閫夋嫨鐨勪骇鍝�
+ if (pageRecords != null) {
+ System.debug('zhj2');
+ for (ConsumableorderdetailsInfo ass : pageRecords) {
+ if (ass.check == true) {
+ if (ass.hospitalSpecialOffer == true) {
+ selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
+ } else {
+ selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
+ }
+ reSet.add(ass);
+ }
+ }
+ }
+ System.debug('zhj3');
+ pageRecords = new List<ConsumableorderdetailsInfo>();
+ if (editAble && String.isBlank(arriveorder)) {
+ pageRecords = reSet;
+ }
+ //Integer pagestartNo = (setCon.getPageNumber() * size)-size;
+ //Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
+ Integer addNo = 0;
+ //update by rentx 2021-2-26 start
+ System.debug('consumableorderdetailsSelectRecords = ' + consumableorderdetailsSelectRecords);
+ for (ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords) {
+ Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
+ if (
+ (info.hospitalSpecialOffer && selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
+ (info.hospitalSpecialOffer == false && selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
+ ) {
+ addNo++;
+ } else {
+ if (info.check == false) {
+ info.orderdetails1 = orderdetails1;
+ }
+ pageRecords.add(info);
+ addNo++;
+ }
+ }
+ System.debug('pageRecords 2 = ' + pageRecords);
+ System.debug('zhj5');
+ System.debug('pageRecords = ' + pageRecords);
+ return pageRecords;
+ }
+
+ public static List<ConsumableorderdetailsInfo> makepagerecordsLwc() {
+ List<ConsumableorderdetailsInfoLwc> reSetLwc = new List<ConsumableorderdetailsInfoLwc>();
+ Map<String, String> selectedIdMap = new Map<String, String>();
+ System.debug('makepagerecordsLwc pageRecordsLwc = ' + pageRecordsLwc);
+ //鍙栧嚭閫夋嫨鐨勪骇鍝�
+ if (pageRecordsLwc != null) {
+ for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+ System.debug('ass.check = ' + ass.check);
+ if (ass.check == true) {
+ if (ass.hospitalSpecialOffer == true) {
+ selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
+ } else {
+ selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
+ }
+ reSetLwc.add(ass);
+ }
+ }
+ }
+ System.debug('reSetLwc = ' + reSetLwc);
+ System.debug('selectedIdMap = ' + selectedIdMap);
+ pageRecords = new List<ConsumableorderdetailsInfo>();
+ if (editAble && String.isBlank(arriveorder)) {
+ List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ for(ConsumableorderdetailsInfoLwc assLwc : reSetLwc){
+ ConsumableorderdetailsInfo ci = new ConsumableorderdetailsInfo();
+ ci.check = assLwc.check;
+ ci.oldCheck = assLwc.oldCheck;
+ ci.orderdetails1 = assLwc.orderdetails1;
+ ci.orderdetails2 = assLwc.orderdetails2;
+ ci.Prod = assLwc.Prod;
+ ci.Boxnumber = assLwc.Boxnumber;
+ ci.Piecenumber = assLwc.Piecenumber;
+ ci.allnumber = assLwc.allnumber;
+ ci.oldConsumableCount = assLwc.oldConsumableCount;
+ ci.canSelect = assLwc.canSelect;
+ ci.sortBy = assLwc.sortBy;
+ ci.packinglist = assLwc.packinglist;
+ ci.approbation_No = assLwc.approbation_No;
+ ci.expiration_Date = assLwc.expiration_Date;
+ ci.boxorpiecein = assLwc.boxorpiecein;
+ ci.boxorpiece = assLwc.boxorpiece;
+ ci.boxorpieceMap = assLwc.boxorpieceMap;
+ ci.concc = assLwc.concc;
+ ci.BoxPiece = assLwc.BoxPiece;
+ ci.hospitalSpecialOffer = assLwc.hospitalSpecialOffer;
+ ci.hosPro = assLwc.hosPro;
+ reSet.add(ci);
+ }
+ pageRecords = reSet;
+ }
+ //Integer pagestartNo = (setCon.getPageNumber() * size)-size;
+ //Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
+ Integer addNo = 0;
+ //update by rentx 2021-2-26 start
+ System.debug('consumableorderdetailsSelectRecords = ' + consumableorderdetailsSelectRecords);
+ for (ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords) {
+ Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
+ if (
+ (info.hospitalSpecialOffer && selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
+ (info.hospitalSpecialOffer == false && selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
+ ) {
+ addNo++;
+ } else {
+ if (info.check == false) {
+ info.orderdetails1 = orderdetails1;
+ }
+ pageRecords.add(info);
+ addNo++;
+ }
+ }
+ System.debug('pageRecords = ' + pageRecords);
+ return pageRecords;
+ }
+
+
+
+
+
+ // 淇濆瓨鎸夐挳
+ @AuraEnabled
+ public static ResponseBodyLWC save(Consumable_order__c cocLwc,String hospitalInfoLwc,String hospitalNameLwc,String secondaryDistributor,List<ConsumableorderdetailsInfoLwc> pageRecordsLwc,String accountid,String ESetId,List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc) {
+ System.debug('cocLwc = ' + cocLwc);
+ coc = cocLwc;
+ HospitalInfo = hospitalInfoLwc;
+ HospitalName = hospitalNameLwc;
+ SecondDealer = secondaryDistributor;
+ pageRecordsLwc = pageRecordsLwc;
+ consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ //璁㈠崟淇℃伅纭
+ if(coc.SummonsForDirction__c ==''||coc.SummonsForDirction__c == null){
+ // coc.SummonsForDirction__c.addError('璇疯緭鍏ユ寚绀哄崟鐩殑銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ユ寚绀哄崟鐩殑銆�', '');
+ }
+ else if(coc.SummonsForDirction__c =='鐩存帴閿�鍞粰鍖婚櫌'){
+ if(String.isBlank(HospitalInfo) || String.isBlank(HospitalName)){
+ // coc.addError('璇疯緭鍏ュ尰闄€��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ尰闄€��', '');
+ }
+ if(String.isBlank(coc.Order_ForCustomerText__c)){
+ // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹ゃ��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ョ瀹ゃ��', '');
+ }
+ else if(String.isNotBlank(SecondDealer) || String.isNotBlank(coc.Order_ForDealerText__c)){
+ // coc.addError('涓嶉渶瑕佷簩绾х粡閿�鍟嗗拰缁忛攢鍟�(褰曞叆)淇℃伅銆�' );
+ // return null;
+ return new ResponseBodyLWC('Error',500, '涓嶉渶瑕佷簩绾х粡閿�鍟嗗拰缁忛攢鍟�(褰曞叆)淇℃伅銆�', '');
+ }
+ }else if(coc.SummonsForDirction__c =='鍖婚櫌璇曠敤'){
+ if(String.isBlank(HospitalInfo) || String.isBlank(HospitalName)){
+ // coc.addError('璇疯緭鍏ュ尰闄€��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ尰闄€��', '');
+ }
+ if(String.isBlank(coc.Order_ForCustomerText__c)){
+ // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹ゃ��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ョ瀹ゃ��', '');
+ }
+ }
+ else if(coc.SummonsForDirction__c =='閿�鍞粰浜岀骇缁忛攢鍟�'){
+ if(String.isBlank(SecondDealer) && String.isBlank(coc.Order_ForDealerText__c)){
+ // coc.addError('蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)銆�', '');
+ }
+ if(String.isBlank(HospitalInfo) || String.isBlank(HospitalName)){
+ // coc.addError('璇疯緭鍏ュ尰闄€��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ尰闄€��', '');
+ }
+ if(String.isBlank(coc.Order_ForCustomerText__c)){
+ // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹ゃ��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ョ瀹ゃ��', '');
+ }
+ }
+ else if(coc.SummonsForDirction__c =='浜掔浉璋冭揣'){
+ if(String.isNotBlank(HospitalInfo) || String.isNotBlank(HospitalName)){
+ // coc.addError('涓嶉渶瑕佽緭鍏ュ尰闄€��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '涓嶉渶瑕佽緭鍏ュ尰闄€��', '');
+ }
+ if(String.isNotBlank(coc.Order_ForCustomerText__c)){
+ // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹ゃ��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '涓嶉渶瑕佽緭鍏ョ瀹ゃ��', '');
+ }
+ if(String.isBlank(SecondDealer) && String.isBlank(coc.Order_ForDealerText__c)){
+ // coc.addError('蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)銆�', '');
+ }
+ }
+
+ Integer isHos = 0;
+
+ Integer FLG = 0;
+ Integer Count = 0;
+ for(ConsumableorderdetailsInfoLwc CheckCount : pageRecordsLwc) {
+ FLG = FLG + 1;
+ if(CheckCount.check == false){
+ Count = Count + 1;
+ }else{
+ //add by rentx
+ if (CheckCount.hospitalSpecialOffer) {
+ isHos = isHos+1;
+ }
+ //add by rentx
+ }
+ }
+ if(Count == FLG){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇烽�夋嫨鎵�闇�娑堣�楀搧'));
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇烽�夋嫨鎵�闇�娑堣�楀搧', '');
+ }
+ // gzw 娉ㄩ噴 鍒ゆ柇鎻愬墠 20210308
+ //checkOutPattern();
+ //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
+ Integer isHosCheckOutPattern = 0;
+ for(ConsumableorderdetailsInfoLwc CheckCount : pageRecordsLwc) {
+ if (CheckCount.check == true && CheckCount.hospitalSpecialOffer == true) {
+ isHosCheckOutPattern = isHosCheckOutPattern +1;
+ }
+ }
+ if (isHosCheckOutPattern > 0) {
+ coc.OutPattern__c = true;
+ }else{
+ coc.OutPattern__c = false;
+ }
+
+ // add by rentx 2021-3-10 start
+ //鐗逛环鍖婚櫌鍑哄簱闈炴湰鍖婚櫌缁存姢鐨勭壒浠峰晢鍝佹椂,鎶ラ敊 闈炵壒浠峰尰闄㈠嚭搴撶淮鎶ゅ湪鍖婚櫌鐗逛环鍏崇郴琛ㄧ殑浜у搧鏃� 鎶ラ敊
+ if(coc.SummonsForDirction__c !='浜掔浉璋冭揣'){
+ //闈炵壒浠峰尰闄㈠嚭搴撶壒浠蜂骇鍝佹椂 鎶ラ敊(褰撳墠缁忛攢鍟嗕笅娌℃湁鐗逛环鍖婚櫌闄ゅ)
+ List<hospitalprice__c> hopList = [select id,hospital__c,product__c from hospitalprice__c where account__c = :accountid];
+ //缁忛攢鍟嗗搴斿尰闄笅鐨勬墍鏈夌壒浠蜂骇鍝�
+ Map<String,String> proMap = new Map<String,String>();
+ //缁忛攢鍟嗕笅鐨勬墍鏈夌壒浠蜂骇鍝�
+ Map<String,String> allProMap = new Map<String,String>();
+
+ if (hopList != null && hopList.size() > 0) {
+ Boolean flag = false;
+ if (HospitalInfo != null && HospitalInfo != '') {
+ for (hospitalprice__c hp : hopList) {
+ allProMap.put(hp.product__c, '');
+ //濡傛灉褰撳墠 鍖婚櫌鐗逛环鍏崇郴涓殑鍖婚櫌瀵瑰簲鍑哄簱鍗曚笂鍑哄簱鐨勫尰闄�,鍒欐斁浜у搧id鍒癿ap
+ if (hp.hospital__c == HospitalInfo) {
+ flag = true;
+ proMap.put(hp.product__c, '');
+ }
+
+ }
+ }
+ for(ConsumableorderdetailsInfoLwc ass : pageRecordsLwc){
+ if (ass.check == true) {
+ //鍒ゆ柇閫変腑鐨勫尰闄㈢壒浠蜂骇鍝�
+ if (ass.hospitalSpecialOffer == true) {
+ //鐢ㄦ埛閫変腑浜嗗綋鍓嶅尰闄笅鐨勭壒浠蜂骇鍝�
+ if (proMap.containsKey(ass.Prod.Id)) {
+ continue;
+ //鐢ㄦ埛閫変腑浜嗘病鏈夌淮鎶ょ壒浠峰尰闄㈢殑鐗逛环浜у搧
+ }else if (!allProMap.containsKey(ass.Prod.Id)) {
+ continue;
+ }else{
+ //鐢ㄦ埛閫変腑闈炲綋鍓嶅尰闄㈢淮鎶ょ殑鐗逛环浜у搧
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '褰撳墠鍖婚櫌娌℃湁缁存姢 娑堣�楀搧:'+ ass.Prod.Name__c +' 鐨勭壒浠�'));
+ // return null;
+ return new ResponseBodyLWC('Error',500, '褰撳墠鍖婚櫌娌℃湁缁存姢 娑堣�楀搧:' + ass.Prod.Name__c + '鐨勭壒浠�', '');
+ }
+ }//闈炲尰闄㈢壒浠蜂骇鍝佸彲浠ュ嚭搴撶粰浠绘剰鍖婚櫌,鎵�浠ヤ笉闇�瑕佸垽鏂�
+ }
+ }
+ }
+ }else{
+ //濡傛灉鏄簰鐩歌皟璐�,鍒ゆ柇 缁忛攢鍟�(褰曞叆) 鏄惁缁存姢浜� 褰撳墠閫変腑鐨勭壒浠蜂骇鍝�
+ List<hospitalprice__c> hopList = [select id,hospital__c,product__c from hospitalprice__c where account__c = :coc.Order_ForDealerTextID__c];
+ Map<Id,String> proMap = new Map<Id,String>();
+ if (hopList != null && hopList.size() > 0) {
+ for (hospitalprice__c hpc : hopList) {
+ proMap.put(hpc.product__c, '');
+ }
+
+ String proStr = '';
+ for(ConsumableorderdetailsInfoLwc ass : pageRecordsLwc){
+ if (ass.check == true) {
+ if (ass.hospitalSpecialOffer == true) {
+ if (!proMap.containsKey(ass.Prod.Id)) {
+ proStr += ass.Prod.Name__c+',';
+ }
+ }
+ }
+ }
+ if (proStr != '') {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '缁忛攢鍟�:'+coc.Order_ForDealerText__c +' 娌℃湁娑堣�楀搧:'+proStr.substring(0,proStr.length()-1) + ' 鐨勭壒浠�'));
+ // return null;
+ return new ResponseBodyLWC('Error',500, '缁忛攢鍟�:' + coc.Order_ForDealerText__c + ' 娌℃湁娑堣�楀搧:' + proStr.substring(0,proStr.length()-1) + ' 鐨勭壒浠�', '');
+ }
+ }
+ }
+
+ // checkOutPattern();
+ Consumable_order__c p = new Consumable_order__c();
+ List<Consumable_orderdetails__c> Ins = New List<Consumable_orderdetails__c>();
+ List<Consumable_order_details2__c> InsProduct = New List<Consumable_order_details2__c>();
+ Savepoint sp = Database.setSavepoint();
+ // try {
+ //鏂板缓璁㈠崟鏃�
+ if(String.isEmpty(ESetId)){
+ p.Name = '*';
+ p.Order_type__c = '浼犵エ';
+ p.Order_ProType__c = agencyProType;
+ if(coc.SummonsStatus_c__c ==null||String.isBlank(coc.SummonsStatus_c__c))coc.SummonsStatus_c__c ='鑽夋涓�';
+ // update strat by vivek 2019-7-12
+ p.NoConfirmedPrice__c = coc.NoConfirmedPrice__c;
+ // update end by vivek 2019-7-12
+ p.SummonsStatus_c__c = coc.SummonsStatus_c__c;
+ if(coc.Arrive_Order__c != null){
+ p.Arrive_Order__c = coc.Arrive_Order__c;
+ }
+ p.Offers_Price__c = coc.Offers_Price__c;
+ p.Dealer_Info__c = accountid;
+ if(String.isBlank(SecondDealer)){
+ p.Order_ForHospital__c =String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
+ p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ }else {
+ p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
+ p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ p.Order_ForDealer__c = SecondDealer;
+ }
+ P.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+ P.Order_ForDealerTextID__c = coc.Order_ForDealerTextID__c;
+ p.Order_date__c = coc.Order_date__c;
+ p.SummonsForDirction__c = coc.SummonsForDirction__c;
+ p.RecordTypeid = System.Label.RT_ConOrder_Outboundorder;
+ // update start by vivek 2019-7-15
+ p.NoConfirmedPrice__c = coc.NoConfirmedPrice__c;
+ // update end by vivek 2019-7-15
+ //add by rentx
+ p.OutPattern__c = coc.OutPattern__c;
+ //add by rentx
+ //Map<String,String> ProductNewMap = new Map<String, String>();
+ for(ConsumableorderdetailsInfoLwc ass : pageRecordsLwc){
+ if(ass.check == true){
+ if(ass.orderdetails1.Delivery_List_RMB__c < 0){
+ // ass.orderdetails1.Delivery_List_RMB__c.addError('璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)銆�', '');
+ }
+ if(ass.orderdetails1.Delivery_List_RMB__c == null && coc.SummonsForDirction__c !='鍖婚櫌璇曠敤'){
+ // ass.orderdetails1.Delivery_List_RMB__c.addError('璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)銆�', '');
+ }
+ if(ass.orderdetails1.Delivery_List_RMB__c == 0 && (coc.SummonsForDirction__c =='閿�鍞粰浜岀骇缁忛攢鍟�' || coc.SummonsForDirction__c =='鐩存帴閿�鍞粰鍖婚櫌')){
+ // ass.orderdetails1.Delivery_List_RMB__c.addError('璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�', '');
+ }
+ if(ass.orderdetails1.Shipment_Count__c == null ||ass.orderdetails1.Shipment_Count__c ==0){
+ // ass.orderdetails1.Shipment_Count__c.addError('璇疯緭鍏ュ嚭璐ф暟閲忋��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ嚭璐ф暟閲忋��', '');
+ }
+
+ if(ass.orderdetails1.Box_Piece__c == null ||ass.orderdetails1.Box_Piece__c ==''){
+ // ass.orderdetails1.Box_Piece__c.addError('璇疯緭鍏ュ崟浣嶃��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ崟浣嶃��', '');
+ }
+ if(ass.orderdetails1.Box_Piece__c == '鐩�'){
+ if(ass.orderdetails1.Shipment_Count__c > ass.Boxnumber){
+ //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
+ if(ass.oldCheck == false){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
+ }else{
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻', '');
+ }
+ }
+ }else if(ass.orderdetails1.Box_Piece__c == '涓�'){
+ if(ass.orderdetails1.Shipment_Count__c > ass.Piecenumber){
+ //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
+ if(ass.oldCheck == false){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
+ }else{
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻', '');
+ }
+ }
+ }
+ }
+ }
+ insert p;
+ ESetId = p.id;
+ List<Consumable_order__c> detailName = new List<Consumable_order__c>();
+ detailName = [SELECT id,Name FROM Consumable_order__c WHERE id =:ESetId];
+ Integer i = 1;
+ for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+ if(ass.check == true){
+ Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c();
+ String str = string.valueOf(i);
+ if(str.length() == 1){
+ str = '0' + str;
+ }
+ InsAfterDel.Name = detailName[0].name + '-'+ str;
+ InsAfterDel.Shipment_Count__c = ass.orderdetails1.Shipment_Count__c;
+ InsAfterDel.Consumable_order__c = p.id;
+ InsAfterDel.Consumable_Product__c = ass.Prod.id;
+ InsAfterDel.Intra_Trade_List_RMB__c =ass.Prod.Intra_Trade_List_RMB__c;
+ InsAfterDel.Delivery_List_RMB__c = ass.orderdetails1.Delivery_List_RMB__c;
+ // TODO 榛樿 鐩� 锛岄渶瑕佷慨姝�
+ InsAfterDel.Box_Piece__c = ass.orderdetails1.Box_Piece__c;
+ InsAfterDel.Out_unit__c = ass.orderdetails1.Box_Piece__c;
+ //InsAfterDel.Unitprice_To_agency__c = ass.orderdetails1.Unitprice_To_agency__c;
+ InsAfterDel.Dealer_Custom_Price__c = ass.orderdetails1.Dealer_Custom_Price__c;
+ InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
+ //add by rentx 2021-2-26 start
+ InsAfterDel.isOutPattern__c = ass.hospitalSpecialOffer;
+ //add by rentx 2021-2-26 end
+ i++;
+ Ins.add(InsAfterDel);
+ }
+ }
+ // 濡傛灉 鍑哄簱鍗� 鍜� OCM鍙戣揣Header杩� 鐨勮瘽锛屽彂璐х殑Detail2 Copy鍒� 鍑哄簱鍗曠殑Detail2閲�
+ if (getExistarrive()) {
+ for (ConsumableorderdetailsInfo ass : consumableproductdetailsRecords) {
+ //BlockForP;
+ Consumable_order_details2__c InsProductDet = new Consumable_order_details2__c();
+ InsProductDet.Id = ass.orderdetails2.Id;
+ InsProductDet.Consumable_ZS_order__c = p.id;
+ i++;
+ InsProduct.add(InsProductDet);
+ }
+ }
+ if(Ins.size()>0){
+ insert Ins;
+ }
+ if(InsProduct.size() >0){
+ ControllerUtil.updateOrderDetailsSatus(InsProduct);
+ }
+ }
+ //淇敼涔嬪悗 淇濆瓨璁㈠崟
+ else if(ESetId != null || ESetId.length() >0 ){
+ List<Consumable_order__c> cocinfo = New List<Consumable_order__c>();
+ // update start by vivek 2019-7-15 add "NoConfirmedPrice__c" in select
+ cocinfo = [SELECT Id,
+ Name,
+ SummonsStatus_c__c,
+ NoConfirmedPrice__c,
+ Dealer_Info__c,
+ Order_ForHospital__c,
+ SummonsForDirction__c
+ FROM Consumable_order__c
+ WHERE Id =:ESetId];
+ // update end by vivek 2019-7-15
+ if (cocinfo.size()>0){
+ p = cocinfo[0];
+ }
+ p.Name = coc.Name;
+ p.Dealer_Info__c = accountid;
+ p.Order_ProType__c = agencyProType;
+ if(SecondDealer == null){
+ p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
+ p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ p.Order_ForDealer__c = SecondDealer;
+ }else {
+ p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
+ p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ p.Order_ForDealer__c = SecondDealer;
+ }
+ P.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+ P.Order_ForDealerTextID__c = coc.Order_ForDealerTextID__c;
+ p.Order_date__c = coc.Order_date__c;
+ p.SummonsForDirction__c = coc.SummonsForDirction__c;
+ //add by rentx
+ p.OutPattern__c = coc.OutPattern__c;
+ // update start by vivek 2019-7-15
+ if(p.SummonsStatus_c__c== '浠锋牸鏈畾'){
+ p.NoConfirmedPrice__c = false;
+ p.SummonsStatus_c__c= '宸插畬鎴�';
+ }else{
+ p.SummonsStatus_c__c = '鑽夋涓�';
+ }
+ // p.SummonsStatus_c__c = '鑽夋涓�';
+ // update end by vivek 2019-7-15
+ Integer i = 1;
+ //Map<String,String> ProductOldMap = new Map<String, String>();
+ for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+ if(ass.check == true){
+ if(ass.orderdetails1.Delivery_List_RMB__c < 0){
+ // ass.orderdetails1.Delivery_List_RMB__c.addError('璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)銆�', '');
+ }
+ Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c();
+ if(ass.orderdetails1.Delivery_List_RMB__c == null && coc.SummonsForDirction__c !='鍖婚櫌璇曠敤'){
+ // ass.orderdetails1.Delivery_List_RMB__c.addError('璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�', '');
+ }
+ if(ass.orderdetails1.Delivery_List_RMB__c == 0 && (coc.SummonsForDirction__c =='閿�鍞粰浜岀骇缁忛攢鍟�' || coc.SummonsForDirction__c =='鐩存帴閿�鍞粰鍖婚櫌')){
+ // ass.orderdetails1.Delivery_List_RMB__c.addError('璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)銆�', '');
+ }
+ if(ass.orderdetails1.Box_Piece__c == null ||ass.orderdetails1.Box_Piece__c ==''){
+ // ass.orderdetails1.Box_Piece__c.addError('璇疯緭鍏ュ崟浣嶃��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ崟浣嶃��', '');
+ }
+ if(ass.orderdetails1.Box_Piece__c == '鐩�'){
+ if(ass.orderdetails1.Shipment_Count__c > ass.Boxnumber){
+ //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
+ if(ass.oldCheck == false){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
+ }else{
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻', '');
+ }
+ }
+ }else if(ass.orderdetails1.Box_Piece__c == '涓�'){
+ if(ass.orderdetails1.Shipment_Count__c > ass.Piecenumber){
+ if(ass.oldCheck == false){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
+ }else{
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+ return new ResponseBodyLWC('Error',500, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻', '');
+ }
+ }
+ }
+ if(ass.orderdetails1.Shipment_Count__c == null||ass.orderdetails1.Shipment_Count__c==0){
+ // ass.orderdetails1.Shipment_Count__c.addError('璇疯緭鍏ュ嚭璐ф暟閲忋��');
+ // return null;
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏ュ嚭璐ф暟閲忋��', '');
+ }else{
+
+ String str = string.valueOf(i);
+ if(str.length() == 1){
+ str = '0' + str;
+ }
+ InsAfterDel.Name = p.name + '-'+ str;
+ InsAfterDel.Shipment_Count__c = ass.orderdetails1.Shipment_Count__c;
+ InsAfterDel.Consumable_order__c = ESetId;
+ InsAfterDel.Consumable_Product__c = ass.Prod.id;
+ InsAfterDel.Intra_Trade_List_RMB__c =ass.Prod.Intra_Trade_List_RMB__c;
+ InsAfterDel.Delivery_List_RMB__c = ass.orderdetails1.Delivery_List_RMB__c;
+ InsAfterDel.Box_Piece__c = ass.orderdetails1.Box_Piece__c;
+ InsAfterDel.Out_unit__c = ass.orderdetails1.Box_Piece__c;
+ //InsAfterDel.Unitprice_To_agency__c = ass.orderdetails1.Unitprice_To_agency__c;
+ InsAfterDel.Dealer_Custom_Price__c = ass.orderdetails1.Dealer_Custom_Price__c;
+ InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
+ //add by rentx 2021-2-26 start
+ InsAfterDel.isOutPattern__c = ass.hospitalSpecialOffer;
+ //add by rentx 2021-2-26 end
+ i++;
+ Ins.add(InsAfterDel);
+ }
+ }
+ }
+ update p;
+ List<Consumable_orderdetails__c> qs = New List<Consumable_orderdetails__c>();
+ qs = [SELECT Id FROM Consumable_orderdetails__c WHERE Consumable_order__c =:ESetId];
+ if (qs.size()>0){
+ delete qs;
+ }
+ if(Ins.size()>0){
+ insert Ins;
+ }
+
+ }
+ // }catch (Exception ex) {
+ // Database.rollback(sp);
+ // // ApexPages.addMessages(ex);
+ // // return null;
+ // //return new ResponseBodyLWC('Error',500, ex.getMessage(), '');
+ // return new ResponseBodyLWC('Error',500, JSON.serialize(ex), '');
+ // }
+ data.put('ESetId',ESetId);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ public static void checkOutPattern(){
+ //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
+ Integer isHos = 0;
+ for(ConsumableorderdetailsInfo CheckCount : pageRecords) {
+ if (CheckCount.check == true && CheckCount.hospitalSpecialOffer == true) {
+ ishos = ishos +1;
+ }
+ }
+ if (isHos > 0) {
+ coc.OutPattern__c = true;
+ }else{
+ coc.OutPattern__c = false;
+ }
+ }
+
+ //鎵撳嵃PDF
+ @AuraEnabled
+ public static ResponseBodyLWC PraseToPDF(Consumable_order__c cocLwc,String ESetId){
+ System.debug('cocLwc = ' + cocLwc);
+ System.debug('ESetId = ' + ESetId);
+ coc = cocLwc;
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ if(coc.SummonsStatus_c__c =='鎵瑰噯'){
+ Consumable_order__c P = new Consumable_order__c();
+ List<Consumable_order__c> cocinfo = New List<Consumable_order__c>();
+ // update start by vivek 2019-7-15 add 鈥淣oConfirmedPrice__c鈥� in select
+ cocinfo = [SELECT Id,Name,SummonsStatus_c__c,NoConfirmedPrice__c,Dealer_Info__c,Order_ForHospital__c,SummonsForDirction__c,Billed_Status__c FROM Consumable_order__c WHERE Id =:ESetId];
+ // update end by vivek 2019-7-15
+ if (cocinfo.size()>0){
+ p = cocinfo[0];
+ }
+ p.SummonsStatus_c__c = '鍑哄簱鍗曞凡鎵撳嵃';
+ update p;
+ }
+ data.put('ESetId',ESetId);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ // Data Bean
+ class ConsumableorderdetailsInfo implements Comparable {
+ @AuraEnabled
+ public Boolean check { get; set; }
+ @AuraEnabled
+ public Boolean oldCheck { get; set; }
+ @AuraEnabled
+ public Consumable_Orderdetails__c orderdetails1 { get; set; }
+ @AuraEnabled
+ public Consumable_order_details2__c orderdetails2 { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public Decimal Boxnumber { get; set; }
+ @AuraEnabled
+ public Decimal Piecenumber { get; set; }
+ @AuraEnabled
+ public Decimal allnumber { get; set; }
+ @AuraEnabled
+ public Decimal oldConsumableCount { get; set; }
+ @AuraEnabled
+ public Boolean canSelect { get; set; }
+ @AuraEnabled
+ public Boolean sortBy { get; set; }
+ @AuraEnabled
+ public Integer packinglist { get; set; }
+ @AuraEnabled
+ public String approbation_No { get; set; }
+ @AuraEnabled
+ public Date expiration_Date { get; set; }
+ @AuraEnabled
+ public String boxorpiecein { get; set; }
+
+ public List<SelectOption> boxorpiece { get; set; }
+ @AuraEnabled
+ public Map<String, String> boxorpieceMap { get; set; }
+ @AuraEnabled
+ public Attachment concc { get; set; }
+ @AuraEnabled
+ public String BoxPiece { get; set; }
+ @AuraEnabled
+ public Boolean hospitalSpecialOffer { get; set; }
+ @AuraEnabled
+ public Boolean hosPro { get; set; }
+
+ public ConsumableorderdetailsInfo(){}
+
+ public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
+ check = true;
+ oldCheck = true;
+ orderdetails1 = e;
+ orderdetails2 = new Consumable_order_details2__c();
+ Prod = e.Consumable_Product__r;
+ oldConsumableCount = e.Shipment_Count__c;
+ canSelect = true;
+ allnumber = 0;
+ Boxnumber = 0;
+ Piecenumber = 0;
+ BoxPiece = e.Box_Piece__c;
+ boxorpiece = new List<SelectOption>();
+ boxorpiece.add(new SelectOption('鐩�', '鐩�'));
+ boxorpiece.add(new SelectOption('涓�', '涓�'));
+
+ boxorpieceMap = new Map<String, String>();
+ boxorpieceMap.put('鐩�', '鐩�');
+ boxorpieceMap.put('涓�', '涓�');
+ hospitalSpecialOffer = false;
+ hosPro = false;
+ }
+
+ // 娑堣�楀搧鍙戣揣鏄庣粏
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+ check = true;
+ oldCheck = true;
+ orderdetails1 = new Consumable_Orderdetails__c();
+ orderdetails2 = e;
+ Prod = e.Consumable_Product__r;
+ canSelect = true;
+ allnumber = 0;
+ Boxnumber = 0;
+ Piecenumber = 0;
+ //boxorpiece = new List<SelectOption>();
+ //boxorpiece.add(new SelectOption('鐩�', '鐩�'));
+ //boxorpiece.add(new SelectOption('涓�', '涓�'));
+ hospitalSpecialOffer = false;
+ hosPro = false;
+ }
+
+ //闄勪欢
+ public ConsumableorderdetailsInfo(Attachment e) {
+ concc = e;
+ hospitalSpecialOffer = false;
+ hosPro = false;
+ }
+ public ConsumableorderdetailsInfo(Product2__c e) {
+ check = false;
+ oldCheck = false;
+ orderdetails1 = new Consumable_Orderdetails__c();
+ orderdetails2 = new Consumable_order_details2__c();
+ Prod = e;
+ //oldConsumableCount = null;
+ canSelect = true;
+ allnumber = 0;
+ Boxnumber = 0;
+ Piecenumber = 0;
+ orderdetails1.Box_Piece__c = '鐩�';
+ boxorpiece = new List<SelectOption>();
+ boxorpiece.add(new SelectOption('鐩�', '鐩�'));
+ boxorpiece.add(new SelectOption('涓�', '涓�'));
+
+ boxorpieceMap = new Map<String, String>();
+ boxorpieceMap.put('鐩�', '鐩�');
+ boxorpieceMap.put('涓�', '涓�');
+ hospitalSpecialOffer = false;
+ hosPro = false;
+ }
+
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ ConsumableorderdetailsInfo compareToorderdetails1 = (ConsumableorderdetailsInfo) compareTo;
+ Integer returnValue = 0;
+ if (sortBy == false) {
+ if (Boxnumber > compareToorderdetails1.Boxnumber) {
+ returnValue = -1;
+ } else if (Boxnumber < compareToorderdetails1.Boxnumber) {
+ returnValue = 1;
+ }
+ return returnValue;
+ } else {
+ if (Boxnumber > compareToorderdetails1.Boxnumber) {
+ returnValue = 1;
+ } else if (Boxnumber < compareToorderdetails1.Boxnumber) {
+ returnValue = -1;
+ }
+ return returnValue;
+ }
+ }
+ }
+
+ class ConsumableorderdetailsInfoLwc{
+ @AuraEnabled
+ public Boolean check { get; set; }
+ @AuraEnabled
+ public Boolean oldCheck { get; set; }
+ @AuraEnabled
+ public Consumable_Orderdetails__c orderdetails1 { get; set; }
+ @AuraEnabled
+ public Consumable_order_details2__c orderdetails2 { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public Decimal Boxnumber { get; set; }
+ @AuraEnabled
+ public Decimal Piecenumber { get; set; }
+ @AuraEnabled
+ public Decimal allnumber { get; set; }
+ @AuraEnabled
+ public Decimal oldConsumableCount { get; set; }
+ @AuraEnabled
+ public Boolean canSelect { get; set; }
+ @AuraEnabled
+ public Boolean sortBy { get; set; }
+ @AuraEnabled
+ public Integer packinglist { get; set; }
+ @AuraEnabled
+ public String approbation_No { get; set; }
+ @AuraEnabled
+ public Date expiration_Date { get; set; }
+ @AuraEnabled
+ public String boxorpiecein { get; set; }
+ public List<SelectOption> boxorpiece { get; set; }
+ @AuraEnabled
+ public Map<String, String> boxorpieceMap { get; set; }
+ @AuraEnabled
+ public Attachment concc { get; set; }
+ @AuraEnabled
+ public String BoxPiece { get; set; }
+ @AuraEnabled
+ public Boolean hospitalSpecialOffer { get; set; }
+ @AuraEnabled
+ public Boolean hosPro { get; set; }
+ @AuraEnabled
+ public List<Map<String,String>> unitOptions{ get; set; }
+ @AuraEnabled
+ public String unitValue{ get; set; }
+ @AuraEnabled
+ public Integer shipmentNumber{ get; set; }
+ @AuraEnabled
+ public Decimal shippingUnitPrice{ get; set; }
+ @AuraEnabled
+ public String recordId{ get; set; }
+ @AuraEnabled
+ public String Id{ get; set; }
+ @AuraEnabled
+ public String Name{ get; set; }
+ @AuraEnabled
+ public String Category3{ get; set; }
+ @AuraEnabled
+ public String Category4{ get; set; }
+ @AuraEnabled
+ public String Category5{ get; set; }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSummonsCreatController.cls-meta.xml b/force-app/main/default/classes/LexSummonsCreatController.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexSummonsCreatController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/NFMUtil.cls b/force-app/main/default/classes/NFMUtil.cls
index a8be243..d058c29 100644
--- a/force-app/main/default/classes/NFMUtil.cls
+++ b/force-app/main/default/classes/NFMUtil.cls
@@ -1321,9 +1321,7 @@
request.setEndpoint(hostUrl + '/api/nfm/reCallNFM624Batch?nfm624RequestId=' + GeDataList[0].nfm624RequestId + '&rowDataId=' + rowDataId);
request.setMethod('GET');
request.setHeader('pi-token',documentPI.token);
- request.setTimeout(60000);
HttpResponse response = http.send(request);
- System.debug('response = ' + response);
System.debug('send batchSendToAWS624');
}
//zhj batch 璋冪敤624鎺ュ彛鐨勬椂鍊� 闇�瑕佽皟鐢ˋWS 2023-01-08 end
@@ -1344,7 +1342,7 @@
System.debug('documentPI.token = ' + documentPI.token);
request.setEndpoint(hostUrl + '/api/nfm/reCallNFM624?reCallNfm624RequestId=' + GeDataList[0].reCallNfm624RequestId + '&rowDataId=' + rowDataId);
request.setMethod('GET');
- request.setHeader('pi-token',documentPI.token);
+ request.setHeader('pi-token',documentPI.token);
HttpResponse response = http.send(request);
System.debug('send againSendToAWS624');
}
@@ -1377,74 +1375,6 @@
public static Integer ControllerUtil() {
Integer i = 0;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
- i++;
i++;
i++;
i++;
diff --git a/force-app/main/default/classes/PaginatedListControllerLwc.cls b/force-app/main/default/classes/PaginatedListControllerLwc.cls
new file mode 100644
index 0000000..8aeed94
--- /dev/null
+++ b/force-app/main/default/classes/PaginatedListControllerLwc.cls
@@ -0,0 +1,42 @@
+public with sharing class PaginatedListControllerLwc {
+ @AuraEnabled
+ public static PaginatedAccounts getAccountsPaginated(Integer pageSize, Integer pageToken, String sortField, String sortOrder) {
+ system.debug('init soql'+ String.valueOf(pageSize) + String.valueof(pageToken));
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ String paginatedQuery = 'SELECT Name, Type, Phone, NumberOfEmployees, Owner.Name'
+ + ' FROM Account'
+ + ' WITH SECURITY_ENFORCED';
+ system.debug('sort field:'+sortField + '--'+sortOrder);
+ if(sortField != null && sortOrder !=null) {
+ paginatedQuery += ' ORDER BY '+ sortField +' '+ sortOrder;
+ }
+ paginatedQuery += ' LIMIT ' + pageSize;
+ paginatedQuery += ' OFFSET ' + pageToken;
+ system.debug('SOQL:' + paginatedQuery);
+ paginatedAccounts.records = Database.query(paginatedQuery);
+ Integer totalCount = [SELECT COUNT() FROM Account];
+
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken/pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+ return paginatedAccounts;
+ }
+
+ public class PaginatedAccounts {
+ @AuraEnabled
+ public List<Account> records;
+ @AuraEnabled
+ public Integer nextPageToken;
+ @AuraEnabled
+ public Integer pageNumber {get;set;}
+ @AuraEnabled
+ public Integer totalRecords {get;set;}
+ @AuraEnabled
+ public Integer recordStart {get;set;}
+ @AuraEnabled
+ public Integer recordEnd {get;set;}
+ }
+}
diff --git a/force-app/main/default/classes/PaginatedListControllerLwc.cls-meta.xml b/force-app/main/default/classes/PaginatedListControllerLwc.cls-meta.xml
new file mode 100644
index 0000000..40d6793
--- /dev/null
+++ b/force-app/main/default/classes/PaginatedListControllerLwc.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/SaleOrderController.cls b/force-app/main/default/classes/SaleOrderController.cls
index eb8a1ab..31dba36 100644
--- a/force-app/main/default/classes/SaleOrderController.cls
+++ b/force-app/main/default/classes/SaleOrderController.cls
@@ -222,10 +222,12 @@
List<hospitalprice__c> hpList = [select id,hospital__c,product__c from hospitalprice__c where account__c = :accountid];
if (hpList!= null && hpList.size() > 0) {
for (hospitalprice__c hp : hpList) {
- proIdMap.put((''+hp.product__c).subString(0,15)+'鏄�', '');
- if (hp.hospital__c ==coc.Order_ForHospital__c) {
- proHosMap.put((''+hp.product__c).subString(0,15)+'鏄�', '');
- }
+ if(hp.product__c!=null && String.valueof(hp.product__c).length()>=15){//Add by Li Jun for issue fix 20230403
+ proIdMap.put((''+hp.product__c).subString(0,15)+'鏄�', '');
+ if (hp.hospital__c ==coc.Order_ForHospital__c) {
+ proHosMap.put((''+hp.product__c).subString(0,15)+'鏄�', '');
+ }
+ }
}
}
diff --git a/force-app/main/default/classes/SampleLookupController.cls b/force-app/main/default/classes/SampleLookupController.cls
new file mode 100644
index 0000000..cbc1088
--- /dev/null
+++ b/force-app/main/default/classes/SampleLookupController.cls
@@ -0,0 +1,89 @@
+public with sharing class SampleLookupController {
+ private final static Integer MAX_RESULTS = 5;
+
+ @AuraEnabled(cacheable=true scope='global')
+ public static List<LookupSearchResult> search(String searchTerm, List<String> selectedIds) {
+ // Prepare query parameters
+ searchTerm += '*';
+
+ // Execute search query
+ // List<List<SObject>> searchResults = [
+ // FIND :searchTerm
+ // IN ALL FIELDS
+ // RETURNING
+ // Account(Id, Name, BillingCity WHERE id NOT IN :selectedIds),
+ // Opportunity(Id, Name, StageName WHERE id NOT IN :selectedIds)
+ // LIMIT :MAX_RESULTS
+ // ];
+
+ // Prepare results
+ List<LookupSearchResult> results = new List<LookupSearchResult>();
+
+ // Extract Accounts & convert them into LookupSearchResult
+ String accountIcon = 'standard:account';
+ //Account[] accounts = (List<Account>) searchResults[0];
+ Account[] accounts = [select id,Name,CreatedDate,BillingCity from Account limit 5];
+ for (Account account : accounts) {
+ String subtitle = account.BillingCity == null ? 'Account' : 'Account 鈥� ' + account.BillingCity;
+ results.add(new LookupSearchResult(account.Id, 'Account', accountIcon, account.Name, subtitle));
+ }
+
+ // Extract Opportunities & convert them into LookupSearchResult
+ // String opptyIcon = 'standard:opportunity';
+ // Opportunity[] opptys = (List<Opportunity>) searchResults[1];
+ // for (Opportunity oppty : opptys) {
+ // results.add(
+ // new LookupSearchResult(
+ // oppty.Id,
+ // 'Opportunity',
+ // opptyIcon,
+ // oppty.Name,
+ // 'Opportunity 鈥� ' + oppty.StageName
+ // )
+ // );
+ // }
+
+ // Optionnaly sort all results on title
+ results.sort();
+ System.debug('results = ' + results);
+ return results;
+ }
+
+ @AuraEnabled(cacheable=true scope='global')
+ public static List<LookupSearchResult> getRecentlyViewed() {
+ List<LookupSearchResult> results = new List<LookupSearchResult>();
+ // Get recently viewed records of type Account or Opportunity
+ List<RecentlyViewed> recentRecords = [
+ SELECT Id, Name, Type
+ FROM RecentlyViewed
+ WHERE Type = 'Account' OR Type = 'Opportunity'
+ ORDER BY LastViewedDate DESC
+ LIMIT 5
+ ];
+ // Convert recent records into LookupSearchResult
+ for (RecentlyViewed recentRecord : recentRecords) {
+ if (recentRecord.Type == 'Account') {
+ results.add(
+ new LookupSearchResult(
+ recentRecord.Id,
+ 'Account',
+ 'standard:account',
+ recentRecord.Name,
+ 'Account 鈥� ' + recentRecord.Name
+ )
+ );
+ } else {
+ results.add(
+ new LookupSearchResult(
+ recentRecord.Id,
+ 'Opportunity',
+ 'standard:opportunity',
+ recentRecord.Name,
+ 'Opportunity 鈥� ' + recentRecord.Name
+ )
+ );
+ }
+ }
+ return results;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/SampleLookupController.cls-meta.xml b/force-app/main/default/classes/SampleLookupController.cls-meta.xml
new file mode 100644
index 0000000..754ecb1
--- /dev/null
+++ b/force-app/main/default/classes/SampleLookupController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/TestClassByLiJun.cls b/force-app/main/default/classes/TestClassByLiJun.cls
new file mode 100644
index 0000000..6c54522
--- /dev/null
+++ b/force-app/main/default/classes/TestClassByLiJun.cls
@@ -0,0 +1,5 @@
+public without sharing class TestClassByLiJun {
+ public TestClassByLiJun() {
+ system.debug(Test.isRunningTest());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/TestClassByLiJun.cls-meta.xml b/force-app/main/default/classes/TestClassByLiJun.cls-meta.xml
new file mode 100644
index 0000000..9bbf7b4
--- /dev/null
+++ b/force-app/main/default/classes/TestClassByLiJun.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html
new file mode 100644
index 0000000..8d1bce1
--- /dev/null
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html
@@ -0,0 +1,12 @@
+<template>
+ <lightning-input
+ step="0.01"
+ type="number"
+ name="shipmentUnitPrice"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ data-field="shipmentUnitPrice"
+ value={shipmentUnitPrice}
+ onblur={shipmentUnitPriceBlur}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js
new file mode 100644
index 0000000..45bfe3a
--- /dev/null
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js
@@ -0,0 +1,24 @@
+import { LightningElement,api,track } from 'lwc';
+
+export default class CustomShippingUnitPriceComp extends LightningElement {
+ @api recordId;
+ @track shipmentUnitPrice = 0.00;
+
+ connectedCallback(){
+ console.log('CustomShippingUnitPriceComp recordId = ' + this.recordId);
+ }
+
+ shipmentUnitPriceBlur(event){
+ console.log('shipmentUnitPriceBlur')
+ this.shipmentUnitPrice = event.target.value;
+
+ this.dispatchEvent(new CustomEvent('shipmentunitprice', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { shipmentunitprice: this.shipmentUnitPrice, recordId: this.recordId }
+ }
+ }));
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customUnitComp/customUnitComp.html b/force-app/main/default/lwc/customUnitComp/customUnitComp.html
new file mode 100644
index 0000000..f9509e5
--- /dev/null
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.html
@@ -0,0 +1,13 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <!-- <select id="citySel" class="selectUnit" onchange={handleDataChange} data-field="selectUnit">
+ <template for:each={unitOptions} for:item="uo">
+ <option value={uo.value} key={uo.value}>{uo.label}</option>
+ </template>
+ </select> -->
+ <div class="picklist-container">
+ <lightning-combobox name="selectUnit" label="unit" value={unitValue} variant="label-hidden"
+ onchange={handleDataChange} data-field="selectUnit" options={unitOptions}></lightning-combobox>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customUnitComp/customUnitComp.js b/force-app/main/default/lwc/customUnitComp/customUnitComp.js
new file mode 100644
index 0000000..df1600b
--- /dev/null
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.js
@@ -0,0 +1,26 @@
+import { LightningElement,api } from 'lwc';
+
+export default class CustomUnitComp extends LightningElement {
+ @api unitValue;
+ @api unitOptions;
+ @api recordId;
+
+ connectedCallback(){
+ console.log('unitValue = ' + this.unitValue);
+ console.log('unitOptions = ' + JSON.stringify(this.unitOptions));
+ console.log('recordId = ' + this.recordId);
+ }
+
+ handleDataChange(event){
+ console.log('dataChange' + event.target.value);
+
+ this.dispatchEvent(new CustomEvent('unitchange', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { unitValue: this.unitValue, recordId: this.recordId }
+ }
+ }));
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml b/force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html
new file mode 100644
index 0000000..6b8fb9f
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html
@@ -0,0 +1,7 @@
+<template>
+ <c-custom-shipment-Amount-comp
+ shipment-amount={typeAttributes.shipmentAmount}
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-Amount-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
new file mode 100644
index 0000000..9c16166
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
@@ -0,0 +1,6 @@
+<template>
+ <c-custom-shipment-number-comp
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-number-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
new file mode 100644
index 0000000..a4d518a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
@@ -0,0 +1,6 @@
+<template>
+ <c-custom-shipping-unit-price-comp
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipping-unit-price-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html
new file mode 100644
index 0000000..b1dddef
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html
@@ -0,0 +1,11 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <c-custom-unit-comp
+ unit-value={typeAttributes.unitValue}
+ unit-options={typeAttributes.unitOptions}
+ record-id={typeAttributes.recordId}
+ onunitchange={handleDataChange}
+ >
+ </c-custom-unit-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html
new file mode 100644
index 0000000..27e0f69
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
new file mode 100644
index 0000000..a7ef433
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
@@ -0,0 +1,33 @@
+import LightningDatatable from 'lightning/datatable';
+import customUnitTemplate from './customUnit.html';
+import customShipmentNumberTemplate from './customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
+import customShipmentAmountTemplate from './customShipmentAmount.html';
+import { loadStyle } from 'lightning/platformResourceLoader';
+import LexCustomDataTable from '@salesforce/resourceUrl/LexCustomDataTable';
+
+export default class LexCustomLightningDatatable extends LightningDatatable {
+ static customTypes = {
+ customUnit: {
+ template: customUnitTemplate,
+ typeAttributes: ['unitValue', 'unitOptions', 'recordId']
+ },
+ customShipment: {
+ template: customShipmentNumberTemplate,
+ typeAttributes: ['recordId']
+ },
+ customShipmentUnitPrice: {
+ template: customShippingUnitPriceTemplate,
+ typeAttributes: ['recordId']
+ },
+ customShipmentAmount: {
+ template: customShipmentAmountTemplate,
+ typeAttributes: ['shipmentAmount', 'recordId']
+ }
+ };
+ constructor() {
+ super();
+ Promise.all([loadStyle(this, LexCustomDataTable)]).then(() => {});
+ }
+
+}
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
new file mode 100644
index 0000000..3f9fe41
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
@@ -0,0 +1,196 @@
+<template>
+
+ <template if:true={showcount}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <div>
+ <p style="font-size: 19px;float:left"><strong>搴撳瓨鐩樼偣</strong></p>
+ </div>
+ <div style="margin-left:400px;">
+ <lightning-button label="鐩樼偣纭" title="鐩樼偣纭" onclick={saveConfirm}></lightning-button></td>
+ </div>
+ </div>
+
+ <div style="padding:10px;">
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <table>
+ <colgroup>
+ <col width="160px" />
+ <col width="100px" />
+ <col width="10px" />
+ <col width="70px" />
+ <col width="100px" />
+ <col width="10px" />
+ <col width="90px" />
+ <col width="100px" />
+ <col width="10px" />
+ <col width="85px" />
+ <col width="100px" />
+ <col width="10px" />
+ <col width="70px" />
+ <col width="100px" />
+ </colgroup>
+ <tbody>
+ <tr>
+ <td></td>
+ <td align="right">Barcode</td>
+ <td style="width:600px"><lightning-textarea name="Barcode" label=""
+ onchange={handleChange}></lightning-textarea></td>
+ <td align="right"></td>
+ <td></td>
+ <td><lightning-button label="Barcode" title="Barcode褰曞叆" onclick={barcodeEntrys}
+ style="width: 150px;"></lightning-button>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <p style="font-size: 16px;"><strong>鍦ㄥ簱鍟嗗搧搴撳瓨涓�瑙�</strong></p>
+ </div>
+ <div style="padding:10px;">
+
+ <div style="height: 300px;">
+ <template if:true={showTable}>
+
+ <c-lex-custom-lightning-datatable key-field="ProdId" data={data} columns={columns}
+ ondiffreasons={diffreasons} onrowselection={getSelectedRows}
+ selected-rows={selectedRows}>
+ </c-lex-custom-lightning-datatable>
+ </template>
+ <!-- 鍔犺浇妗� -->
+
+ <div if:true={casesSpinner} class="slds-spinner_inline spinner-padding"
+ style="margin-top:10px;">
+ <lightning-spinner variant="brand" alternative-text="Loading Cases" size="medium">
+ </lightning-spinner>
+ </div>
+
+ </div>
+
+ </div>
+ </div>
+ </div>
+
+
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:50px">
+ <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <table>
+ <tr>
+ <td>
+ <p style="font-size: 16px;"><strong>璋冩暣鏄庣粏</strong></p>
+ </td>
+ <template if:true={showbutton}>
+ <td align="center"> <lightning-button label="涓嬭浇鏈鐩樼偣搴撳瓨鍙樺寲鏄庣粏" title="涓嬭浇鏈鐩樼偣搴撳瓨鍙樺寲鏄庣粏"
+ onclick={exportData} style="width: 150px;"></lightning-button></td>
+ </template>
+ </tr>
+ </table>
+ </div>
+
+ <div style="padding:10px;">
+ <template if:true={showTable}>
+ <c-lwc-datatable-utility records={codPageRecords} total-records={codPageRecords.length}
+ columns={column} key-field="Id" show-search-box="true"
+ max-row-selection={codPageRecords.length} onpaginatorchange={handlePaginatorChange}>
+ </c-lwc-datatable-utility>
+ </template>
+
+
+ </div>
+ </div>
+ </div>
+ </template>
+
+
+ <template if:true={EditAble}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:6px;">
+ <p style="font-size: 19px;"><strong>鐩樼偣鎯呭喌涓�瑙�</strong></p>
+
+ </div>
+ <div class="acc-container">
+ <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={conId}>
+ <lightning-layout multiple-rows="true">
+ <!-- <template if:true={isSummonsFlag}> -->
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Inventory_date__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <!-- </template> -->
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </div>
+ </div>
+ </div>
+
+ <lightning-accordion allow-multiple-sections-open class="slds-m-around_medium"
+ active-section-name={activeSections}>
+ <lightning-accordion-section name="dataExpand" label="鐩樼偣鏄庣粏">
+ <table class="list" border="0" cellpadding="0" cellspacing="0" id="example">
+ <thead>
+ <tr class="headerRow">
+ <th>娑堣�楀搧鍚嶇О</th>
+ <th>搴撳瓨</th>
+ <th>鐩樼偣</th>
+ <th>涓㈠け</th>
+ <th>瀵诲洖</th>
+ <th>宸紓鍘熷洜</th>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={detailData} for:item="m">
+ <tr key={m.Prod.Name__c}>
+ <td>{m.Prod.Name__c}</td>
+ <td>{m.orderdetails1.Count_Sum__c}</td>
+ <td>{m.orderdetails1.inventory_sum__c}</td>
+ <td>{m.orderdetails1.Diff__c}</td>
+ <td>{m.orderdetails1.Product_Refind__c}</td>
+ <td>{m.orderdetails1.Lose_reason__c}</td>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+ </lightning-accordion-section>
+ </lightning-accordion>
+ <lightning-accordion allow-multiple-sections-open class="slds-m-around_medium"
+ active-section-name={activeSections}>
+ <lightning-accordion-section name="dataExpand" label="鍦ㄥ簱璋冩暣鏄庣粏">
+ <table class="list" border="0" cellpadding="0" cellspacing="0" id="examples">
+ <thead>
+ <tr class="headerRow">
+ <th>娑堣�楀搧鍚嶇О</th>
+ <th>浜у搧鍨嬪彿</th>
+ <th>宸紓鍘熷洜</th>
+ <th>鏄惁涓㈠け</th>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={adjustdata} for:item="m">
+ <tr key={m.Prod.Name__c}>
+ <td>{m.Prod.Name__c}</td>
+ <td>{m.Prod.Asset_Model_No__c}</td>
+ <td>{m.orderdetails2.Lose_reason__c}</td>
+ <td>{m.orderdetails1.Diff__c}</td>
+ <td>{m.orderdetails1.Product_Refind__c}</td>
+ <td>{m.orderdetails2.Lose_Flag__c}</td>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+
+ </lightning-accordion-section>
+ </lightning-accordion>
+ </div>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
new file mode 100644
index 0000000..3f9c9a4
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
@@ -0,0 +1,502 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import oninit from '@salesforce/apex/LexInventoryController.init';
+import barcodeEntry from '@salesforce/apex/LexInventoryController.searchConsumableorderdetails';
+import saveConfirm from '@salesforce/apex/LexInventoryController.save';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+
+//搴撳瓨鐩樼偣涓婚〉闈㈡暟鎹�
+const columns = [
+ {
+ label: '鏄惁鐩樼偣',
+ fieldName: 'iscount',
+ type: 'checkbox',
+ cellAttributes: { alignment: 'left' }
+ },
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ type: 'Name',
+ cellAttributes: { alignment: 'left' }
+ },
+ {
+ label: '瑙勬牸',
+ fieldName: 'Packing_list_manual__c',
+ hideDefaultActions: true
+ },
+ {
+ label: '鍗曚綅',
+ fieldName: 'boxPiece',
+ hideDefaultActions: true
+ },
+ {
+ label: '鏈夋晥鏈熷唴搴撳瓨',
+ fieldName: 'limitCount',
+ hideDefaultActions: true
+ },
+
+ {
+ label: '杩囨湡搴撳瓨',
+ fieldName: 'overlimitCount',
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: '鐩樼偣',
+ fieldName: 'Pandian',
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: '涓㈠け',
+ fieldName: 'Diff',
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: '瀵诲洖 ',
+ fieldName: 'refind',
+ hideDefaultActions: true,
+ initialWidth: 150
+ },
+ {
+ label: '宸紓鍘熷洜',
+ // fieldName: "DiffReason",
+ hideDefaultActions: true,
+ type: 'customDiffReason',
+ typeAttributes: {
+ DiffReason: { fieldName: 'DiffReason' },
+ ProdId: { fieldName: 'ProdId' }
+ }
+ }
+];
+
+//璋冩暣鏄庣粏
+const column = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ type: 'Name',
+ cellAttributes: { alignment: 'left' }
+ },
+ {
+ label: '鍗曚綅',
+ fieldName: 'Box_Piece__c',
+ hideDefaultActions: true
+ },
+ {
+ label: 'barcode',
+ fieldName: 'Bar_Code__c',
+ hideDefaultActions: true,
+ initialWidth: 150
+ },
+ {
+ label: '璋冩暣鍘熷洜',
+ fieldName: 'DiffReason',
+ hideDefaultActions: true
+ }
+];
+//鐩樼偣鏄庣粏
+const dcolumns = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ type: 'Name',
+ cellAttributes: { alignment: 'left' }
+ },
+ {
+ label: '搴撳瓨',
+ fieldName: 'Box_Piece__c',
+ hideDefaultActions: true
+ },
+ {
+ label: '鐩樼偣',
+ fieldName: 'Bar_Code__c',
+ hideDefaultActions: true,
+ initialWidth: 150
+ },
+ {
+ label: '涓㈠け',
+ fieldName: 'DiffReason',
+ hideDefaultActions: true
+ },
+ {
+ label: '瀵诲洖',
+ fieldName: 'DiffReason',
+ hideDefaultActions: true
+ },
+ ,
+ {
+ label: '宸紓鍘熷洜',
+ fieldName: 'DiffReason',
+ hideDefaultActions: true
+ }
+];
+
+//鍦ㄥ簱璋冩暣鏄庣粏
+const stockadjustcolumns = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ type: 'Name',
+ cellAttributes: { alignment: 'left' }
+ },
+ {
+ label: '浜у搧鍨嬪彿',
+ fieldName: 'Box_Piece__c',
+ hideDefaultActions: true
+ },
+ {
+ label: '宸紓鍘熷洜',
+ fieldName: 'Bar_Code__c',
+ hideDefaultActions: true,
+ initialWidth: 150
+ },
+ {
+ label: '鏄惁涓㈠け',
+ fieldName: 'DiffReason',
+ hideDefaultActions: true
+ }
+];
+
+export default class LexInventoryCount extends NavigationMixin(
+ LightningElement
+) {
+ columns = columns;
+ column = column;
+ stockadjustcolumns = stockadjustcolumns;
+ dcolumns = dcolumns;
+ @track data = [];
+ @track codPageRecords = [];
+ @track accountName;
+ @track agencyProType;
+ @track userWorkLocation;
+ @track showTable = false;
+ @track showbutton = false;
+ @track barCode;
+ @track ConsumableorderdetailsRecordsview = [];
+ @track consumableorderdetailsRecords = [];
+ @track showTable = false;
+ @track barcode;
+ @track showcount = true;
+
+ @track iSinventory;
+ @track numberDetail;
+
+ //鍔犺浇妗�
+ @track casesSpinner = true;
+ //row
+ @track selectedRows = [];
+ //inventoryList
+ @track isSummonsFlag;
+ //灞曞紑鏍�
+ activeSections = ['dataExpand'];
+ columnHeader = ['娑堣�楀搧鍚嶇О', '鍗曚綅', 'barCode', '璋冩暣鍘熷洜'];
+ //纭涓�瑙�
+ @track eSetId = '';
+ @track EditAble = false;
+ @track selectedData;
+ @track conId;
+ @track detailData = [];
+ @track adjustdata = [];
+
+ //鑾峰彇閾炬帴鍙傛暟
+ getQueryString(name) {
+ console.log('getQueryString name ' + name);
+ let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+ let r = window.location.search.substr(1).match(reg);
+ if (r != null) {
+ return decodeURIComponent(r[2]);
+ }
+ return null;
+ }
+
+ connectedCallback() {
+ console.log('===>鍒濆鍖�');
+ //鑾峰彇ESetid
+ this.eSetId = this.getQueryString('eSetId');
+ this.eSetId = this.eSetId == null ? '' : this.eSetId;
+ console.log(' this.eSetId' + this.eSetId);
+ this.EditAble = false;
+ this.showcount = true;
+ oninit()
+ .then((result) => {
+ console.log('1112' + JSON.stringify(result));
+ result = JSON.parse(JSON.stringify(result));
+ console.log('result.status = ' + result.status);
+ console.log(
+ ' ConsumableorderdetailsRecordsview= ' +
+ result.entity.ConsumableorderdetailsRecordsview
+ );
+ this.ConsumableorderdetailsRecordsview = JSON.parse(
+ result.entity.ConsumableorderdetailsRecordsview
+ );
+ this.consumableorderdetailsRecords =
+ result.entity.consumableorderdetailsRecords;
+ console.log(
+ ' consumableorderdetailsRecords= ' +
+ result.entity.consumableorderdetailsRecords
+ );
+
+ console.log(
+ '浼犲弬绫诲瀷',
+ typeof this.consumableorderdetailsRecords
+ );
+ if (result.status == 'Success') {
+ console.log(
+ 'this.ConsumableorderdetailsRecordsview[0] = ' +
+ JSON.stringify(
+ this.ConsumableorderdetailsRecordsview[0]
+ )
+ );
+ console.log(
+ 'this.ConsumableorderdetailsRecordsview[0].length = ' +
+ this.ConsumableorderdetailsRecordsview[0].length
+ );
+
+ // let cloneData = [];
+ // for (let i in this.ConsumableorderdetailsRecordsview[0]) {
+ // cloneData.push(JSON.parse(this.ConsumableorderdetailsRecordsview[0][i]));
+ // }
+ // console.log('cloneData = ' + typeof cloneData);
+ // console.log('cloneData = ' + cloneData);
+ // this.data = cloneData;
+ this.data = [];
+ this.data = this.ConsumableorderdetailsRecordsview[0];
+ console.log('this.data ==>' + JSON.stringify(this.data));
+ for (let i in this.data) {
+ this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
+ this.data[i]['Packing_list_manual__c'] =
+ this.data[i].Prod.Packing_list_manual__c;
+ }
+ this.accountName = result.entity.accountName;
+ this.agencyProType = result.entity.agencyProType;
+ this.userWorkLocation = result.entity.userWorkLocation;
+ this.casesSpinner = false;
+ this.showTable = true;
+ } else {
+ console.log('Error:' + result.errorMsg);
+ const evt = new ShowToastEvent({
+ title: '瑙f瀽澶辫触',
+ message: result.errorMsg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ }
+ })
+ .catch((error) => {
+ console.log('error = ' + JSON.stringify(error));
+ });
+ //榛樿灞曞紑鏍�
+ this.activeSections = ['dataExpand'];
+ this.showTable = false;
+ this.showbutton = false;
+ //init
+ }
+ //褰曞叆barcode
+
+ barcodeEntrys() {
+ this.showTable = false;
+ this.showbutton = false;
+ console.log('杩涘叆褰曞叆');
+ console.log(
+ 'this.consumableorderdetailsRecords===>' +
+ this.consumableorderdetailsRecords
+ );
+ if (
+ this.barcode == '' ||
+ this.barcode == null ||
+ this.barcode == 'undefined'
+ ) {
+ this.connectedCallback();
+ }
+
+ barcodeEntry({
+ accountName: this.accountName,
+ agencyProType: this.agencyProType,
+ userWorkLocation: this.userWorkLocation,
+ barcode: this.barcode,
+ consumableorderdetailsRecordsLWC: this.consumableorderdetailsRecords
+ })
+ .then((result) => {
+ // result = JSON.parse(JSON.stringify(result));
+ this.codPageRecords = JSON.parse(result.entity.codPageRecords);
+ for (var i in this.codPageRecords) {
+ this.codPageRecords[i]['Name__c'] =
+ this.codPageRecords[i].Prod.Name__c;
+ this.codPageRecords[i]['Box_Piece__c'] =
+ this.codPageRecords[i].orderdetails2.Box_Piece__c;
+ this.codPageRecords[i]['Bar_Code__c'] =
+ this.codPageRecords[i].orderdetails2.Bar_Code__c;
+ }
+ this.data = JSON.parse(
+ result.entity.consumableorderdetailsRecords
+ );
+ for (var i in this.data) {
+ this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
+ this.data[i]['Packing_list_manual__c'] =
+ this.data[i].Prod.Packing_list_manual__c;
+ }
+ for (var i in this.data) {
+ if (this.data[i]['check']) {
+ this.selectedRows.push(this.data[i].ProdId);
+ console.log('selectedRows:' + this.selectedRows);
+ }
+ }
+ this.iSinventory = result.entity.iSinventory;
+ console.log('iSinventory:' + this.iSinventory);
+ this.showTable = true;
+ this.showbutton = true;
+
+ console.log(
+ ' this.codPageRecords=11111 ' + result.entity.codPageRecords
+ );
+ console.log('result褰曞叆= ' + JSON.stringify(result));
+ console.log(
+ 'result涓婚〉鏁版嵁= ' +
+ result.entity.consumableorderdetailsRecords
+ );
+ })
+ .catch((error) => {
+ console.log('error = ' + JSON.stringify(error));
+ });
+ }
+ //鑾峰彇褰撳墠杈撳叆鍊�
+ handleChange(event) {
+ let value = event.detail.value;
+ console.log('value' + value);
+ this.barcode = value;
+ }
+
+ getSelectedRows(event) {
+ const selectedRows = event.detail.selectedRows;
+ console.log('this.selectedRows = ' + this.selectedRows);
+ for (var i in this.data) {
+ this.data[i]['check'] = false;
+ }
+ for (var i in this.data) {
+ for (var j in selectedRows) {
+ if (this.data[i].Id == selectedRows[j].Id) {
+ this.data[i]['check'] = true;
+ }
+ }
+ }
+ }
+
+ //瀵煎嚭涓篶sv
+ exportData() {
+ console.log('瀵煎嚭');
+ // Prepare a html table
+ let doc = '<table>';
+ // Add styles for the table
+ doc += '<style>';
+ doc += 'table, th, td {';
+ doc += ' border: 1px solid black;';
+ doc += ' border-collapse: collapse;';
+ doc += '}';
+ doc += '</style>';
+ // Add all the Table Headers
+ doc += '<tr>';
+ this.columnHeader.forEach((element) => {
+ doc += '<th>' + element + '</th>';
+ });
+ doc += '</tr>';
+ // Add the data rows
+ this.codPageRecords.forEach((record) => {
+ doc += '<tr>';
+ doc += '<th>' + record.Name__c + '</th>';
+ doc += '<th>' + record.Box_Piece__c + '</th>';
+ doc += '<th>' + record.Bar_Code__c + '</th>';
+ doc += '<th>' + record.DiffReason + '</th>';
+ doc += '</tr>';
+ });
+ doc += '</table>';
+ var element =
+ 'data:application/vnd.ms-excel,' + encodeURIComponent(doc);
+ let downloadElement = document.createElement('a');
+ downloadElement.href = element;
+ downloadElement.target = '_self';
+ // use .csv as extension on below line if you want to export data as csv
+ downloadElement.download = '搴撳瓨鍙樺寲鏄庣粏.xls';
+ document.body.appendChild(downloadElement);
+ downloadElement.click();
+ }
+
+ //鑷畾涔塪ataType
+
+ diffreasons(event) {
+ const numberDetail = event.detail;
+ // this.numberDetail = numberDetail;
+ console.log('numberDetail' + JSON.stringify(numberDetail));
+ for (var i in this.data) {
+ if (this.data[i]['ProId'] == numberDetail.data.ProId) {
+ this.data[i]['DiffReason'] = numberDetail.data.DiffReason;
+ }
+ }
+ console.log(' this.data==>' + JSON.stringify(this.data));
+ }
+
+ saveConfirm() {
+ console.log('杩涘叆鐩樼偣纭');
+ var el = this.template.querySelector(
+ 'c-lex-custom-lightning-datatable'
+ );
+ var selected = el.getSelectedRows();
+ this.selectedData = selected;
+ console.log('閫変腑鏁版嵁' + JSON.stringify(this.selectedData));
+ saveConfirm({
+ iSinventory: this.iSinventory,
+ consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData)
+ })
+ .then((result) => {
+ console.log('result = ' + JSON.stringify(result));
+ this.EditAble = true;
+ this.showcount = false;
+ // result = JSON.parse(JSON.stringify(result));
+ // console.log('result = ' + JSON.stringify(result));
+
+ // if (result.status == 'Success') {
+ // // let url = '/lexInventoryCount?eSetId=' + result.entity.eSetId;
+ // // this[NavigationMixin.Navigate]({
+ // // type: 'standard__webPage',
+ // // attributes: {
+ // // url: url
+ // // }
+ // // });
+ // this.EditAble = true;
+ // this.showcount = false;
+ // } else {
+ // console.log('result.msg = ' + result.msg);
+ // const evt = new ShowToastEvent({
+ // title: '澶辫触',
+ // message: result.msg,
+ // variant: 'error'
+ // });
+ // this.dispatchEvent(evt);
+ // }
+ })
+ .catch((error) => {
+ console.log('error = ' + JSON.stringify(error));
+ });
+ }
+
+ // inits(){
+ // init({
+ // eSetId:this.eSetId
+ // }).then((result) => {
+ // result = JSON.parse(JSON.stringify(result));
+ // for(var i in result.entity.qs){
+ // this.conId = result.entity.qs[i].Id;
+ // }
+ // console.log('this.conId'+typeof( this.conId));
+ // this.detailData = JSON.parse(result.entity.consumableorderdetailsRecords);
+
+ // console.log('result鐩樼偣Id'+JSON.stringify(this.conId));
+
+ // })
+ // .catch((error) => {
+ // console.log("error = " + JSON.stringify(error));
+ // });
+
+ // }
+}
diff --git a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js-meta.xml b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js-meta.xml
new file mode 100644
index 0000000..6cf1ec7
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css
new file mode 100644
index 0000000..ade7b53
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css
@@ -0,0 +1,29 @@
+.outerBorderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ border-top : 3px solid #565959;
+}
+.borderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ margin-bottom : 7px;
+ border-top : 3px solid #565959;
+}
+.headerDorderCss{
+ border-top: 1px solid #565959;
+ border-bottom: 1px solid #D4D4D4;
+ padding:3px;
+}
+.centerCss{
+ text-align: center;
+}
+.centerCss .left{
+ margin-left: 100px;
+}
+.datatable {
+ max-height: 400px !important;
+}
+.tableColumn {
+ margin-top: 5px !important;
+ overflow-x: auto;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
new file mode 100644
index 0000000..54406f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
@@ -0,0 +1,564 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <template if:true={isShowSpinner}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </template>
+ <!-- 鎼滅储瀹㈡埛鍚� -->
+ <template if:true={isModalOpen}>
+ <!-- Modal/Popup Box LWC starts here -->
+ <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true"
+ aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <!-- Modal/Popup Box LWC header here -->
+ <header class="slds-modal__header">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse"
+ title="Close" onclick={closeModal}>
+ <lightning-icon icon-name="utility:close" alternative-text="close" variant="inverse"
+ size="small"></lightning-icon>
+ <span class="slds-assistive-text">Close</span>
+ </button>
+ <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">
+ 缁忛攢鍟嗗尰闄㈡绱�
+ </h2>
+ </header>
+ <!-- Modal/Popup Box LWC body starts here -->
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
+ <lightning-layout>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-input type="text" label="鍖婚櫌鍚嶇О" onchange={dataChange}
+ data-field="searchHospitalName" value={searchHospitalName}
+ variant="label-inline"></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-button label="妫�绱�" onclick={searchHospital}></lightning-button>
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <div class="tableColumn">
+ <lightning-layout class="datatable">
+ <lightning-datatable class="datatabel slds-border_top" key-field="id" data={hospitalList}
+ columns={hospitalColumns} hide-checkbox-column="true"
+ onrowaction={searchHandleRowAction}>
+ </lightning-datatable>
+ </lightning-layout>
+ </div>
+ </div>
+ <!-- Modal/Popup Box LWC footer starts here -->
+ <footer class="slds-modal__footer">
+ <button class="slds-button slds-button_neutral" onclick={closeModal} title="Cancel">
+ 鍏抽棴
+ </button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </template>
+
+ <div class="outerBorderCss">
+ <div style="padding: 5px">
+ <!-- 鎸夐挳 -->
+ <div class="borderCss">
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false">
+ <!-- <lightning-button label="淇濆瓨" onclick={neworderhead}
+ style="margin-left: 100px;"></lightning-button> -->
+ <table>
+ <colgroup>
+ <col width="150px" />
+ <col width="200px" />
+ <col width="200px" />
+ <col width="200px" />
+ <col width="200px" />
+ <col width="200px" />
+ <col width="90px" />
+ <col width="100px" />
+ <col width="10px" />
+ <col width="85px" />
+ <col width="100px" />
+ <col width="10px" />
+ <col width="70px" />
+ <col width="100px" />
+ </colgroup>
+ <tr>
+ <td></td>
+ <!-- <td colspan="4"><apex:commandButton onclick="saveConfirmJs('{!coc.SummonsStatus_c__c}');" value="淇濆瓨" style="width:150px" rerender="dummy" rendered="{!(EditDelCommitBtnDisabled||EditAble)}"/></td> -->
+ <td colspan="4">
+ <template if:true={isSaveShow}>
+ <lightning-button label="淇濆瓨" onclick={saveConfirmJs}
+ style="width: 150px"></lightning-button>
+ </template>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <!-- <apex:commandButton onclick="EditConsumable();" value="缂栬緫鍑哄簱鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/> -->
+ <template if:true={isEditShow}>
+ <lightning-button label="缂栬緫鍑哄簱鍗�" onclick={EditConsumable} style="width: 150px"
+ disabled={isEditDisabled}></lightning-button>
+ </template>
+ </td>
+ <!--CHAN-B65CAZ 20181105 UpdateStart-->
+ <!-- <td ><apex:commandButton onclick="CommitConsumable();" value="鎻愪氦鍑哄簱鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/></td> -->
+ <td>
+ <!-- <apex:commandButton onclick="GoodsDeliveryJs();" value="鍑鸿揣/閿�鍞�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='宸插畬鎴�'||coc.SummonsStatus_c__c='浠锋牸鏈畾',true,false)}"/> -->
+ <template if:true={isDeliveryShow}>
+ <lightning-button label="鍑鸿揣/閿�鍞�" onclick={GoodsDeliveryJs} style="width: 150px"
+ disabled={isDeliveryDisabled}></lightning-button>
+ </template>
+ </td>
+ <!-- CHAN-B65CAZ 20181105 UpdateEnd-->
+ <td>
+ <!-- <apex:commandButton onclick="openToInvoiceJs();return false;" value="寮�绁�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(((coc.Billed_Status__c !='鍏ㄩ儴寮�绁�' &&coc.SummonsStatus_c__c='宸插畬鎴�') || coc.Onchange_order__c = true) && coc.SummonsForDirction__c!='浜掔浉璋冭揣',false,true)}"/> -->
+ <template if:true={isOpenToInvoiceShow}>
+ <lightning-button label="寮�绁�" onclick={openToInvoiceJs} style="width: 150px"
+ disabled={isOpenToInvoiceDisabled}></lightning-button>
+ </template>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <!--CHAN-B65CAZ 20181105 UpdateStart-->
+ <td>
+ <!-- <apex:commandButton onclick="PraseToPDFJs();" value="鎵撳嵃鎸囩ず鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='鑽夋涓�',false,true)}"/> -->
+ <template if:true={isPraseToPDFShow}>
+ <lightning-button label="鎵撳嵃鎸囩ず鍗�" onclick={PraseToPDFJs} style="width: 150px"
+ disabled={isPraseToPDFDisabled}></lightning-button>
+ </template>
+ </td>
+ <!-- CHAN-B65CAZ 20181105 UpdateEnd-->
+ <td>
+ <!-- <apex:commandButton onclick="openReportJs(); return false;" value="鏄剧ず鏄庣粏" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.Billed_Status__c !='杩樻病寮�绁�' || coc.SummonsStatus_c__c='宸插畬鎴�',false,true)}"/> -->
+ <template if:true={isOpenReportShow}>
+ <lightning-button label="鏄剧ず鏄庣粏" onclick={openReportJs} style="width: 150px"
+ disabled={isOpenReportDisabled}></lightning-button>
+ </template>
+ </td>
+ <td>
+ <!-- <apex:commandButton onclick="DeleteConsumable();" value="鍒犻櫎" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='浠锋牸鏈畾'||coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/> -->
+ <template if:true={isDeleteShow}>
+ <lightning-button label="鍒犻櫎" onclick={DeleteConsumable} style="width: 150px"
+ disabled={isDeleteDisabled}></lightning-button>
+ </template>
+ </td>
+ <td></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ </div>
+
+ <!-- 鍑哄簱鍗曚俊鎭� EditAble = true -->
+ <template if:true={EditAble}>
+ <div class="borderCss">
+ <div class="headerDorderCss">
+ <p style="font-size: 16px">
+ <strong>鍑哄簱鍗曚俊鎭�</strong>
+ </p>
+ </div>
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false">
+ <!-- SummonsStatus_c__c == '浠锋牸鏈畾' -->
+ <template if:true={summonsStatusPriceNotDetermined}>
+ <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
+ <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <template if:true={isSummonsFlag}>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="SummonsStatus_c__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </template>
+ </lightning-layout>
+
+ <!-- 鐩殑 寮�绁ㄧ姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="SummonsForDirction__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Billed_Status__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 浜岀骇缁忛攢鍟� -->
+ <template if:true={isSummonsForDirctionTwoShow}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Order_Dealer_Info__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+ </template>
+
+ <!-- 瀹㈡埛鍚� 鍙戠エ-->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="ShipmentAccount__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ 鍙戠エ 杩橀渶杩涜寮�鍙�1
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绉戝 鍑哄簱閲戦 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Order_ForCustomerText__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Shipment_total_amount__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 娌℃湁纭畾浠锋牸 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="NoConfirmedPrice__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </template>
+
+ <!-- SummonsStatus_c__c != '浠锋牸鏈畾' -->
+ <template if:false={summonsStatusPriceNotDetermined}>
+ <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}
+ onsubmit={handleSubmit}>
+ <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <template if:true={isSummonsFlag}>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="SummonsStatus_c__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </template>
+ </lightning-layout>
+
+ <!-- 鐩殑 浜岀骇缁忛攢鍟� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-input-field data-field="summonsForDirction"
+ value={summonsForDirction} field-name="SummonsForDirction__c"
+ required="true" onchange={ChangeDirction}></lightning-input-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-combobox data-field="secondaryDistributor"
+ name="secondaryDistributor" label="浜岀骇缁忛攢鍟�" value={secondaryDistributor}
+ placeholder="璇烽�夋嫨..." options={secondaryDistributorOptions}
+ variant="label-inline" onchange={dataChange}
+ disabled={isDisabledSecondaryDistributor}></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 瀹㈡埛鍚� 缁忛攢鍟嗗綍鍏� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <div
+ class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right">
+ <lightning-icon size="x-small"
+ class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default"
+ icon-name="utility:search"></lightning-icon>
+ <lightning-input type="text" name="HospitalName" label="瀹㈡埛鍚�"
+ value={HospitalName} variant="label-inline"
+ onclick={searchHospitalNameModal} data-field="HospitalName"
+ disabled={isDisabledHospitalName}
+ onchange={clearAgencyI}></lightning-input>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <!-- <lightning-input-field onfocus={setVisitorPlace} onblur={vpClear2Delay} data-field="ForDealerText"
+ value={ForDealerText} field-name="Order_ForDealerText__c"
+ disabled={isDisabledForDealerText}></lightning-input-field> -->
+ <!-- <lightning-input type="text"
+ name="Order_ForDealerText__c"
+ label="缁忛攢鍟�(褰曞叆)"
+ value={ForDealerText}
+ onfocus={setVisitorPlace}
+ onblur={vpClear2Delay}
+ data-field="Order_ForDealerText__c"
+ disabled={isDisabledForDealerText}
+ variant="label-inline">
+ </lightning-input> -->
+ <c-lookup onsearch={handleSearch} onselectionchange={handleSelectionChange}
+ label="缁忛攢鍟�(褰曞叆)" variant="label-inline" placeholder="鎼滅储缁忛攢鍟�">
+ </c-lookup>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绉戝 鎬婚噾棰� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-input-field onchange={dataChange} data-field="ForCustomerText"
+ value={ForCustomerText} field-name="Order_ForCustomerText__c"
+ disabled={isDisabledForCustomerText}></lightning-input-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-input type="text" name="sumPrice" label="鎬婚噾棰�" value={sumPrice}
+ variant="label-inline" onchange={dataChange} data-field="sumPrice"
+ readonly></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 娌℃湁纭畾浠锋牸 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-input-field value={NoConfirmedPrice}
+ field-name="NoConfirmedPrice__c" data-field="NoConfirmedPrice"
+ onchange={dataChange}></lightning-input-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </template>
+ </div>
+ </div>
+ </div>
+ </template>
+
+ <!-- 鍑哄簱鍗曚俊鎭� EditAble = false -->
+ <template if:false={EditAble}>
+ <div class="borderCss">
+ <div class="headerDorderCss">
+ <p style="font-size: 16px">
+ <strong>鍑哄簱鍗曚俊鎭�</strong>
+ </p>
+ </div>
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false">
+ <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
+ <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <template if:true={isSummonsFlag}>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="SummonsStatus_c__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </template>
+ </lightning-layout>
+
+ <!-- 鐩殑 寮�绁ㄧ姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="SummonsForDirction__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Billed_Status__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 浜岀骇缁忛攢鍟� -->
+ <template if:true={isSummonsForDirctionTwoShow}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Order_Dealer_Info__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+ </template>
+
+ <!-- 瀹㈡埛鍚� 鍙戠エ-->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="ShipmentAccount__c"></lightning-output-field>
+ </lightning-layout-item>
+ <template if:true={isConInvoiceShow}>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-input-field
+ field-name="ConInvoice_Code__c"></lightning-input-field>
+ </lightning-layout-item>
+ </template>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绉戝 鍑哄簱閲戦 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Order_ForCustomerText__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="Shipment_total_amount__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 娌℃湁纭畾浠锋牸 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="NoConfirmedPrice__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </div>
+ </div>
+ </div>
+ </template>
+
+ <!-- 妫�绱� -->
+ <template if:true={isSearchShow}>
+ <div class="borderCss">
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false">
+ <lightning-layout>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-input type="text" name="consumableName" label="娑堣�楀搧鍚嶇О"
+ value={consumableName} variant="label-inline" onchange={dataChange}
+ data-field="consumableName"></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-combobox name="progress" label="绗�3鍒嗙被" value={Category3}
+ variant="label-inline" options={category3Options} onchange={dataChange}
+ data-field="Category3"></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-combobox name="progress" label="绗�4鍒嗙被" value={Category4}
+ variant="label-inline" options={category4Options} onchange={dataChange}
+ data-field="Category4"></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-combobox name="progress" label="绗�5鍒嗙被" value={Category5}
+ variant="label-inline" onchange={dataChange} data-field="Category5"
+ options={category5Options}></lightning-combobox>
+ </lightning-layout-item>
+ <template if:true={hasHosPro}>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-combobox name="progress" label="鍖婚櫌鐗逛环" value={outOutPattern}
+ variant="label-inline" options={outOutPatternOptionList}
+ onchange={handleChange}></lightning-combobox>
+ </lightning-layout-item>
+ </template>
+
+ <lightning-layout-item flexibility="auto, no-grow" padding="around-small">
+ <lightning-button label="妫�绱�" onclick={searchProductJs}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto, no-grow" padding="around-small">
+ <lightning-button label="娓呯┖" onclick={neworderhead}></lightning-button>
+ </lightning-layout-item>
+ </lightning-layout>
+ </div>
+ </div>
+ </div>
+ </template>
+
+ <!-- 鍑哄簱鍗曟槑缁� -->
+ <div class="borderCss">
+ <div class="headerDorderCss">
+ <p style="font-size: 16px">
+ <strong>鍑哄簱鍗曟槑缁�</strong>
+ </p>
+ </div>
+ <div style="padding: 10px">
+ <template if:true={EditAble}>
+ <template if:true={showTable}>
+ <!-- <c-poc-lightning-datatable key-field="Id" data={data} columns={columns}
+ onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
+ onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
+ selected-rows={selectedRows}>
+ </c-poc-lightning-datatable> -->
+ <c-lex-custom-lightning-datatable key-field="Id" data={data} columns={columns}
+ onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
+ onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
+ selected-rows={selectedRows}>
+ </c-lex-custom-lightning-datatable>
+ </template>
+ </template>
+
+ <template if:false={EditAble}>
+ <template if:true={showTable}>
+ <!-- <c-poc-lightning-datatable hide-checkbox-column key-field="Id" data={data}
+ columns={editColumns} onunitchange={handleUnitChange}
+ onshipmentnumber={handleShipmentNumber} onshipmentunitprice={handleShipmentUnitPrice}
+ onrowselection={getSelectedRows} selected-rows={selectedRows}>
+ </c-poc-lightning-datatable> -->
+ <c-lex-custom-lightning-datatable hide-checkbox-column key-field="Id" data={data}
+ columns={editColumns} onunitchange={handleUnitChange}
+ onshipmentnumber={handleShipmentNumber} onshipmentunitprice={handleShipmentUnitPrice}
+ onrowselection={getSelectedRows} selected-rows={selectedRows}>
+ </c-lex-custom-lightning-datatable>
+ </template>
+ </template>
+ </div>
+ </div>
+
+ <!-- 涓婁紶闄勪欢 -->
+ <template if:true={EditAble}>
+ <div class="borderCss">
+ <div class="headerDorderCss">
+ <p style="font-size: 16px">
+ <strong>鍑哄簱鍗曚俊鎭�</strong>
+ </p>
+ </div>
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false"></div>
+ </div>
+ </div>
+ </template>
+ </div>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
new file mode 100644
index 0000000..6a4ab2e
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
@@ -0,0 +1,1109 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import init from '@salesforce/apex/LexSummonsCreatController.init';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import searchConsumableorderdetails from '@salesforce/apex/LexSummonsCreatController.searchConsumableorderdetails';
+import PraseToPDF from '@salesforce/apex/LexSummonsCreatController.PraseToPDF';
+import apexSearch from '@salesforce/apex/SampleLookupController.search';
+import save from '@salesforce/apex/LexSummonsCreatController.save';
+import OPPORTUNITY_OBJECT from '@salesforce/schema/Consumable_Orderdetails__c';
+import { getObjectInfo } from 'lightning/uiObjectInfoApi';
+import hospitalInit from '@salesforce/apex/lexSearchAgencyHospitalController.init';
+import serContact from '@salesforce/apex/lexSearchAgencyHospitalController.serContact';
+import { NavigationMixin } from 'lightning/navigation';
+
+
+
+
+
+export default class LexSummonsCreat extends NavigationMixin(LightningElement) {
+ @track isShowSpinner = true;
+ @track showResults = true;
+ @track results = [
+ {
+ Id:'1',
+ Name : 'z'
+ },
+ {
+ Id:'2',
+ Name : 'h'
+ },
+ {
+ Id:'3',
+ Name : 'j'
+ }
+ ];
+
+ @track COLS = [
+ {
+ label: 'Account Name',
+ type: 'customName',
+ typeAttributes: {
+ accountName: { fieldName: 'Name' }
+ }
+ }];
+ @track columns = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ hideDefaultActions: true ,
+ wrapText:true,
+ //initialWidth : 100,
+ },
+ {
+ label: '瑙勬牸',
+ fieldName: 'packinglist',
+ //initialWidth : 50,
+ wrapText:true,
+ hideDefaultActions: true
+ },
+ {
+ label: 'CFDA鐘舵��',
+ fieldName: 'SFDA_Status__c',
+ //initialWidth : 100,
+ wrapText:true,
+ hideDefaultActions: true
+ },
+ {
+ label: '娉ㄥ唽璇佺紪鐮佸彿',
+ fieldName: 'approbation_No',
+ //initialWidth : 150,
+ wrapText:true,
+ hideDefaultActions: true
+ },
+ {
+ label: '娉ㄥ唽璇佹晥鏈�',
+ //initialWidth : 100,
+ wrapText:true,
+ fieldName: 'expiration_Date',
+ hideDefaultActions: true ,
+ },
+ {
+ label: '绗�3鍒嗙被',
+ fieldName: 'Category3__c',
+ //initialWidth : 100,
+ wrapText:true,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: '绗�4鍒嗙被',
+ fieldName: 'Category4__c',
+ //initialWidth : 100,
+ wrapText:true,
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '绗�5鍒嗙被',
+ fieldName: 'Category5__c',
+ //initialWidth : 100,
+ wrapText:true,
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '鍗曚綅',
+ type:'customUnit',
+ //initialWidth : 100,
+ hideDefaultActions: true,
+ typeAttributes: {
+ unitValue: { fieldName: 'unitValue' },
+ unitOptions: { fieldName: 'unitOptions' },
+ recordId: { fieldName: 'recordId' }
+ },
+ },
+ {
+ label: '鍑鸿揣鏁伴噺',
+ type: 'customShipment',
+ //initialWidth : 150,
+ hideDefaultActions: true,
+ typeAttributes: {
+ recordId: { fieldName: 'recordId' },
+ shipmentNumber: { fieldName: 'shipmentNumber' },
+ },
+ },
+ {
+ label: '鍑鸿揣鍗曚环(鍏�)',
+ type: 'customShipmentUnitPrice',
+ //initialWidth : 150,
+ hideDefaultActions: true,
+ typeAttributes: {
+ recordId: { fieldName: 'recordId' },
+ shippingUnitPrice: { fieldName: 'shippingUnitPrice' }
+ },
+ },
+ {
+ label: '鍑鸿揣閲戦(鍏�)',
+ type: 'customShipmentAmount',
+ //initialWidth : 120,
+ hideDefaultActions: true,
+ typeAttributes: {
+ shipmentAmount: { fieldName: 'shipmentAmount' }
+ },
+ },
+ {
+ label: '鏈夋晥鏈熷唴搴撳瓨(鐩�)',
+ fieldName: 'Boxnumber',
+ //initialWidth : 120,
+ wrapText:true,
+ hideDefaultActions: true,
+ },
+ {
+ label: '鏈夋晥鏈熷唴搴撳瓨(涓�)',
+ fieldName: 'Piecenumber',
+ //initialWidth : 120,
+ wrapText:true,
+ hideDefaultActions: true,
+ }
+ ];
+ @track editColumns = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ hideDefaultActions: true ,
+ initialWidth : 250,
+ },
+ {
+ label: '瑙勬牸',
+ fieldName: 'packinglist',
+ initialWidth : 50,
+ hideDefaultActions: true
+ },
+ {
+ label: 'CFDA鐘舵��',
+ fieldName: 'SFDA_Status__c',
+ initialWidth : 100,
+ hideDefaultActions: true
+ },
+ {
+ label: '娉ㄥ唽璇佺紪鐮佸彿',
+ fieldName: 'approbation_No',
+ initialWidth : 150,
+ hideDefaultActions: true
+ },
+ {
+ label: '娉ㄥ唽璇佹晥鏈�',
+ initialWidth : 100,
+ fieldName: 'expiration_Date',
+ hideDefaultActions: true ,
+ },
+ {
+ label: '绗�3鍒嗙被',
+ fieldName: 'Category3__c',
+ initialWidth : 100,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: '绗�4鍒嗙被',
+ fieldName: 'Category4__c',
+ initialWidth : 100,
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '绗�5鍒嗙被',
+ fieldName: 'Category5__c',
+ initialWidth : 100,
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '鍗曚綅',
+ fieldName: 'Box_Piece__c',
+ initialWidth : 100,
+ hideDefaultActions: true,
+ },
+ {
+ label: '鍑鸿揣鏁伴噺',
+ fieldName: 'Shipment_Count__c',
+ initialWidth : 150,
+ hideDefaultActions: true,
+ },
+ {
+ label: '鍑鸿揣鍗曚环(鍏�)',
+ fieldName: 'Shipment_amount__c',
+ initialWidth : 150,
+ hideDefaultActions: true,
+ }
+ ];
+
+
+ @track hospitalList=[];
+ @track hospitalColumns = [
+ {
+ label: '鍖婚櫌鍚嶇О',
+ fieldName: 'Name',
+ initialWidth : 400,
+ hideDefaultActions: true ,
+ },
+ {
+ label: '鐪佷唤',
+ fieldName: 'stateMasterName',
+ hideDefaultActions: true ,
+ },
+ {
+ label: '閫夋嫨',
+ fieldName : 'Id1',
+ type : 'button',
+ hideDefaultActions: true ,
+ typeAttributes: {
+ label: '閫夋嫨',
+ name: 'Id2',
+ size: 1
+ }
+ }
+ ];
+
+ @track accountid = '';
+ @track consumableproductdetailsRecords = [];
+ @track SummonsStatus = '';
+ @track ESetid = '';
+ @track cocLwc = {};
+ @track selectedRows = [];
+ @track ConsumableOut_report = '';
+
+ //鏄剧ず鎸夐挳
+ @track isSaveShow = false;
+ @track isEditShow = false;
+ @track isDeliveryShow = false;
+ @track isOpenToInvoiceShow = false;
+ @track isPraseToPDFShow = false;
+ @track isOpenReportShow = false;
+ @track isDeleteShow = false;
+ @track isFileShow = false;
+
+ //disable鎸夐挳
+ @track isEditDisabled = false;
+ @track isDeliveryDisabled = false;
+ @track isOpenToInvoiceDisabled = true;
+ @track isPraseToPDFDisabled = true;
+ @track isOpenReportDisabled = true;
+ @track isDeleteDisabled = false;
+
+ //鍑哄簱鍗曚俊鎭�
+ @track cocId = ''
+ @track EditAble = false;
+ @track summonsStatusPriceNotDetermined = false;
+ @track isSummonsForDirctionTwoShow = false;
+ @track isSummonsFlag = false;
+ @track isConInvoiceShow = false;
+ @track sumPrice = '';
+ @track isSearchShow = false;
+ @track Existarrive = false;
+ @track Category3 = '';
+ @track category3Options=[];
+ @track Category4 = '';
+ @track category4Options=[];
+ @track Category5 = '';
+ @track category5Options=[];
+
+ //浜岀骇缁忛攢鍟�
+ @track secondaryDistributor = '';
+ @track secondaryDistributorOptions = [];
+ @track isDisabledSecondaryDistributor = false;
+
+ //缁忛攢鍟嗗綍鍏�
+ @track ForDealerText = '';
+ @track isDisabledForDealerText = false;
+
+ //瀹㈡埛鍚�
+ @track isModalOpen = false;
+ @track HospitalName = '';
+ @track searchHospitalName = '';
+ @track OECId = '';
+ @track isDisabledHospitalName = false;
+
+ //绉戝
+ @track ForCustomerText = '';
+ @track isDisabledForCustomerText = false;
+
+ //娌℃湁纭畾浠锋牸
+ @track NoConfirmedPrice = false;
+
+ //娑堣�楀搧鍚嶇О
+ @track consumableName = '';
+
+ @track agencyProType = '';
+ @track accountName = '';
+ @track userWorkLocation = '';
+ @track OutPattern__c = false;
+ @track outOutPattern = '';
+
+ //鍑哄簱鍗曟槑缁�
+ @track showTable = false;
+ @track data = [];
+ @track isSelectShow = false;
+ @track hidecheckboxcolumn = false;
+ @track is345Show = false;
+ @track arriveorder = '';
+ @track hasHosPro = false;
+ @track InvoiceProNotLabel = '';
+ @track RrturnProLabel = '';
+ @track InvoicedLabel = '';
+ @track outOutPatternOptionList = [];
+
+
+ //InvoiceProNotLabel RrturnProLabel InvoicedLabel
+ @wire(getObjectInfo, { objectApiName: OPPORTUNITY_OBJECT })
+ oppInfo({ data, error }) {
+ if (data) {
+ this.InvoiceProNotLabel = data.fields.InvoiceProNot_count__c.label
+ this.RrturnProLabel = data.fields.RrturnPro_count__c.label
+ this.InvoicedLabel = data.fields.Invoiced_Procount__c.label
+ console.log('this.InvoiceProNotLabel = ' + this.InvoiceProNotLabel);
+ console.log('this.RrturnProLabel = ' + this.RrturnProLabel);
+ console.log('this.InvoicedLabel = ' + this.InvoicedLabel);
+ }
+ }
+
+ // get secondaryDistributorOptions() {
+ // return this.secondaryDistributorOptions;
+ // }
+
+ // get outOutPatternOptionList() {
+ // return this.outOutPatternOptionList;
+ // }
+
+ // // get category3Options() {
+ // // return this.category3Options;
+ // // }
+ // get category4Options() {
+ // return this.category4Options;
+ // }
+ // get category5Options() {
+ // return this.category5Options;
+ // }
+
+ //鑾峰彇閾炬帴鍙傛暟
+ getQueryString(name) {
+ console.log('getQueryString name ' + name)
+ let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+ let r = window.location.search.substr(1).match(reg);
+ if (r != null) {
+ return decodeURIComponent(r[2]);
+ };
+ return null;
+ }
+ connectedCallback(){
+ this.ESetid = this.getQueryString('ESetid');
+ this.ESetid = this.ESetid == null ? '' : this.ESetid;
+ init({
+ ESetidJs : this.ESetid
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log('r = ' + JSON.stringify(r));
+
+ if (r.status == 'Success') {
+ this.ConsumableOut_report = r.entity.ConsumableOut_report;
+ console.log('this.ConsumableOut_report = ' + this.ConsumableOut_report)
+ this.accountid = r.entity.accountid;
+ this.consumableproductdetailsRecords = r.entity.consumableproductdetailsRecords;
+ this.accountName = r.entity.accountName;
+ this.agencyProType = r.entity.agencyProType;
+ this.accountName = r.entity.accountName;
+ this.userWorkLocation = r.entity.userWorkLocation;
+ this.EditAble = r.entity.EditAble;
+ console.log('this.agencyProType = ' + this.agencyProType);
+ console.log('this.EditAble = ' + this.EditAble);
+ //绗�3鍒嗙被
+ for(var key in r.entity.categoryOptionMap){
+ let object = {};
+ object['label'] = r.entity.categoryOptionMap[key];
+ object['value'] = key;
+ this.category3Options.push(object);
+ }
+ console.log('this.category3Options = ' + this.category3Options)
+ //绗�4鍒嗙被
+ for(var key in r.entity.category4OptionMap){
+ let object = {};
+ object['label'] = r.entity.category4OptionMap[key];
+ object['value'] = key;
+ this.category4Options.push(object);
+ }
+ console.log('this.category4Options = ' + this.category4Options)
+ //绗�5鍒嗙被
+ for(var key in r.entity.category5OptionMap){
+ let object = {};
+ object['label'] = r.entity.category5OptionMap[key];
+ object['value'] = key;
+ this.category5Options.push(object);
+ }
+ console.log('this.category5Options = ' + this.category5Options)
+
+ this.data = r.entity.pageRecords;
+ for(var i in this.data){
+ let unitOptions = [];
+ for(var key in this.data[i].boxorpieceMap){
+ let unitOption = {};
+ unitOption['label'] = this.data[i].boxorpieceMap[key];
+ unitOption['value'] = key;
+ unitOptions.push(unitOption);
+ }
+ this.data[i]['unitOptions'] = unitOptions;
+ this.data[i]['unitValue'] = unitOptions[0].value;
+ if(this.EditAble){
+ this.data[i].orderdetails1['Box_Piece__c'] = unitOptions[0].value;
+ this.data[i].orderdetails1['Shipment_Count__c'] = 0;
+ this.data[i].orderdetails1['Delivery_List_RMB__c'] = 0.00;
+ }else{
+ this.data[i]['InvoiceProNot_count__c'] = this.data[i].orderdetails1.InvoiceProNot_count__c;
+ this.data[i]['RrturnPro_count__c'] = this.data[i].orderdetails1.RrturnPro_count__c;
+ this.data[i]['Invoiced_Procount__c'] = this.data[i].orderdetails1.Invoiced_Procount__c;
+ }
+ this.data[i]['shipmentNumber'] = 0;
+ this.data[i]['shippingUnitPrice'] = 0.00;
+
+ this.data[i]['recordId'] = this.data[i].Prod.Id;
+ this.data[i]['Id'] = this.data[i].Prod.Id;
+ this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
+ this.data[i]['SFDA_Status__c'] = this.data[i].Prod.SFDA_Status__c;
+ this.data[i]['Category3__c'] = this.data[i].Prod.Category3__c;
+ this.data[i]['Category4__c'] = this.data[i].Prod.Category4__c;
+ this.data[i]['Category5__c'] = this.data[i].Prod.Category5__c;
+ this.data[i]['Box_Piece__c'] = this.data[i].orderdetails1.Box_Piece__c;
+ this.data[i]['shipmentAmount'] = this.data[i].orderdetails1.Shipment_amount__c;
+ this.data[i]['Shipment_amount__c'] = this.data[i].orderdetails1.Shipment_amount__c;
+ this.data[i]['Shipment_Count__c'] = this.data[i].orderdetails1.Shipment_Count__c;
+
+ }
+ console.log('this.data = ' + JSON.stringify(this.data));
+ //show
+ if(r.entity.EditDelCommitBtnDisabled || r.entity.EditAble){
+ this.isSaveShow = true;
+ }else{
+ this.isEditShow = true;
+ this.isDeliveryShow = true;
+ this.isOpenToInvoiceShow = true;
+ this.isPraseToPDFShow = true;
+ this.isOpenReportShow = true;
+ this.isDeleteShow = true;
+ }
+
+ this.Existarrive = r.entity.Existarrive;
+
+ console.log('this.EditAble = ' + this.EditAble);
+ this.hasHosPro = r.entity.hasHosPro;
+ //disable
+
+ if(Object.values(r.entity.coc).length > 0){
+ this.cocLwc = r.entity.coc;
+ console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc));
+ var coc = r.entity.coc;
+ this.cocId = coc.Id;
+ coc.SummonsStatus = coc.SummonsStatus_c__c;
+ if(coc.SummonsStatus_c__c == '宸插畬鎴�'){
+ this.isEditDisabled = true;
+ }
+ if(coc.SummonsStatus_c__c == '鎵瑰噯' || coc.SummonsStatus_c__c == '宸查攢鍞緟涓婁紶绾冲搧涔�' || coc.SummonsStatus_c__c == '鍑哄簱鍗曞凡鎵撳嵃' || coc.SummonsStatus_c__c == '宸插畬鎴�'){
+ this.isDeliveryDisabled = true;
+ }
+ if(((coc.Billed_Status__c != '鍏ㄩ儴寮�绁�' && coc.SummonsStatus_c__c == '宸插畬鎴�') || coc.Onchange_order__c == true) && coc.SummonsForDirction__c != '浜掔浉璋冭揣'){
+ this.isOpenToInvoiceDisabled = false;
+ }
+ if(coc.SummonsStatus_c__c == '宸查攢鍞緟涓婁紶绾冲搧涔�' || coc.SummonsStatus_c__c == '鎵瑰噯' || coc.SummonsStatus_c__c == '鍑哄簱鍗曞凡鎵撳嵃' || coc.SummonsStatus_c__c == '鑽夋涓�'){
+ this.isPraseToPDFDisabled = false;
+ }
+ if(coc.Billed_Status__c != '杩樻病寮�绁�' || coc.SummonsStatus_c__c == '宸插畬鎴�'){
+ this.isOpenReportDisabled = false;
+ }
+ if(coc.SummonsStatus_c__c == '宸查攢鍞緟涓婁紶绾冲搧涔�' || coc.SummonsStatus_c__c == '浠锋牸鏈畾' || coc.SummonsStatus_c__c == '鎵瑰噯' || coc.SummonsStatus_c__c == '鍑哄簱鍗曞凡鎵撳嵃' || coc.SummonsStatus_c__c == '宸插畬鎴�'){
+ this.isDeleteDisabled = true;
+ }
+ this.isConInvoiceShow = (coc.SummonsStatus_c__c == '宸插畬鎴�' && coc.SummonsForDirction__c != '浜掔浉璋冭揣') ? true : false;
+ this.summonsStatusPriceNotDetermined = coc.SummonsStatus_c__c == '浠锋牸鏈畾' ? true : false;
+ this.isSummonsForDirctionTwoShow = coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ? true : false;
+ }
+ this.isSearchShow = (!this.Existarrive && r.entity.coc.SummonsStatus_c__c != '浠锋牸鏈畾' && r.entity.EditAble) ? true : false;
+ this.hidecheckboxcolumn = !this.isSearchShow;
+ this.arriveorder = r.entity.arriveorder;
+ this.is345Show = (this.arriveorder == '' && this.Existarrive == false && this.EditAble) ? true : false;
+ //濡傛灉涓嶆樉绀�345鍒嗙被锛宑olumns閲岄潰鍒犻櫎3锛�4锛�5鍒嗙被
+ if(!this.is345Show){
+ for(var i=0; i<this.columns.length; i++){
+ if(this.columns[i].label == '绗�3鍒嗙被'){
+ this.columns.splice(i,1);
+ }
+ }
+ for(var i=0; i<this.columns.length; i++){
+ if(this.columns[i].label == '绗�4鍒嗙被'){
+ this.columns.splice(i,1);
+ }
+ }
+ for(var i=0; i<this.columns.length; i++){
+ if(this.columns[i].label == '绗�5鍒嗙被'){
+ this.columns.splice(i,1);
+ }
+ }
+ for(var i=0; i<this.editColumns.length; i++){
+ if(this.editColumns[i].label == '绗�3鍒嗙被'){
+ this.editColumns.splice(i,1);
+ }
+ }
+ for(var i=0; i<this.editColumns.length; i++){
+ if(this.editColumns[i].label == '绗�4鍒嗙被'){
+ this.editColumns.splice(i,1);
+ }
+ }
+ for(var i=0; i<this.editColumns.length; i++){
+ if(this.editColumns[i].label == '绗�5鍒嗙被'){
+ this.editColumns.splice(i,1);
+ }
+ }
+ }
+ //濡傛灉EditAble==false锛屽垹闄� 鍑鸿揣閲戦(鍏�) 鏈夋晥鏈熷唴搴撳瓨(鐩�) 鏈夋晥鏈熷唴搴撳瓨(涓�) 3鍒� 灞曠ず 杩樻病鍙戠エ鏁伴噺 杩斿搧鏁伴噺 宸插彂绁ㄦ暟閲�
+ if(!this.EditAble){
+ let object1 = {
+ label: this.InvoiceProNotLabel,
+ fieldName: 'InvoiceProNot_count__c',
+ hideDefaultActions: true
+ };
+ let object2 = {
+ label: this.RrturnProLabel,
+ fieldName: 'RrturnPro_count__c',
+ hideDefaultActions: true
+ };
+ let object3 = {
+ label: this.InvoicedLabel,
+ fieldName: 'Invoiced_Procount__c',
+ hideDefaultActions: true
+ };
+ this.editColumns.push(object1);
+ this.editColumns.push(object2);
+ this.editColumns.push(object3);
+ }
+
+ //濡傛灉hasHosPro = true 鍖婚櫌鐗逛环
+ if(this.hasHosPro){
+ let object1 = {
+ label: '鍖婚櫌鐗逛环',
+ fieldName: 'InvoiceProNot_count__c',
+ hideDefaultActions: true
+ };
+ this.columns.push(object1);
+ this.editColumns.push(object1);
+ }
+ //鍑哄簱鍗曚俊鎭�
+ this.isSummonsFlag = r.entity.SummonsFlag == 'visible' ? true : false;
+ console.log('r.entity.provinceOptsMap = ' + r.entity.provinceOptsMap);
+ for(var key in r.entity.provinceOptsMap){
+ let object = {};
+ object['label'] = r.entity.provinceOptsMap[key];
+ object['value'] = key;
+ this.secondaryDistributorOptions.push(object);
+ }
+ for(var key in r.entity.outOutPatternOptionMap){
+ let object = {};
+ object['label'] = r.entity.outOutPatternOptionMap[key];
+ object['value'] = key;
+ this.outOutPatternOptionList.push(object);
+ }
+ console.log('this.secondaryDistributorOptions = ' + JSON.stringify(this.secondaryDistributorOptions));
+ this.HospitalName = r.entity.HospitalName;
+ this.sumPrice = r.entity.sumPrice + '鍏�';
+ this.isShowSpinner = false;
+ this.showTable = true;
+ console.log('ESetid = ' + this.ESetid)
+ } else {
+ console.log('r = ' + JSON.stringify(r))
+ this.showToast('Error', r.msg);
+ }
+ })
+ }
+
+
+ ChangeDirction(event){
+ let value = event.target.value;
+ this.summonsForDirction = value;
+ this.cocLwc['SummonsForDirction__c'] = value;
+ console.log('閫夋嫨浜� = ' + value);
+ switch(value){
+ case '鐩存帴閿�鍞粰鍖婚櫌':
+ this.isDisabledHospitalName = false;
+ this.isDisabledForCustomerText = false;
+ this.secondaryDistributor = '';
+ this.ForDealerText = '';
+ this.isDisabledForDealerText = true;
+ this.isDisabledSecondaryDistributor = true;
+ break;
+ case '鍖婚櫌璇曠敤':
+ this.isDisabledHospitalName = false;
+ this.isDisabledForCustomerText = false;
+ this.isDisabledForDealerText = false;
+ this.isDisabledSecondaryDistributor = false;
+ break;
+ case '閿�鍞粰浜岀骇缁忛攢鍟�':
+ this.isDisabledHospitalName = false;
+ this.isDisabledForCustomerText = false;
+ this.isDisabledForDealerText = false;
+ this.isDisabledSecondaryDistributor = false;
+ break;
+ case '浜掔浉璋冭揣':
+ this.isDisabledHospitalName = true;
+ this.HospitalName = '';
+ this.OECId = '';
+ this.isDisabledForCustomerText = true;
+ this.ForCustomerText = '';
+ this.isDisabledForDealerText = false;
+ this.isDisabledSecondaryDistributor = false;
+ break;
+ default:
+ this.isDisabledHospitalName = false;
+ this.isDisabledForCustomerText = false;
+ this.isDisabledForDealerText = false;
+ this.isDisabledSecondaryDistributor = false;
+ }
+ }
+
+ dataChange(event) {
+ let fieldName = event.target.getAttribute("data-field");
+ let value = event.detail.value;
+ switch (fieldName) {
+ case 'summonsForDirction':
+ this.summonsForDirction = value;
+ break
+ case 'secondaryDistributor':
+ this.secondaryDistributor = value;
+ break
+ case 'HospitalName':
+ this.HospitalName = value;
+ break
+ case 'ForDealerText':
+ this.ForDealerText = value;
+ this.cocLwc['Order_ForDealerText__c'] = value;
+ break
+ case 'ForCustomerText':
+ this.cocLwc['Order_ForCustomerText__c'] = value;
+ this.ForCustomerText = value;
+ break
+ case 'sumPrice':
+ this.sumPrice = value;
+ break
+ case 'NoConfirmedPrice':
+ this.NoConfirmedPrice = !this.NoConfirmedPrice
+ this.cocLwc['NoConfirmedPrice__c'] = this.NoConfirmedPrice;
+ console.log('this.NoConfirmedPrice = ' + this.NoConfirmedPrice)
+ break
+ case 'consumableName':
+ this.consumableName = value;
+ break
+ case 'Category3':
+ this.Category3 = value;
+ break
+ case 'Category4':
+ this.Category4 = value;
+ break
+ case 'Category5':
+ this.Category5 = value;
+ break
+ case 'searchHospitalName':
+ this.searchHospitalName = value;
+ break
+ }
+ }
+
+ showToast(type, msg) {
+ this.isShowSpinner = false;
+ const event = new ShowToastEvent({
+ title: type,
+ variant: type,
+ message: msg
+ });
+ this.dispatchEvent(event);
+ }
+
+ searchProductJs(){
+ this.isShowSpinner = true;
+ //this.showTable = false;
+
+ let cloneData = this.data;
+ for(var i in cloneData){
+ cloneData[i]['Name'] = cloneData[i].Name__c;
+ cloneData[i]['Category3'] = cloneData[i].Category3__c;
+ cloneData[i]['Category4'] = cloneData[i].Category4__c;
+ cloneData[i]['Category5'] = cloneData[i].Category5__c;
+ cloneData[i]['BoxPiece'] = cloneData[i].Box_Piece__c;
+ delete cloneData[i].Name__c;
+ delete cloneData[i].Category3__c;
+ delete cloneData[i].Category4__c;
+ delete cloneData[i].Category5__c;
+ delete cloneData[i].Box_Piece__c;
+ }
+
+ console.log('cloneData = ' + JSON.stringify(cloneData));
+ searchConsumableorderdetails({
+ agencyProTypeLwc : this.agencyProType,
+ accountNameLwc : this.accountName,
+ userWorkLocationLwc : this.userWorkLocation,
+ outOutPattern : this.outOutPattern,
+ category1 : this.consumableName,
+ category3 : this.Category3,
+ category4 : this.Category4,
+ category5 : this.Category5,
+ editAbleLwc : this.EditAble,
+ pageRecordsLwcLwc : cloneData,
+ consumableproductdetailsRecordsLwc : this.consumableproductdetailsRecords,
+ arriveorderLwc : this.arriveorder
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log('r = ' + JSON.stringify(r));
+ if (r.status == 'Success') {
+ let tempData = [];
+ //this.data = r.entity.pageRecords;
+ tempData = r.entity.pageRecords;
+ for(var i in tempData){
+ let unitOptions = [];
+ for(var key in tempData[i].boxorpieceMap){
+ let unitOption = {};
+ unitOption['label'] = tempData[i].boxorpieceMap[key];
+ unitOption['value'] = key;
+ unitOptions.push(unitOption);
+ }
+ tempData[i]['unitOptions'] = unitOptions;
+ tempData[i]['unitValue'] = unitOptions[0].value;
+ tempData[i]['recordId'] = tempData[i].Prod.Id;
+ tempData[i]['Id'] = tempData[i].Prod.Id;
+ tempData[i]['Name__c'] = tempData[i].Prod.Name__c;
+ tempData[i]['SFDA_Status__c'] = tempData[i].Prod.SFDA_Status__c;
+ tempData[i]['Category3__c'] = tempData[i].Prod.Category3__c;
+ tempData[i]['Category4__c'] = tempData[i].Prod.Category4__c;
+ tempData[i]['Category5__c'] = tempData[i].Prod.Category5__c;
+ tempData[i]['Box_Piece__c'] = tempData[i].orderdetails1.Box_Piece__c;
+ tempData[i]['shipmentNumber'] = tempData[i].orderdetails1.Shipment_Count__c;
+ tempData[i]['shippingUnitPrice'] = tempData[i].orderdetails1.Delivery_List_RMB__c;
+ console.log('shippingUnitPrice = ' + tempData[i]['shippingUnitPrice']);
+ if(tempData[i]['shippingUnitPrice'] && tempData[i]['shipmentNumber'])
+ tempData[i]['shipmentAmount'] = this.amend(tempData[i]['shipmentNumber'],tempData[i]['shippingUnitPrice'],'*')
+ }
+ this.data = tempData;
+ console.log('this.data = ' + JSON.stringify(this.data));
+ //this.showTable = true;
+ this.isShowSpinner = false;
+ }
+ })
+ }
+
+ searchHospitalNameModal(){
+ console.log('searchHospitalNameModal')
+ hospitalInit({
+ ctype : this.agencyProType
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ if (r.status == 'Success') {
+ this.hospitalList = r.entity.at;
+ for(var i in this.hospitalList){
+ this.hospitalList[i]['stateMasterName'] = this.hospitalList[i].State_Master__r.Name;
+ }
+ console.log('hospitalInit r = ' + JSON.stringify(this.hospitalList));
+ this.isModalOpen = true;
+ }
+ });
+
+ }
+
+ searchHospital(){
+ console.log('this.searchHospitalName = ' + this.searchHospitalName);
+ serContact({
+ searchName : this.searchHospitalName,
+ ctype : this.agencyProType
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ if (r.status == 'Success') {
+ this.hospitalList = r.entity.at;
+ for(var i in this.hospitalList){
+ this.hospitalList[i]['stateMasterName'] = this.hospitalList[i].State_Master__r.Name;
+ }
+ console.log('hospitalInit r = ' + JSON.stringify(this.hospitalList));
+ }
+ });
+ }
+
+ searchHandleRowAction(event) {
+ console.log('searchHandleRowAction')
+ let row = event.detail.row;
+ this.OECId = row.Id;
+ this.HospitalName = row.Name;
+ console.log('this.OECId = ' + this.OECId + ' this.HospitalName = ' + this.HospitalName);
+ this.isModalOpen = false;
+ console.log('this.isModalOpen = ' + this.isModalOpen);
+ }
+
+ clearAgencyI(event){
+ this.HospitalName = event.target.value;
+ if(this.HospitalName == '' || this.HospitalName == null){
+ this.OECId = '';
+ }
+ console.log('this.HospitalName = ' + this.HospitalName);
+ console.log('this.OECId = ' + this.OECId);
+ if (this.OECId != null && this.OECId != '') {
+ this.checkOutPattern();
+ }
+ }
+
+ checkOutPattern(){
+ //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
+ let ishos = 0;
+ for(var i in this.data){
+ if(this.data[i].check == true && this.data[i].hospitalSpecialOffer == true){
+ ishos = ishos +1;
+ }
+ }
+ if (ishos > 0) {
+ this.cocLwc['OutPattern__c'] = true;
+ }else{
+ this.cocLwc['OutPattern__c'] = false;
+ }
+ }
+
+ closeModal(){
+ this.isModalOpen = false;
+ }
+
+ handleUnitChange(event){
+ console.log('handleUnitChange')
+ const unitDetail = event.detail;
+ console.log('unitDetail = ' + JSON.stringify(unitDetail))
+ for(var i in this.data){
+ if(this.data[i].recordId == unitDetail.data.recordId){
+ this.data[i].unitValue = unitDetail.data.unitValue;
+ this.data[i].orderdetails1['Box_Piece__c'] = unitDetail.data.unitValue;
+ }
+ }
+ console.log('this.data = ' + JSON.stringify(this.data))
+ }
+
+ handleShipmentNumber(event){
+ console.log('handleShipmentNumber')
+ const numberDetail = event.detail;
+ console.log('numberDetail = ' + JSON.stringify(numberDetail))
+ let index = 0;
+ for(var i in this.data){
+ if(this.data[i].recordId == numberDetail.data.recordId){
+ index = i;
+ this.data[i].shipmentNumber = Number(numberDetail.data.shipmentnumber);
+ this.data[i].orderdetails1['Shipment_Count__c'] = Number(numberDetail.data.shipmentnumber);
+ console.log('this.data[i].shipmentNumber = ' + this.data[i].shipmentNumber)
+ }
+ }
+ this.ComputePrice(index,this.data[index].shipmentNumber,this.data[index].shippingUnitPrice);
+ }
+
+ handleShipmentUnitPrice(event){
+ console.log('handleShipmentUnitPrice')
+ const priceDetail = event.detail;
+ let index = 0;
+ for(var i in this.data){
+ if(this.data[i].recordId == priceDetail.data.recordId){
+ index = i;
+ this.data[i].shippingUnitPrice = Number(priceDetail.data.shipmentunitprice);
+ this.data[i].orderdetails1['Delivery_List_RMB__c'] = Number(priceDetail.data.shipmentunitprice);
+ console.log('this.data[i].shippingUnitPrice = ' + this.data[i].shippingUnitPrice)
+ }
+ }
+ this.ComputePrice(index,this.data[index].shipmentNumber,this.data[index].shippingUnitPrice);
+ }
+
+ ComputePrice(index,number,price){
+ console.log('index = ' + index);
+ console.log('number = ' + number);
+ console.log('price = ' + price);
+ let shipmentAmount = this.amend(number,price,'*');
+ console.log('shipmentAmount = ' + shipmentAmount);
+ let sumPrice = 0.00;
+ this.data[index].shipmentAmount = shipmentAmount;
+ for(var i in this.data){
+ if(this.data[i].shipmentAmount)
+ sumPrice += this.data[i].shipmentAmount;
+ }
+ this.sumPrice = sumPrice + '鍏�';
+ //瀛樹笅閫夋嫨琛岋紝涓嶄細琚竻绌�
+ this.selectedRows = [];
+ for(var i in this.data){
+ if(this.data[i].check){
+ this.selectedRows.push(this.data[i].Id);
+ }
+ }
+ this.data = [...this.data];
+ console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows))
+ console.log('this.data = ' + JSON.stringify(this.data))
+ }
+
+ //num1 num2浼犲叆涓や釜鍊� symbol +-*/绗﹀彿
+ amend(num1,num2,symbol){
+ var str1=num1.toString(),str2=num2.toString(),result,str1Length,str2Length
+ //瑙e喅鏁存暟娌℃湁灏忔暟鐐规柟娉�
+ try {str1Length= str1.split('.')[1].length} catch (error) {str1Length=0}
+ try {str2Length= str2.split('.')[1].length} catch (error) {str2Length=0}
+ var step=Math.pow(10,Math.max(str1Length,str2Length))
+ //
+ console.log(step);
+ switch (symbol) {
+ case "+":
+ result= (num1*step+num2*step)/step
+ break;
+ case "-":
+ result= (num1*step-num2*step)/step
+ break;
+ case "*":
+ result= ((num1*step)*(num2*step)) / step/step
+ break;
+ case "/":
+ result= (num1*step)/(num2*step)
+ break;
+ default:
+ break;
+ }
+ return result
+ }
+
+
+ getSelectedRows(event) {
+ const selectedRows = event.detail.selectedRows;
+ console.log('this.selectedRows = ' + this.selectedRows);
+ for(var i in this.data){
+ this.data[i]['check'] = false;
+ }
+ for(var i in this.data){
+ for(var j in selectedRows){
+ if(this.data[i].Id == selectedRows[j].Id){
+ this.data[i]['check'] = true;
+ }
+ }
+ }
+ }
+
+ saveConfirmJs(){
+ let msg = "鍑哄簱浠锋牸浠呭彲鎿嶄綔涓�娆″彉鏇达紝淇濆瓨鍚庡皢鏃犳硶淇敼銆俓n\n璇风‘璁わ紒";
+ if(this.SummonsStatus == '浠锋牸鏈畾'){
+ if(confirm(msg)==true){
+ this.saveConfirm()
+ }
+ }else{
+ this.saveConfirm()
+ }
+ }
+
+ saveConfirm(){
+ this.isShowSpinner = true;
+ let cloneData = this.data;
+ for(var i in cloneData){
+ cloneData[i]['Name'] = cloneData[i].Name__c;
+ cloneData[i]['Category3'] = cloneData[i].Category3__c;
+ cloneData[i]['Category4'] = cloneData[i].Category4__c;
+ cloneData[i]['Category5'] = cloneData[i].Category5__c;
+ cloneData[i]['BoxPiece'] = cloneData[i].Box_Piece__c;
+ delete cloneData[i].Name__c;
+ delete cloneData[i].Category3__c;
+ delete cloneData[i].Category4__c;
+ delete cloneData[i].Category5__c;
+ delete cloneData[i].Box_Piece__c;
+ }
+ console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc))
+ console.log('this.OECId = ' + this.OECId)
+ console.log('this.HospitalName = ' + this.HospitalName)
+ console.log('this.secondaryDistributor = ' + this.secondaryDistributor)
+ console.log('this.pageRecordsLwc = ' + JSON.stringify(cloneData))
+ console.log('this.accountid = ' + this.accountid)
+ console.log('this.ESetid = ' + this.ESetid)
+ console.log('this.consumableproductdetailsRecords = ' + JSON.stringify(this.consumableproductdetailsRecords))
+ save({
+ cocLwc : this.cocLwc,
+ hospitalInfoLwc : this.OECId,
+ hospitalNameLwc : this.HospitalName,
+ secondaryDistributor : this.secondaryDistributor,
+ pageRecordsLwc : cloneData,
+ accountid : this.accountid,
+ ESetId : this.ESetid,
+ consumableproductdetailsRecordsLwc : this.consumableproductdetailsRecords
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log('r = ' + JSON.stringify(r));
+
+ if (r.status == 'Success') {
+ let url = '/lexsummonscreat?ESetid=' + r.entity.ESetId;
+ this[NavigationMixin.Navigate]({
+ type: 'standard__webPage',
+ attributes: {
+ url: url
+ }
+ });
+ }else{
+ console.log('r.msg = ' + r.msg);
+ this.showToast('Error', r.msg);
+ }
+ }).catch((error) => {
+ console.log('error = ' + JSON.stringify(error))
+ });
+ }
+
+ //鎵撳嵃鎸囩ず鍗�
+ PraseToPDFJs(){
+ console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc))
+ console.log('this.ESetId = ' + this.ESetid)
+ PraseToPDF({
+ cocLwc : this.cocLwc,
+ ESetId : this.ESetid
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log('r = ' + JSON.stringify(r));
+ if (r.status == 'Success') {
+ window.open('/customer/summonsPDF?ESetid=' + r.entity.ESetId);
+ }else{
+ console.log('r.msg = ' + r.msg);
+ this.showToast('Error', r.msg);
+ }
+ });
+ }
+
+ //鏄剧ず鏄庣粏
+ openReportJs(){
+ var reportId = this.ESetid;
+ reportId = reportId.substring(0,15);
+ window.open("/customer/" +this.ConsumableOut_report+ "?pv1="+ reportId);
+ }
+
+ setVisitorPlace(){
+ console.log('setVisitorPlace')
+ if(this.summonsForDirction == '浜掔浉璋冭揣'){
+
+ }
+ }
+
+ vpClear2Delay(event){
+ console.log('vpClear2Delay')
+ if(this.summonsForDirction != '浜掔浉璋冭揣'){
+ this.cocLwc['Order_ForDealerText__c'] = event.target.value;
+ }else{
+ console.log('Order_ForDealerTextID__c = ' + this.cocLwc['Order_ForDealerTextID__c'])
+ this.cocLwc['Order_ForDealerText__c'] = (this.cocLwc['Order_ForDealerTextID__c'] == '' || this.cocLwc['Order_ForDealerTextID__c'] == null || this.cocLwc['Order_ForDealerTextID__c'] == undefined) ? '' : this.cocLwc['Order_ForDealerText__c'];
+ console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc));
+ this.ForDealerText = this.cocLwc['Order_ForDealerText__c'];
+ event.target.value = this.cocLwc['Order_ForDealerText__c'];
+ console.log('this.ForDealerText = ' + this.ForDealerText);
+ }
+ }
+ handleSearch(event) {
+ debugger
+ const lookupElement = event.target;
+ console.log('event.detail = ' + JSON.stringify(event.detail))
+ apexSearch({
+ searchTerm : event.detail.searchTerm,
+ selectedIds : event.detail.selectedIds
+ })
+ .then(results => {
+ lookupElement.setSearchResults(results);
+ })
+ .catch(error => {
+ // TODO: handle error
+ console.log('error'+JSON.stringify(error));
+ });
+ }
+
+ handleSelectionChange(event) {
+ // Get the selected ids from the event (same interface as lightning-input-field)
+ const selectedIds = event.detail;
+ // Or, get the selection objects with ids, labels, icons...
+ const selection = event.target.getSelection();
+ // TODO: do something with the lookup selection
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
new file mode 100644
index 0000000..ae1f345
--- /dev/null
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
@@ -0,0 +1,176 @@
+<template>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <p style="font-size: 19px;"><strong>搴撳瓨绠$悊</strong></p>
+ </div>
+ <div style="padding:10px;">
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <table>
+ <colgroup>
+ <col width="160px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="70px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="90px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="85px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="70px"/>
+ <col width="100px"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td></td>
+ <td><lightning-button label="搴撳瓨鐩樼偣" title="搴撳瓨鐩樼偣" onclick={inventoryCount} ></lightning-button></td>
+ <td></td>
+ <td></td>
+ <td style="width:100px;"><lightning-button label="杩囨湡搴撳瓨閿�瀛�" title="杩囨湡搴撳瓨閿�瀛�" onclick={handleClick} ></lightning-button></td>
+ <td></td>
+ <td></td>
+ <td style="width:100px;"><lightning-button label="鎷嗙洅" title="鎷嗙洅" onclick={handleClick} ></lightning-button></td>
+ <td></td>
+ <td></td>
+ <td style="width:100px;"><lightning-button label="鍙栨秷鎷嗙洅" title="鍙栨秷鎷嗙洅" onclick={handleClick}></lightning-button></td>
+
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <table>
+ <colgroup>
+ <col width="160px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="70px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="70px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="90px"/>
+ <col width="100px"/>
+ <col width="85px"/>
+ <col width="100px"/>
+ <col width="10px"/>
+ <col width="70px"/>
+ <col width="100px"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td style="width: 21%;">
+ <lightning-input type="text" name="Name" label="娑堣�楀搧鍚嶇О" value={Name} variant="label-inline" onchange={handleChange} data-field ="Name" ></lightning-input>
+ </td>
+ <td style="width: 21%;">
+ <lightning-combobox name="CategoryThree" label="绗�3鍒嗙被" value={value} placeholder="璇烽�夋嫨..." options={optionscatone} variant="label-inline" onchange={handleChange}></lightning-combobox>
+ </td>
+ <td style="width: 21%;">
+ <lightning-combobox name="CategoryFour" label="绗�4鍒嗙被" value={value} placeholder="璇烽�夋嫨..." options={options2} variant="label-inline" onchange={handleChange}></lightning-combobox>
+ </td>
+ <td style="width: 21%;">
+ <lightning-combobox name="CategoryFive" label="绗�5鍒嗙被" value={value} placeholder="璇烽�夋嫨..." options={options3} variant="label-inline" onchange={handleChange}></lightning-combobox>
+ </td>
+ <td style="width: 3%;"></td>
+ <td style="width: 8%;">
+ <lightning-button label="娑堣�楀搧鎼滅储" onclick={searchOrderDetail}></lightning-button>
+ </td>
+ <td style="width: 8%;">
+ <lightning-button label="娓呯┖" onclick={clearAll}></lightning-button>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <p style="font-size: 16px;"><strong>搴撳瓨璇︽儏</strong></p>
+ </div>
+ <div style="padding:10px;">
+ <template if:true={showTable}>
+ <c-lwc-datatable-utility
+ records={data}
+ total-records={data.length}
+ columns = {columns}
+ key-field="Id"
+ show-search-box="true"
+ max-row-selection={data.length}
+ onpaginatorchange={handlePaginatorChange}>
+ </c-lwc-datatable-utility>
+ </template>
+
+
+ <!-- <table class="list" border="0" cellpadding="0" cellspacing="0" id="example">
+ <thead>
+ <tr class="headerRow">
+ <th>娑堣�楀搧鍚嶇О</th>
+ <th>绗�3鍒嗙被</th>
+ <th>绗�4鍒嗙被</th>
+ <th>绗�5鍒嗙被</th>
+ <th>瑙勬牸</th>
+ <th>鍗曚綅</th>
+ <th>娉ㄥ唽璇佺紪鐮佸彿</th>
+ <th>娉ㄥ唽璇佹晥鏈�</th>
+ <th>CFDA鐘舵��</th>
+ <th>浣跨敤鏈熼檺</th>
+ <th>鏈夋晥鏈熷唴搴撳瓨</th>
+ <th>杩囨湡搴撳瓨</th>
+
+ <template if:true={hasHos}>
+ <th>鍖婚櫌鐗逛环</th>
+ </template>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={pageRecords} for:item="m">
+ <tr key={m.Prod.Name__c}>
+ <td align="center">{m.Prod.Name__c}</td>
+ <td align="center">{m.Prod.Category3__c}</td>
+ <td align="center">{m.Prod.Category4__c}</td>
+ <td align="center">{m.Prod.Category5__c}</td>
+ <td align="center">{m.packing_list}</td>
+ <td align="center">{m.BoxPiece}</td>
+ <td align="center">{m.approbation_No}</td>
+ <td align="center">{m.expiration_Date}</td>
+ <td align="center">{m.Prod.SFDA_Status__c}</td>
+ <td align="center">{m.guaranteeperiod}</td>
+ <td align="center">{m.limitCount}</td>
+ <td align="center">{m.overlimitCount}</td>
+ <template if:true={hasHos}>
+ <td>
+ <template if:true={m.hospitalSpecialOffer}>
+ 鈭�
+ </template>
+ </td>
+ </template>
+ </tr>
+ </template>
+ </tbody>
+ </table> -->
+ <!-- <div style="height: 300px;">
+ <lightning-datatable
+ key-field="id"
+ data={data}
+ columns={columns}
+ hide-checkbox-column
+ default-sort-direction={defaultSortDirection}
+ sorted-direction={sortDirection}
+ sorted-by={sortedBy}
+ onsort={onHandleSort}>
+ </lightning-datatable>
+ </div> -->
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
new file mode 100644
index 0000000..ac4f146
--- /dev/null
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
@@ -0,0 +1,323 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import oninit from '@salesforce/apex/LexInventoryViewController.init';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import searchOrder from '@salesforce/apex/LexInventoryViewController.searchConsumableorderdetails';
+import { NavigationMixin } from 'lightning/navigation';
+const columns = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ type: 'Name',
+ sortable: true,
+ cellAttributes: { alignment: 'left' }
+ },
+ {
+ label: '绗笁鍒嗙被',
+ fieldName: 'Category3__c',
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '绗洓鍒嗙被',
+ fieldName: 'Category4__c',
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '绗簲鍒嗙被',
+ fieldName: 'Category5__c',
+ hideDefaultActions: true
+ },
+
+ {
+ label: '瑙勬牸',
+ fieldName: 'packing_list',
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: '鍗曚綅',
+ fieldName: 'BoxPiece',
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: '娉ㄥ唽璇佺紪鐮佸彿',
+ fieldName: 'approbation_No',
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: '娉ㄥ唽鏈夋晥鏈�',
+ fieldName: 'expiration_Date',
+ hideDefaultActions: true,
+ initialWidth: 150
+ },
+ {
+ label: 'CFDA鐘舵��',
+ fieldName: 'SFDA_Status__c',
+ hideDefaultActions: true
+ },
+ {
+ label: '浣跨敤鏈熼檺',
+ fieldName: 'guaranteeperiod',
+ hideDefaultActions: true
+ },
+ {
+ label: '鏈夋晥鏈熷唴搴撳瓨',
+ fieldName: 'limitCount',
+ hideDefaultActions: true,
+ sortable: true
+ },
+ {
+ label: '杩囨湡搴撳瓨',
+ fieldName: 'overlimitCount',
+ hideDefaultActions: true
+ }
+];
+
+export default class LexinventoryViewLWC extends LightningElement {
+ @track pageRecords = [];
+ @track data = [];
+ @track message = '';
+ @track Name;
+ @track CategoryThree;
+ @track CategoryFour;
+ @track CategoryFive;
+ @track orderDetZaikuList = [];
+ @track accountName;
+ @track agencyProType;
+ @track userWorkLocation;
+ @track value = '';
+ @track showTable = false;
+ @track optionscatone = [];
+ @track options2 = [];
+ @track options3 = [];
+
+ columns = columns;
+ defaultSortDirection = 'asc';
+ sortDirection = 'asc';
+ sortedBy;
+
+ // columns = columns;
+
+ connectedCallback() {
+ oninit()
+ .then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ console.log('result.status = ' + result.status);
+ console.log('result = ' + JSON.stringify(result));
+ console.log('result 1= ' + JSON.stringify(result.entity));
+ console.log(
+ 'result 2= ' + JSON.stringify(result.entity.pageRecords)
+ );
+ console.log(
+ 'result.entity.categoryOptionMap 2= ' +
+ JSON.stringify(result.entity.categoryOptionMap)
+ );
+ console.log(
+ 'result.entity.categoryOptionMap 2= ' +
+ JSON.stringify(result.entity.category4OptionMap)
+ );
+ console.log(
+ 'result.entity.categoryOptionMap 2= ' +
+ JSON.stringify(result.entity.category5OptionMap)
+ );
+ if (result.status == 'Success') {
+ // this.pageRecords = result.entity.pageRecords;
+ this.data = result.entity.pageRecords;
+ for (var i in this.data) {
+ this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
+ this.data[i]['Category3__c'] =
+ this.data[i].Prod.Category3__c;
+ this.data[i]['Category4__c'] =
+ this.data[i].Prod.Category3__c;
+ this.data[i]['Category5__c'] =
+ this.data[i].Prod.Category3__c;
+ this.data[i]['SFDA_Status__c'] =
+ this.data[i].Prod.SFDA_Status__c;
+ }
+ console.log();
+ this.showTable = true;
+ this.orderDetZaikuList = result.entity.orderDetZaikuList;
+ this.accountName = result.entity.accountName;
+ this.agencyProType = result.entity.agencyProType;
+ this.userWorkLocation = result.entity.userWorkLocation;
+ let option1ValueTemp = [];
+ for (var key in result.entity.categoryOptionMap) {
+ let object = {};
+ object['label'] = result.entity.categoryOptionMap[key];
+ object['value'] = key;
+ option1ValueTemp.push(object);
+ }
+ this.optionscatone = option1ValueTemp;
+ console.log(
+ ' this.optionscatone===>' +
+ JSON.stringify(this.optionscatone)
+ );
+ let option2ValueTemp = [];
+ for (var key in result.entity.category4OptionMap) {
+ let object = {};
+ object['label'] = result.entity.category4OptionMap[key];
+ object['value'] = key;
+ option2ValueTemp.push(object);
+ }
+ this.options2 = option2ValueTemp;
+ for (var key in result.entity.category5OptionMap) {
+ let object = {};
+ object['label'] = result.entity.category5OptionMap[key];
+ object['value'] = key;
+ this.options3.push(object);
+ }
+
+ console.log(' this.data=====>' + this.data);
+
+ console.log('this.accountName=====>' + this.accountName);
+
+ console.log(
+ 'this.agencyProType=====>' + this.agencyProType
+ );
+ console.log(
+ 'this.userWorkLocationt=====>' + this.userWorkLocation
+ );
+ console.log(
+ 'orderDetZaikuList=====>' + this.orderDetZaikuList
+ );
+ } else {
+ console.log('Error:' + result.errorMsg);
+ const evt = new ShowToastEvent({
+ title: '瑙f瀽澶辫触',
+ message: result.errorMsg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ }
+ })
+ .catch((error) => {
+ console.log('error = ' + JSON.stringify(error));
+ });
+ }
+
+ get options2() {
+ return this.options2;
+ }
+ get options3() {
+ return this.options3;
+ }
+ sortBy(field, reverse, primer) {
+ const key = primer
+ ? function (x) {
+ return primer(x[field]);
+ }
+ : function (x) {
+ return x[field];
+ };
+
+ return function (a, b) {
+ a = key(a);
+ b = key(b);
+ return reverse * ((a > b) - (b > a));
+ };
+ }
+
+ onHandleSort(event) {
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ const cloneData = [...this.data];
+
+ cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ this.data = cloneData;
+ this.sortDirection = sortDirection;
+ this.sortedBy = sortedBy;
+ }
+ handlePaginatorChange(event) {
+ this.recordsToDisplay = event.detail.recordsToDisplay;
+ this.preSelected = event.detail.preSelected;
+ if (this.recordsToDisplay && this.recordsToDisplay > 0) {
+ this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1;
+ } else {
+ this.rowNumberOffset = 0;
+ }
+ }
+
+ handleChange(event) {
+ let fieldName = event.target.getAttribute('data-field');
+ let value = event.detail.value;
+ console.log('======>fieldName' + fieldName);
+ console.log('======>value' + value);
+ switch (fieldName) {
+ case 'Name':
+ this.Name = value;
+ break;
+ case 'CategoryThree':
+ this.CategoryThree = value;
+ break;
+ case 'CategoryFour':
+ this.CategoryFour = value;
+ break;
+ case 'CategoryFive':
+ this.CategoryFive = value;
+ break;
+ default:
+ console.log('no data');
+ }
+ }
+
+ searchOrderDetail() {
+ this.showTable = false;
+ console.log('杩涘叆鎼滅储11111111111111');
+ console.log('杩涘叆鎼滅储');
+ console.log('this.Name = ' + this.Name);
+ searchOrder({
+ category1: this.Name,
+ Category3: this.CategoryThree,
+ Category4: '',
+ Category5: '',
+ orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
+ accountName: this.accountName,
+ agencyProType: this.agencyProType,
+ userWorkLocation: this.userWorkLocation
+ })
+ .then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ console.log('result鎼滅储 = ' + JSON.stringify(result));
+ if (result.status == 'Success') {
+ const evt = new ShowToastEvent({
+ title: '鎼滅储鎴愬姛',
+ message: result.msg,
+ variant: 'Success'
+ });
+ this.dispatchEvent(evt);
+ this.pageRecords = result.entity.pageRecords;
+ this.showTable = true;
+ } else {
+ const evt = new ShowToastEvent({
+ title: '',
+ message: result.msg,
+ variant: 'Success'
+ });
+ this.dispatchEvent(evt);
+ this.pageRecords = [];
+ console.log(' this.data===>= ' + this.pageRecords);
+ }
+ })
+ .catch((error) => {
+ console.log('error = ' + JSON.stringify(error));
+ });
+ }
+ inventoryCount() {
+ console.log('111搴撳瓨鐩樼偣');
+ this[NavigationMixin.Navigate]({
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexInventoryCount'
+ }
+ });
+ }
+ clearAll() {
+ this.Name = '';
+ this.value = '鏃�';
+ this.template.querySelectorAll('lightning-combobox').forEach((each) => {
+ each.value = null;
+ });
+ }
+}
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lookup/lookup.css b/force-app/main/default/lwc/lookup/lookup.css
new file mode 100644
index 0000000..0286cad
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.css
@@ -0,0 +1,30 @@
+.slds-combobox__input,
+.slds-combobox_container {
+ transition: border 0.1s linear, box-shadow 0.1 linear;
+}
+
+.slds-combobox__input {
+ box-shadow: none;
+}
+
+.slds-combobox__input.has-custom-border {
+ box-shadow: 0 0 0 2px #fff inset, 0 0 0 3px rgb(221, 219, 218) inset;
+}
+
+.slds-combobox__input.has-custom-error {
+ border: 1px solid rgb(194, 57, 52);
+ box-shadow: rgb(194, 57, 52) 0 0 0 1px inset;
+}
+
+.slds-combobox_container.has-custom-error {
+ border: none !important;
+}
+
+.slds-combobox__input.has-custom-height {
+ height: 32px !important;
+}
+
+.form-error {
+ color: rgb(194, 57, 52);
+ display: block;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lookup/lookup.html b/force-app/main/default/lwc/lookup/lookup.html
new file mode 100644
index 0000000..36864a9
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.html
@@ -0,0 +1,139 @@
+<template>
+ <div class={getFormElementClass}>
+ <label lwc:if={label} class={getLabelClass} for="combobox">
+ <abbr lwc:if={required} title="required" class="slds-required">*</abbr>
+ {label}
+ </label>
+ <div class="slds-form-element__control">
+ <div class={getContainerClass}>
+ <div class={getDropdownClass} aria-expanded={isListboxOpen} aria-haspopup="listbox" aria-owns="listbox"
+ role="combobox">
+ <!-- Search input start -->
+ <div class={getComboboxClass} role="none">
+ <template lwc:if={isSingleEntry}>
+ <lightning-icon icon-name={getSelectIconName} size="small"
+ alternative-text="Selected item icon" class={getSelectIconClass}>
+ </lightning-icon>
+ </template>
+
+ <!-- Text input -->
+ <input type="text" class={getInputClass} aria-autocomplete="list" aria-controls="listbox"
+ aria-activedescendant={_focusedResultIndex} autocomplete="off" role="textbox" id="combobox"
+ placeholder={placeholder} value={getInputValue} title={getInputTitle}
+ readonly={isInputReadonly} disabled={disabled} onfocus={handleFocus} onblur={handleBlur}
+ oninput={handleInput} onkeydown={handleKeyDown} />
+
+ <!-- Search icon -->
+ <lightning-icon icon-name="utility:search" size="x-small" alternative-text="Search icon"
+ class={getSearchIconClass}></lightning-icon>
+
+ <!-- Clear selection button icon for single entry lookups -->
+ <template lwc:if={isSingleEntry}>
+ <button title="Remove selected option" type="button" onclick={handleClearSelection}
+ class={getClearSelectionButtonClass} disabled={disabled}>
+ <lightning-icon icon-name="utility:close" size="x-small"
+ alternative-text="Remove selected option"
+ class="slds-button__icon"></lightning-icon>
+ </button>
+ </template>
+ </div>
+ <!-- Search input end -->
+
+ <!-- Result list box start -->
+ <div id="listbox" role="listbox" aria-label={label} onmousedown={handleComboboxMouseDown}
+ onmouseup={handleComboboxMouseUp} class={getListboxClass}>
+ <ul class="slds-listbox slds-listbox_vertical" role="presentation">
+ <!-- Spinner to display when waiting for results of search -->
+ <div lwc:if={loading}>
+ <lightning-spinner alternative-text="Loading" size="small"></lightning-spinner>
+ </div>
+
+ <!-- Result list start -->
+ <template for:each={searchResultsLocalState} for:item="item" for:index="index"
+ lwc:if={hasResults}>
+ <li key={item.result.id} role="presentation" class="slds-listbox__item">
+ <div class={item.classes} role="option" id={index} aria-label={item.result.title}
+ onclick={handleResultClick} data-recordid={item.result.id}>
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <lightning-icon icon-name={item.result.icon} size="small"
+ alternative-text="Result item icon"></lightning-icon>
+ </span>
+ <span class="slds-media__body">
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity">
+ <lightning-formatted-rich-text value={item.result.titleFormatted}
+ disable-linkify>
+ </lightning-formatted-rich-text>
+ </span>
+ <span lwc:if={item.result.subtitleFormatted}
+ class="slds-listbox__option-meta slds-listbox__option-meta_entity">
+ <lightning-formatted-rich-text value={item.result.subtitleFormatted}
+ disable-linkify>
+ </lightning-formatted-rich-text>
+ </span>
+ </span>
+ </div>
+ </li>
+ </template>
+ <!-- Result list end -->
+
+ <!-- No results start -->
+ <template lwc:else>
+ <li role="presentation">
+ <span class="slds-media slds-listbox__option_entity" role="option">
+ <span lwc:if={loading} class="slds-media__body">Loading...</span>
+ <span lwc:else class="slds-media__body">No results.</span>
+ </span>
+ </li>
+ </template>
+ <!-- No results end -->
+
+ <!-- Create new records -->
+ <template for:each={newRecordOptions} for:item="newRecord">
+ <li key={newRecord.value} role="presentation" class="slds-listbox__item">
+ <div class="slds-media slds-media_center slds-listbox__option slds-listbox__option_entity"
+ onclick={handleNewRecordClick} data-sobject={newRecord.value} role="option">
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <lightning-icon icon-name="utility:add" size="small"
+ alternative-text={newRecord.label}></lightning-icon>
+ </span>
+ <span class="slds-media__body">
+ <span class="slds-listbox__option-text">{newRecord.label}</span>
+ </span>
+ </div>
+ </li>
+ </template>
+ <!-- Create new records end -->
+ </ul>
+ </div>
+ <!-- Result list box end -->
+ </div>
+ </div>
+
+ <!-- Multi-selection start -->
+ <template lwc:if={isMultiEntry}>
+ <div id="selection" role="listbox" aria-label={label} aria-orientation="horizontal">
+ <ul class="slds-listbox slds-listbox_inline slds-var-p-top_xxx-small" role="group"
+ aria-label="Selected options">
+ <template for:each={selection} for:item="item">
+ <li key={item.id} role="presentation">
+ <lightning-pill label={item.title} title={item.title}
+ onremove={handleRemoveSelectedItem} name={item.id}>
+ <lightning-icon icon-name={item.icon}></lightning-icon>
+ </lightning-pill>
+ </li>
+ </template>
+ </ul>
+ </div>
+ </template>
+ <!-- Multi-selection end -->
+
+ <!-- Errors start -->
+ <template for:each={_errors} for:item="error">
+ <div key={error.id} role="alert" class="slds-form-element__label slds-var-m-top_xx-small form-error">
+ {error.message}
+ </div>
+ </template>
+ <!-- Errors end -->
+ </div>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lookup/lookup.js b/force-app/main/default/lwc/lookup/lookup.js
new file mode 100644
index 0000000..f071366
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.js
@@ -0,0 +1,468 @@
+import { LightningElement, api } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+
+const SEARCH_DELAY = 300; // Wait 300 ms after user stops typing then, peform search
+
+const KEY_ARROW_UP = 38;
+const KEY_ARROW_DOWN = 40;
+const KEY_ENTER = 13;
+
+const VARIANT_LABEL_STACKED = 'label-stacked';
+const VARIANT_LABEL_INLINE = 'label-inline';
+const VARIANT_LABEL_HIDDEN = 'label-hidden';
+
+const REGEX_SOSL_RESERVED = /(\?|&|\||!|\{|\}|\[|\]|\(|\)|\^|~|\*|:|"|\+|-|\\)/g;
+const REGEX_EXTRA_TRAP = /(\$|\\)/g;
+
+export default class Lookup extends NavigationMixin(LightningElement) {
+ // Public properties
+ @api variant = VARIANT_LABEL_STACKED;
+ @api label = '';
+ @api required = false;
+ @api disabled = false;
+ @api placeholder = '';
+ @api isMultiEntry = false;
+ @api scrollAfterNItems = null;
+ @api newRecordOptions = [];
+ @api minSearchTermLength = 2;
+
+ // Template properties
+ searchResultsLocalState = [];
+ loading = false;
+
+ // Private properties
+ _errors = [];
+ _hasFocus = false;
+ _isDirty = false;
+ _searchTerm = '';
+ _cleanSearchTerm;
+ _cancelBlur = false;
+ _searchThrottlingTimeout;
+ _searchResults = [];
+ _defaultSearchResults = [];
+ _curSelection = [];
+ _focusedResultIndex = null;
+
+ // PUBLIC FUNCTIONS AND GETTERS/SETTERS
+ @api
+ set selection(initialSelection) {
+ if (initialSelection) {
+ this._curSelection = Array.isArray(initialSelection) ? initialSelection : [initialSelection];
+ this.processSelectionUpdate(false);
+ }
+ }
+
+ get selection() {
+ return this._curSelection;
+ }
+
+ @api
+ set errors(errors) {
+ this._errors = errors;
+ // Blur component if errors are passed
+ if (this._errors?.length > 0) {
+ this.blur();
+ }
+ }
+
+ get errors() {
+ return this._errors;
+ }
+
+ @api
+ get validity() {
+ return { valid: !this._errors || this._errors.length === 0 };
+ }
+
+ @api
+ get value() {
+ return this.getSelection();
+ }
+
+ @api
+ setSearchResults(results) {
+ // Reset the spinner
+ this.loading = false;
+ // Clone results before modifying them to avoid Locker restriction
+ let resultsLocal = JSON.parse(JSON.stringify(results));
+ // Remove selected items from search results
+ const selectedIds = this._curSelection.map((sel) => sel.id);
+ resultsLocal = resultsLocal.filter((result) => selectedIds.indexOf(result.id) === -1);
+ // Format results
+ const cleanSearchTerm = this._searchTerm.replace(REGEX_SOSL_RESERVED, '.?').replace(REGEX_EXTRA_TRAP, '\\$1');
+ const regex = new RegExp(`(${cleanSearchTerm})`, 'gi');
+ this._searchResults = resultsLocal.map((result) => {
+ // Format title and subtitle
+ if (this._searchTerm.length > 0) {
+ result.titleFormatted = result.title
+ ? result.title.replace(regex, '<strong>$1</strong>')
+ : result.title;
+ result.subtitleFormatted = result.subtitle
+ ? result.subtitle.replace(regex, '<strong>$1</strong>')
+ : result.subtitle;
+ } else {
+ result.titleFormatted = result.title;
+ result.subtitleFormatted = result.subtitle;
+ }
+ // Add icon if missing
+ if (typeof result.icon === 'undefined') {
+ result.icon = 'standard:default';
+ }
+ return result;
+ });
+ // Add local state and dynamic class to search results
+ this._focusedResultIndex = null;
+ const self = this;
+ this.searchResultsLocalState = this._searchResults.map((result, i) => {
+ return {
+ result,
+ state: {},
+ get classes() {
+ let cls = 'slds-media slds-media_center slds-listbox__option slds-listbox__option_entity';
+ if (result.subtitleFormatted) {
+ cls += ' slds-listbox__option_has-meta';
+ }
+ if (self._focusedResultIndex === i) {
+ cls += ' slds-has-focus';
+ }
+ return cls;
+ }
+ };
+ });
+ }
+
+ @api
+ getSelection() {
+ return this._curSelection;
+ }
+
+ @api
+ setDefaultResults(results) {
+ this._defaultSearchResults = [...results];
+ if (this._searchResults.length === 0) {
+ this.setSearchResults(this._defaultSearchResults);
+ }
+ }
+
+ @api
+ blur() {
+ this.template.querySelector('input')?.blur();
+ }
+
+ // INTERNAL FUNCTIONS
+
+ updateSearchTerm(newSearchTerm) {
+ this._searchTerm = newSearchTerm;
+
+ // Compare clean new search term with current one and abort if identical
+ const newCleanSearchTerm = newSearchTerm.trim().replace(REGEX_SOSL_RESERVED, '?').toLowerCase();
+ if (this._cleanSearchTerm === newCleanSearchTerm) {
+ return;
+ }
+
+ // Save clean search term
+ this._cleanSearchTerm = newCleanSearchTerm;
+
+ // Ignore search terms that are too small after removing special characters
+ if (newCleanSearchTerm.replace(/\?/g, '').length < this.minSearchTermLength) {
+ this.setSearchResults(this._defaultSearchResults);
+ return;
+ }
+
+ // Apply search throttling (prevents search if user is still typing)
+ if (this._searchThrottlingTimeout) {
+ clearTimeout(this._searchThrottlingTimeout);
+ }
+ // eslint-disable-next-line @lwc/lwc/no-async-operation
+ this._searchThrottlingTimeout = setTimeout(() => {
+ // Send search event if search term is long enougth
+ if (this._cleanSearchTerm.length >= this.minSearchTermLength) {
+ // Display spinner until results are returned
+ this.loading = true;
+
+ const searchEvent = new CustomEvent('search', {
+ detail: {
+ searchTerm: this._cleanSearchTerm,
+ rawSearchTerm: newSearchTerm,
+ selectedIds: this._curSelection.map((element) => element.id)
+ }
+ });
+ this.dispatchEvent(searchEvent);
+ }
+ this._searchThrottlingTimeout = null;
+ }, SEARCH_DELAY);
+ }
+
+ isSelectionAllowed() {
+ if (this.isMultiEntry) {
+ return true;
+ }
+ return !this.hasSelection();
+ }
+
+ hasSelection() {
+ return this._curSelection.length > 0;
+ }
+
+ processSelectionUpdate(isUserInteraction) {
+ // Reset search
+ this._cleanSearchTerm = '';
+ this._searchTerm = '';
+ this.setSearchResults([...this._defaultSearchResults]);
+ // Indicate that component was interacted with
+ this._isDirty = isUserInteraction;
+ // Blur input after single select lookup selection
+ if (!this.isMultiEntry && this.hasSelection()) {
+ this._hasFocus = false;
+ }
+ // If selection was changed by user, notify parent components
+ if (isUserInteraction) {
+ const selectedIds = this._curSelection.map((sel) => sel.id);
+ this.dispatchEvent(new CustomEvent('selectionchange', { detail: selectedIds }));
+ }
+ }
+
+ // EVENT HANDLING
+
+ handleInput(event) {
+ // Prevent action if selection is not allowed
+ if (!this.isSelectionAllowed()) {
+ return;
+ }
+ this.updateSearchTerm(event.target.value);
+ }
+
+ handleKeyDown(event) {
+ if (this._focusedResultIndex === null) {
+ this._focusedResultIndex = -1;
+ }
+ if (event.keyCode === KEY_ARROW_DOWN) {
+ // If we hit 'down', select the next item, or cycle over.
+ this._focusedResultIndex++;
+ if (this._focusedResultIndex >= this._searchResults.length) {
+ this._focusedResultIndex = 0;
+ }
+ event.preventDefault();
+ } else if (event.keyCode === KEY_ARROW_UP) {
+ // If we hit 'up', select the previous item, or cycle over.
+ this._focusedResultIndex--;
+ if (this._focusedResultIndex < 0) {
+ this._focusedResultIndex = this._searchResults.length - 1;
+ }
+ event.preventDefault();
+ } else if (event.keyCode === KEY_ENTER && this._hasFocus && this._focusedResultIndex >= 0) {
+ // If the user presses enter, and the box is open, and we have used arrows,
+ // treat this just like a click on the listbox item
+ const selectedId = this._searchResults[this._focusedResultIndex].id;
+ this.template.querySelector(`[data-recordid="${selectedId}"]`).click();
+ event.preventDefault();
+ }
+ }
+
+ handleResultClick(event) {
+ const recordId = event.currentTarget.dataset.recordid;
+
+ // Save selection
+ const selectedItem = this._searchResults.find((result) => result.id === recordId);
+ if (!selectedItem) {
+ return;
+ }
+ const newSelection = [...this._curSelection];
+ newSelection.push(selectedItem);
+ this._curSelection = newSelection;
+
+ // Process selection update
+ this.processSelectionUpdate(true);
+ }
+
+ handleComboboxMouseDown(event) {
+ const mainButton = 0;
+ if (event.button === mainButton) {
+ this._cancelBlur = true;
+ }
+ }
+
+ handleComboboxMouseUp() {
+ this._cancelBlur = false;
+ // Re-focus to text input for the next blur event
+ this.template.querySelector('input').focus();
+ }
+
+ handleFocus() {
+ // Prevent action if selection is not allowed
+ if (!this.isSelectionAllowed()) {
+ return;
+ }
+ this._hasFocus = true;
+ this._focusedResultIndex = null;
+ }
+
+ handleBlur() {
+ // Prevent action if selection is either not allowed or cancelled
+ if (!this.isSelectionAllowed() || this._cancelBlur) {
+ return;
+ }
+ this._hasFocus = false;
+ }
+
+ handleRemoveSelectedItem(event) {
+ if (this.disabled) {
+ return;
+ }
+ const recordId = event.currentTarget.name;
+ this._curSelection = this._curSelection.filter((item) => item.id !== recordId);
+ // Process selection update
+ this.processSelectionUpdate(true);
+ }
+
+ handleClearSelection() {
+ this._curSelection = [];
+ this._hasFocus = false;
+ // Process selection update
+ this.processSelectionUpdate(true);
+ }
+
+ handleNewRecordClick(event) {
+ const objectApiName = event.currentTarget.dataset.sobject;
+ const selection = this.newRecordOptions.find((option) => option.value === objectApiName);
+
+ const preNavigateCallback = selection.preNavigateCallback
+ ? selection.preNavigateCallback
+ : () => Promise.resolve();
+ preNavigateCallback(selection).then(() => {
+ this[NavigationMixin.Navigate]({
+ type: 'standard__objectPage',
+ attributes: {
+ objectApiName,
+ actionName: 'new'
+ },
+ state: {
+ defaultFieldValues: selection.defaults
+ }
+ });
+ });
+ }
+
+ // STYLE EXPRESSIONS
+
+ get isSingleEntry() {
+ return !this.isMultiEntry;
+ }
+
+ get isListboxOpen() {
+ const isSearchTermValid = this._cleanSearchTerm && this._cleanSearchTerm.length >= this.minSearchTermLength;
+ return (
+ this._hasFocus &&
+ this.isSelectionAllowed() &&
+ (isSearchTermValid || this.hasResults || this.newRecordOptions?.length > 0)
+ );
+ }
+
+ get hasResults() {
+ return this._searchResults.length > 0;
+ }
+
+ get getFormElementClass() {
+ return this.variant === VARIANT_LABEL_INLINE
+ ? 'slds-form-element slds-form-element_horizontal'
+ : 'slds-form-element';
+ }
+
+ get getLabelClass() {
+ return this.variant === VARIANT_LABEL_HIDDEN
+ ? 'slds-form-element__label slds-assistive-text'
+ : 'slds-form-element__label';
+ }
+
+ get getContainerClass() {
+ let css = 'slds-combobox_container ';
+ if (this._errors.length > 0) {
+ css += 'has-custom-error';
+ }
+ return css;
+ }
+
+ get getDropdownClass() {
+ let css = 'slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click ';
+ if (this.isListboxOpen) {
+ css += 'slds-is-open';
+ }
+ return css;
+ }
+
+ get getInputClass() {
+ let css = 'slds-input slds-combobox__input has-custom-height ';
+ if (this._hasFocus && this.hasResults) {
+ css += 'slds-has-focus ';
+ }
+ if (this._errors.length > 0 || (this._isDirty && this.required && !this.hasSelection())) {
+ css += 'has-custom-error ';
+ }
+ if (!this.isMultiEntry) {
+ css += 'slds-combobox__input-value ' + (this.hasSelection() ? 'has-custom-border' : '');
+ }
+ return css;
+ }
+
+ get getComboboxClass() {
+ let css = 'slds-combobox__form-element slds-input-has-icon ';
+ if (this.isMultiEntry) {
+ css += 'slds-input-has-icon_right';
+ } else {
+ css += this.hasSelection() ? 'slds-input-has-icon_left-right' : 'slds-input-has-icon_right';
+ }
+ return css;
+ }
+
+ get getSearchIconClass() {
+ let css = 'slds-input__icon slds-input__icon_right ';
+ if (!this.isMultiEntry) {
+ css += this.hasSelection() ? 'slds-hide' : '';
+ }
+ return css;
+ }
+
+ get getClearSelectionButtonClass() {
+ return (
+ 'slds-button slds-button_icon slds-input__icon slds-input__icon_right ' +
+ (this.hasSelection() ? '' : 'slds-hide')
+ );
+ }
+
+ get getSelectIconName() {
+ return this.hasSelection() ? this._curSelection[0].icon : 'standard:default';
+ }
+
+ get getSelectIconClass() {
+ return 'slds-combobox__input-entity-icon ' + (this.hasSelection() ? '' : 'slds-hide');
+ }
+
+ get getInputValue() {
+ if (this.isMultiEntry) {
+ return this._searchTerm;
+ }
+ return this.hasSelection() ? this._curSelection[0].title : this._searchTerm;
+ }
+
+ get getInputTitle() {
+ if (this.isMultiEntry) {
+ return '';
+ }
+ return this.hasSelection() ? this._curSelection[0].title : '';
+ }
+
+ get getListboxClass() {
+ return (
+ 'slds-dropdown ' +
+ (this.scrollAfterNItems ? `slds-dropdown_length-with-icon-${this.scrollAfterNItems} ` : '') +
+ 'slds-dropdown_fluid'
+ );
+ }
+
+ get isInputReadonly() {
+ if (this.isMultiEntry) {
+ return false;
+ }
+ return this.hasSelection();
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lookup/lookup.js-meta.xml b/force-app/main/default/lwc/lookup/lookup.js-meta.xml
new file mode 100644
index 0000000..036b264
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lookup">
+ <apiVersion>57.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css
new file mode 100644
index 0000000..97ec122
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css
@@ -0,0 +1,25 @@
+
+.customSelect select {
+ padding-right: 1.25rem;
+ min-height: inherit;
+ line-height: normal;
+ height: 1.4rem;
+}
+.customSelect label {
+ margin-top: .1rem;
+}
+.customSelect .slds-select_container::before {
+ border-bottom: 0;
+}
+.customInput {
+ width: 3rem;
+ height: 1.4rem;
+ text-align: center;
+ border: 1px solid #dddbda;
+ border-radius: 3px;
+ background-color:#fff;
+}
+
+.THIS .slds-table_header-fixed_container {
+ min-height: 12em;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html
new file mode 100644
index 0000000..8294ccc
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html
@@ -0,0 +1,80 @@
+<template>
+ <template if:true={records}>
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread">
+ <div class="slds-col"><!--RECORDS PER PAGE-->
+ <div style={paginationVisibility} class="slds-list_inline slds-p-bottom_xx-small customSelect">
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" for="recordsPerPage">Page Size:</label>
+ <div class="slds-select_container">
+ <select class="slds-select" id="recordsPerPage" onchange={handleRecordsPerPage}>
+ <template for:each={pageSizeOptions} for:item="option">
+ <option key={option} value={option}>{option}</option>
+ </template>
+ </select>
+ </div>
+ </div>
+ </div>
+ <!-- <div class="slds-col">
+ <div if:true={showSearchBox}>
+ <div class="slds-p-horizontal_x-small slds-p-bottom_xx-small">
+ <lightning-input label="" type="search" placeholder="Search" variant="label-hidden" onchange={handleKeyChange}></lightning-input>
+ </div>
+ </div>
+ </div> -->
+ </div>
+
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread">
+ <div class="slds-col">
+ <div class="slds-col slds-p-bottom_xx-small">
+ <span>
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" >Total: {filtredNum}</label>
+ </span>
+ <span>
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" >Selected: {totalSelected}</label>
+ </span>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread" >
+ <div class="slds-col" style={tableHeightStyle}>
+ <lightning-datatable key-field={keyField}
+ hide-checkbox-column = {hidecheckboxcolumn}
+ data={recordsToDisplay}
+ columns={columns}
+ max-row-selection={maxRowSelection}
+ onrowselection={getSelectedRows}
+ selected-rows={preSelected}
+ default-sort-direction={defaultSortDirection}
+ sorted-direction={sortDirection}
+ sorted-by={sortedBy}
+ onsort={handelSort}
+ show-row-number-column = {showrownumber}>
+ </lightning-datatable>
+ </div>
+ </div>
+
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread" style="padding-top: 0.5em;">
+ <div class="slds-col"></div>
+ <div class="slds-col"></div>
+ <!--PAGE NAVIGATION-->
+ <div class="slds-col">
+ <div style={paginationVisibility}>
+ <div class="slds-col slds-p-bottom_xx-small">
+ <span>
+ <lightning-button-icon icon-name="utility:chevronleft" variant="bare" size="medium" alternative-text="Previous Page" onclick={previousPage}></lightning-button-icon>
+ </span>
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" for="pageNum">Page:</label>
+ <input type="number" id="pageNum" value={pageNumber} maxlength="4" onkeypress={handlePageNumberChange} class="customInput" title="Go to a Page"></input>
+ <span> of <b id="totalPages">{totalPages}</b></span>
+ <span>
+ <template if:true={pageNumber}></template>
+ <lightning-button-icon icon-name="utility:chevronright" variant="bare" size="medium" alternative-text="Next Page" onclick={nextPage} class="slds-p-horizontal_x-small"></lightning-button-icon>
+ </span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js
new file mode 100644
index 0000000..a6ede92
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js
@@ -0,0 +1,273 @@
+import { LightningElement, api,track } from 'lwc';
+import customUnitTemplate from './templates/customUnit.html';
+import customShipmentNumberTemplate from './templates/customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './templates/customShippingUnitPrice.html';
+
+const DELAY = 300;
+const recordsPerPage = [5,10,25,50,75,100];
+const pageNumber = 1;
+const SHOWDIV = 'visibility:visible';
+const HIDEDIV = 'visibility:hidden';
+const DEFAULTHEIGHT = '300';
+
+export default class LwcDatatableUtility extends LightningElement {
+
+ static customTypes = {
+ customUnit: {
+ template: customUnitTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['Id'],
+ },
+ customShipment: {
+ template: customShipmentNumberTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['Id'],
+ },
+ customShipmentUnitPrice: {
+ template: customShippingUnitPriceTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['Id'],
+ }
+ // Other types here
+ }
+
+ // Input Attributes from Parent Componant
+ @api keyField = 'Id';
+ @api showSearchBox = false; //Show/hide search box; valid values are true/false
+ @api showPagination; //Show/hide pagination; valid values are true/false
+ @api pageSizeOptions = recordsPerPage; //Page size options; valid values are array of integers
+ @api totalRecords; //Total no.of records; valid type is Integer
+ @api records; //All records available in the data table; valid type is Array
+ @api maxRowSelection; //All records available in the data table; valid type is Array
+ @api columns = []; //Records to be displayed on the page
+ @api hidecheckboxcolumn = false;
+ @api showrownumber = false;
+
+ tableHeightStyle = 'height: '+ DEFAULTHEIGHT +'px;'; // Set Default Height as 300px
+ @api
+ get tableHeight() {
+ return this.tableHeightStyle;
+ }
+
+ set tableHeight(value) {
+ this.tableHeightStyle = 'height: '+ value +'px;';
+ }
+
+ pageSize; //No.of records to be displayed per page
+ totalPages; //Total no.of pages
+ pageNumber = pageNumber; //Page number
+ searchKey; //Search Input
+ paginationVisibility = SHOWDIV;
+ rowNumberOffset; //Row number
+ preSelected; //preSelectedOnDisplay
+ recordsToDisplay = []; //Records to be displayed on the page
+
+ filteredRecords = []; //Filtered records available in the data table; valid type is Array
+ selectedRecords = []; //OverallSelected records in the data table; valid type is Array
+ pageSelectedRecords = []; //Page Selected rows in the data table; valid type is Array
+ filtredNum; // Total no.of Filtered records; valid type is Integer
+ totalSelected = 0;
+ refreshCurrentData;
+ //SORT
+ defaultSortDirection = 'asc';
+ sortDirection = 'asc';
+ sortedBy;
+
+ //Called after the component finishes inserting to DOM
+ connectedCallback() {
+ console.log('杩涘叆 瀛愮粍浠� connectedCallback ');
+ console.log('this.records = ' + JSON.stringify(this.records));
+ console.log('keyField = ' + this.keyField);
+ if(this.pageSizeOptions && this.pageSizeOptions.length > 0)
+ this.pageSize = this.pageSizeOptions[0];
+ else{
+ this.pageSize = this.totalRecords;
+ this.showPagination = false;
+ }
+ this.paginationVisibility = this.showPagination === false ? HIDEDIV : SHOWDIV;
+ this.filteredRecords = this.records;
+ this.filtredNum = this.totalRecords;
+ this.setRecordsOnPage();
+ }
+
+ handleRecordsPerPage(event){
+ this.pageSize = event.target.value;
+ this.setRecordsOnPage();
+ }
+
+ handlePageNumberChange(event){
+ if(event.keyCode === 13){
+ this.pageNumber = event.target.value;
+ this.setRecordsOnPage();
+ }
+ }
+
+ previousPage(){
+ this.pageNumber = this.pageNumber-1;
+ this.setRecordsOnPage();
+ }
+ nextPage(){
+ this.pageNumber = this.pageNumber+1;
+ this.setRecordsOnPage();
+ }
+
+ @api
+ setRecordsOnPage(){
+ this.recordsToDisplay = [];
+ if(!this.pageSize)
+ this.pageSize = this.filtredNum;
+
+ this.totalPages = Math.ceil(this.filtredNum/this.pageSize);
+
+ this.setPaginationControls();
+ for(let i=(this.pageNumber-1)*this.pageSize; i < this.pageNumber*this.pageSize; i++){
+ if(i === this.filtredNum) break;
+ this.recordsToDisplay.push(this.filteredRecords[i]);
+ }
+
+ this.preSelected = [];
+ this.selectedRecords.forEach((item) => {
+ if(item.selected)
+ this.preSelected.push(item.Id);
+ })
+ let paginatedRecords = new Object();
+ paginatedRecords.recordsToDisplay = this.recordsToDisplay;
+ paginatedRecords.preSelected = this.preSelected;
+ if(this.maxRowSelection === '1' ){
+ this.totalSelected = 0;
+ }
+ if(this.selectedRecords && this.selectedRecords.length > 0){
+ this.refreshCurrentData = true;
+ }
+ }
+
+ setPaginationControls(){
+ // Previous/Next buttons visibility by Total pages
+ if(this.totalPages === 1){
+ this.showPrevious = HIDEDIV;
+ this.showNext = HIDEDIV;
+ }else if(this.totalPages > 1){
+ this.showPrevious = SHOWDIV;
+ this.showNext = SHOWDIV;
+ }
+ // Previous/Next buttons visibility by Page number
+ if(this.pageNumber <= 1){
+ this.pageNumber = 1;
+ this.showPrevious = HIDEDIV;
+ }else if(this.pageNumber >= this.totalPages){
+ this.pageNumber = this.totalPages;
+ this.showNext = HIDEDIV;
+ }
+ // Previous/Next buttons visibility by Pagination visibility
+ if(this.paginationVisibility === HIDEDIV){
+ this.showPrevious = HIDEDIV;
+ this.showNext = HIDEDIV;
+ }
+ }
+
+ handleKeyChange(event) {
+ window.clearTimeout(this.delayTimeout);
+ const searchKey = event.target.value;
+ if(searchKey){
+ this.delayTimeout = setTimeout(() => {
+ //this.paginationVisibility = HIDEDIV;
+ this.setPaginationControls();
+
+ this.searchKey = searchKey;
+ //Use other field name here in place of 'Name' field if you want to search by other field
+ //this.recordsToDisplay = this.records.filter(rec => rec.includes(searchKey));
+ //Search with any column value (Updated as per the feedback)
+ this.filteredRecords = this.records.filter(rec => JSON.stringify(rec).toLowerCase().includes(searchKey.toLowerCase()));
+ this.filtredNum = this.filteredRecords.length;
+ this.setRecordsOnPage();
+ }, DELAY);
+ }else{
+ this.filteredRecords = this.records;
+ this.filtredNum = this.totalRecords;
+ this.paginationVisibility = SHOWDIV;
+ this.setRecordsOnPage();
+ }
+ }
+
+ handelRowsSelected(selectedRows) {
+ console.log(selectedRows.length);
+ this.totalSelected = 0;
+ this.pageSelectedRecords = [];
+ if(this.maxRowSelection != '1' && this.recordsToDisplay &&
+ this.recordsToDisplay.length > 0 &&
+ ((selectedRows.length === 0 && !this.refreshCurrentData) || selectedRows.length > 0) ){
+ this.recordsToDisplay.forEach((item)=>{
+ var row = new Object();
+ row.Id = item.Id;
+ if(selectedRows.includes(item.Id)){
+ row.selected = true;
+ }else{
+ row.selected = false;
+ }
+ this.pageSelectedRecords.push(row) ;
+ });
+ }
+ // To store previous row Selection
+ if(this.selectedRecords.length == 0 ){
+ this.selectedRecords = this.pageSelectedRecords;
+ }
+ this.selectedRecords = this.mergeObjectArray(this.selectedRecords, this.pageSelectedRecords, "Id");
+ if(this.maxRowSelection === '1' && selectedRows && selectedRows.length > 0){
+ this.totalSelected = 1;
+ }else{
+ let i=0;
+ this.selectedRecords.forEach(item => {
+ if(item.selected){
+ i++;
+ this.totalSelected = i;
+ }
+ })
+ //this.totalSelected = this.totalSelected ===1 && selectedRows.length ===0? 0: this.totalSelected;
+ }
+ const filterSelected = this.selectedRecords.filter(({ selected }) => selected === true );
+ this.dispatchEvent(new CustomEvent('setselectedrecords', {detail: filterSelected})); //Send records to display on table to the parent component
+ this.refreshCurrentData = false;
+ }
+
+ mergeObjectArray(firstArray, secondArray, prop){
+ var reduced = firstArray.filter( aitem => ! secondArray.find ( bitem => aitem[prop] === bitem[prop]) )
+ //let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));
+ return reduced.concat(secondArray);
+ }
+
+ getSelectedRows(event) {
+ const selectedRows = event.detail.selectedRows;
+ let selectedRecordIds = [];
+ // Display that fieldName of the selected rows
+ for (let i = 0; i < selectedRows.length; i++){
+ selectedRecordIds.push(selectedRows[i].Id);
+ }
+ this.handelRowsSelected(selectedRecordIds);
+ }
+
+ handelSort(event){
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ const cloneData = [...this.filteredRecords];
+ cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ this.filteredRecords = cloneData;
+ this.sortDirection = sortDirection;
+ this.sortedBy = sortedBy;
+ this.setRecordsOnPage();
+ }
+
+ sortBy(field, reverse, primer) {
+ const key = primer
+ ? function(x) {
+ return primer(x[field]);
+ }
+ : function(x) {
+ return x[field];
+ };
+
+ return function(a, b) {
+ a = key(a);
+ b = key(b);
+ return reverse * ((a > b) - (b > a));
+ };
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml
new file mode 100644
index 0000000..4087371
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>48.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html
new file mode 100644
index 0000000..62d1cfc
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="text"
+ name="shipmentNumber"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentNumber"
+ value={shipmentNumber}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html
new file mode 100644
index 0000000..d10e147
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="number"
+ name="shipmentUnitPrice"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentUnitPrice"
+ value={shipmentUnitPrice}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html b/force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html
new file mode 100644
index 0000000..169416c
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html
@@ -0,0 +1,8 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <select>
+ <option value="鐩�">鐩�</option>
+ <option value="涓�">涓�</option>
+ </select>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customName.html b/force-app/main/default/lwc/myCustomTypeDatatable/customName.html
new file mode 100644
index 0000000..f33c4ea
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customName.html
@@ -0,0 +1,6 @@
+<template>
+ <lightning-badge
+ label={typeAttributes.accountName}
+ icon-name="standard:account">
+ </lightning-badge>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html b/force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html
new file mode 100644
index 0000000..ae6203e
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html
@@ -0,0 +1,6 @@
+<template>
+ <div class="slds-p-around_x-small">
+ <lightning-formatted-number value={value} class="slds-float_right"></lightning-formatted-number>
+ <lightning-icon icon-name={typeAttributes.status} alternative-text="Employer Status"></lightning-icon>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html b/force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html
new file mode 100644
index 0000000..62d1cfc
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="text"
+ name="shipmentNumber"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentNumber"
+ value={shipmentNumber}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html b/force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html
new file mode 100644
index 0000000..d10e147
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="number"
+ name="shipmentUnitPrice"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentUnitPrice"
+ value={shipmentUnitPrice}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html b/force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html
new file mode 100644
index 0000000..169416c
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html
@@ -0,0 +1,8 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <select>
+ <option value="鐩�">鐩�</option>
+ <option value="涓�">涓�</option>
+ </select>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html
new file mode 100644
index 0000000..ba53413
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html
@@ -0,0 +1,2 @@
+<template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js
new file mode 100644
index 0000000..5d161b7
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js
@@ -0,0 +1,41 @@
+import { LightningElement,api,wire,track } from 'lwc';
+import LightningDatatable from 'lightning/datatable';
+import customUnitTemplate from './customUnit.html';
+import customShipmentNumberTemplate from './customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
+import customNameTemplate from './customName.html';
+import customNumberTemplate from './customNumber.html';
+
+
+export default class MyCustomTypeDatatable extends LightningDatatable {
+
+
+ // static customTypes = {
+ // customUnit: {
+ // template: customUnitTemplate,
+ // //typeAttributes: ['value'],
+ // },
+ // customShipment: {
+ // template: customShipmentNumberTemplate,
+ // //typeAttributes: ['value'],
+ // },
+ // customShipmentUnitPrice: {
+ // template: customShippingUnitPriceTemplate,
+ // //typeAttributes: ['value'],
+ // }
+ // // Other types here
+ // }
+
+ static customTypes = {
+ customName: {
+ template: customNameTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['accountName'],
+ }
+ // Other types here
+ }
+
+ connectedCallback(){
+ console.log('MyCustomTypeDatatable enter')
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedList/paginatedList.html b/force-app/main/default/lwc/paginatedList/paginatedList.html
new file mode 100644
index 0000000..808aba7
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.html
@@ -0,0 +1,35 @@
+<template>
+ <template if:true={loader}>
+ <lightning-spinner alternative-text="Loading..." size="small"></lightning-spinner>
+ </template>
+ <template if:true={records}>
+ <div class="table-container">
+ <lightning-datatable
+ key-field="id"
+ data={records}
+ columns={columns}
+ sorted-by={sortBy}
+ sorted-direction={sortDirection}
+ onsort={doSorting}
+ >
+ </lightning-datatable>
+ </div>
+ <c-paginator
+ if:true={paginationVisibility}
+ onprevious={handlePrevious}
+ onnext={handleNext}
+ onpageschange={handlePageschange}
+ onfirst={handleFirst}
+ onlast={handleLast}
+ page-size-options={pageSizeOptions}
+ previous-button-disabled={previousButtonDisabled}
+ next-button-disabled={nextButtonDisabled}
+ record-start={recordStart}
+ record-end={recordEnd}
+ total-records={totalRecords}
+ ></c-paginator>
+ </template>
+ <template if:true={error}>
+ <c-error-panel errors={error}></c-error-panel>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedList/paginatedList.js b/force-app/main/default/lwc/paginatedList/paginatedList.js
new file mode 100644
index 0000000..b35c510
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.js
@@ -0,0 +1,120 @@
+import { LightningElement, api, track } from "lwc";
+import getAccountsPaginated from "@salesforce/apex/PaginatedListControllerLwc.getAccountsPaginated";
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { reduceErrors } from 'c/ldsUtils';
+import ACCOUNT_NAME_FIELD from "@salesforce/schema/Account.Name";
+import ACCOUNT_TYPE_FIELD from "@salesforce/schema/Account.Type";
+import ACCOUNT_PHONE_FIELD from "@salesforce/schema/Account.Type";
+import ACCOUNT_EMPLOYEES_FIELD from "@salesforce/schema/Account.NumberOfEmployees";
+
+const COLUMNS = [
+ {
+ label: "Account Name",
+ fieldName: ACCOUNT_NAME_FIELD.fieldApiName,
+ type: "text",
+ sortable: "true"
+ },
+ { label: "Type", fieldName: ACCOUNT_TYPE_FIELD.fieldApiName, type: "text" },
+ {
+ label: "Phone",
+ fieldName: ACCOUNT_PHONE_FIELD.fieldApiName,
+ type: "phone"
+ },
+ {
+ label: "Employees",
+ fieldName: ACCOUNT_EMPLOYEES_FIELD.fieldApiName,
+ type: "Number"
+ }
+];
+
+export default class PaginatedList extends LightningElement {
+ columns = COLUMNS;
+ @track sortBy = "Name";
+ @track sortDirection = "asc";
+ @track pageSize = 10;
+ error;
+ records;
+ currentPageToken = 0;
+ nextPageToken = this.pageSize;
+ @track loader = false;
+ @track pageNumber = 1;
+ @track paginationVisibility = false;
+ @track totalPages = 1;
+ @api pageSizeOptions = [10, 25, 50, 75, 100];
+ connectedCallback() {
+ this.getAccounts();
+ }
+
+ getAccounts() {
+ this.loader = true;
+ getAccountsPaginated({
+ pageSize: this.pageSize,
+ pageToken: this.currentPageToken,
+ sortField: this.sortBy,
+ sortOrder: this.sortDirection
+ })
+ .then((result) => {
+ this.loader = false;
+ if (result) {
+ this.records = result.records;
+ this.nextPageToken = result.nextPageToken;
+ this.totalRecords = result.totalRecords;
+ this.recordStart = result.recordStart;
+ this.recordEnd = result.recordEnd;
+ this.totalPages = Math.ceil(result.totalRecords / this.pageSize);
+ this.paginationVisibility = this.totalPages > 1 ? true : false;
+ }
+ })
+ .catch((error) => {
+ this.loader = false;
+ this.error = error;
+ this.currentPageToken = 0;
+ const evt = new ShowToastEvent({
+ title: 'Error',
+ message: reduceErrors(error).join(', '),
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ });
+ }
+ doSorting(event) {
+ console.log("Sort");
+ this.sortBy = event.detail.fieldName;
+ this.sortDirection = event.detail.sortDirection;
+ this.currentPageToken = 0;
+ this.getAccounts();
+ }
+
+ handlePrevious() {
+ this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
+ this.getAccounts();
+ }
+
+ handleNext() {
+ this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
+ this.getAccounts();
+ }
+ handleFirst() {
+ this.currentPageToken = 0;
+ this.getAccounts();
+ }
+
+ handleLast() {
+ this.currentPageToken = this.totalPages > 1? (this.totalPages-1)* this.pageSize:0;
+ this.getAccounts();
+ }
+
+ handlePageschange(event) {
+ console.log(event.detail);
+ this.pageSize = event.detail;
+ this.currentPageToken = 0;
+ this.getAccounts();
+ }
+ get previousButtonDisabled() {
+ return this.currentPageToken === 0;
+ }
+
+ get nextButtonDisabled() {
+ return this.nextPageToken === undefined;
+ }
+}
diff --git a/force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml b/force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.css b/force-app/main/default/lwc/paginator/paginator.css
new file mode 100644
index 0000000..7022ad9
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.css
@@ -0,0 +1,13 @@
+
+.customSelect select {
+ padding-right: 1.25rem;
+ min-height: inherit;
+ line-height: normal;
+ height: 1.4rem;
+}
+.customSelect label {
+ margin-top: .1rem;
+}
+.customSelect .slds-select_container::before {
+ border-bottom: 0;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.html b/force-app/main/default/lwc/paginator/paginator.html
new file mode 100644
index 0000000..3add3b3
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.html
@@ -0,0 +1,42 @@
+<template>
+ <lightning-card>
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread">
+ <div class="slds-col"><!--RECORDS PER PAGE-->
+ <div class="slds-list_inline slds-p-bottom_xx-small customSelect">
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" for="recordsPerPage">Page Size:</label>
+ <div class="slds-select_container">
+ <select class="slds-select" id="recordsPerPage" onchange={handleRecordsPerPage}>
+ <template for:each={pageSizeOptions} for:item="option">
+ <option key={option} value={option}>{option}</option>
+ </template>
+ </select>
+ </div>
+ </div>
+ </div>
+ <div class="slds-align_absolute-center">
+ <lightning-layout>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:jump_to_left" onclick={handleFirst} class="first"
+ disabled={previousButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:chevronleft" onclick={handlePrevious} class="previous"
+ disabled={previousButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="grow"></lightning-layout-item>
+ <span class="slds-badge slds-badge_lightest">
+ {recordStart}-{recordEnd} 鍏� {totalRecords}涓�
+ </span>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:chevronright" onclick={handleNext}
+ class="next" disabled={nextButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:jump_to_right" onclick={handleLast} class="last"
+ disabled={nextButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ </lightning-layout>
+ </div>
+ </div>
+ </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.js b/force-app/main/default/lwc/paginator/paginator.js
new file mode 100644
index 0000000..290042f
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.js
@@ -0,0 +1,32 @@
+import { LightningElement, api } from 'lwc';
+
+export default class Paginator extends LightningElement {
+ @api previousButtonDisabled;
+ @api nextButtonDisabled;
+ @api recordStart;
+ @api recordEnd;
+ @api totalRecords;
+ @api pageSizeOptions;
+
+ handlePrevious() {
+ this.dispatchEvent(new CustomEvent('previous'));
+ }
+
+ handleNext() {
+ this.dispatchEvent(new CustomEvent('next'));
+ }
+
+ handleFirst() {
+ this.dispatchEvent(new CustomEvent('first'));
+ }
+
+ handleLast() {
+ this.dispatchEvent(new CustomEvent('last'));
+ }
+
+ handleRecordsPerPage(event){
+ let perpages = event.target.value;
+ let pageschangeEvent = new CustomEvent("pageschange",{detail:perpages});
+ this.dispatchEvent(pageschangeEvent);
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.js-meta.xml b/force-app/main/default/lwc/paginator/paginator.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html b/force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html
new file mode 100644
index 0000000..6b8fb9f
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html
@@ -0,0 +1,7 @@
+<template>
+ <c-custom-shipment-Amount-comp
+ shipment-amount={typeAttributes.shipmentAmount}
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-Amount-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html b/force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html
new file mode 100644
index 0000000..9c16166
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html
@@ -0,0 +1,6 @@
+<template>
+ <c-custom-shipment-number-comp
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-number-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html b/force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html
new file mode 100644
index 0000000..a4d518a
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html
@@ -0,0 +1,6 @@
+<template>
+ <c-custom-shipping-unit-price-comp
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipping-unit-price-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customUnit.html b/force-app/main/default/lwc/pocLightningDatatable/customUnit.html
new file mode 100644
index 0000000..f4f17ba
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customUnit.html
@@ -0,0 +1,12 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <c-custom-unit-comp
+ style="position:relative; z-index:9999;"
+ unit-value={typeAttributes.unitValue}
+ unit-options={typeAttributes.unitOptions}
+ record-id={typeAttributes.recordId}
+ onunitchange={handleDataChange}
+ >
+ </c-custom-unit-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html b/force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html
new file mode 100644
index 0000000..deebcf7
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html
@@ -0,0 +1,5 @@
+<template>
+ <c-poc-custom-comp record-id={value}
+ accepted-formats={typeAttributes.acceptedFormats}>
+ </c-poc-custom-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html
new file mode 100644
index 0000000..27e0f69
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js
new file mode 100644
index 0000000..15828ae
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js
@@ -0,0 +1,28 @@
+import LightningDatatable from 'lightning/datatable';
+import pocFileUpload from './pocFileUpload.html';
+import customUnitTemplate from './customUnit.html';
+import customShipmentNumberTemplate from './customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
+import customShipmentAmountTemplate from './customShipmentAmount.html';
+
+
+export default class PocLightningDatatable extends LightningDatatable {
+ static customTypes = {
+ customUnit: {
+ template: customUnitTemplate,
+ typeAttributes: ['unitValue','unitOptions','recordId'],
+ },
+ customShipment: {
+ template: customShipmentNumberTemplate,
+ typeAttributes: ['recordId'],
+ },
+ customShipmentUnitPrice: {
+ template: customShippingUnitPriceTemplate,
+ typeAttributes: ['recordId'],
+ },
+ customShipmentAmount: {
+ template: customShipmentAmountTemplate,
+ typeAttributes: ['shipmentAmount','recordId'],
+ }
+ };
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testPaginated/__tests__/testPaginated.test.js b/force-app/main/default/lwc/testPaginated/__tests__/testPaginated.test.js
new file mode 100644
index 0000000..f1cc319
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/__tests__/testPaginated.test.js
@@ -0,0 +1,25 @@
+import { createElement } from 'lwc';
+import TestPaginated from 'c/testPaginated';
+
+describe('c-test-paginated', () => {
+ afterEach(() => {
+ // The jsdom instance is shared across test cases in a single file so reset the DOM
+ while (document.body.firstChild) {
+ document.body.removeChild(document.body.firstChild);
+ }
+ });
+
+ it('TODO: test case generated by CLI command, please fill in test logic', () => {
+ // Arrange
+ const element = createElement('c-test-paginated', {
+ is: TestPaginated
+ });
+
+ // Act
+ document.body.appendChild(element);
+
+ // Assert
+ // const div = element.shadowRoot.querySelector('div');
+ expect(1).toBe(1);
+ });
+});
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testPaginated/testPaginated.html b/force-app/main/default/lwc/testPaginated/testPaginated.html
new file mode 100644
index 0000000..9034aa2
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/testPaginated.html
@@ -0,0 +1,3 @@
+<template>
+ <c-paginated-list slot="lwc"></c-paginated-list>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testPaginated/testPaginated.js b/force-app/main/default/lwc/testPaginated/testPaginated.js
new file mode 100644
index 0000000..99a983f
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/testPaginated.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class TestPaginated extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml b/force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml
new file mode 100644
index 0000000..5b31309
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/package.xml b/force-app/main/default/package.xml
deleted file mode 100644
index 8d94da9..0000000
--- a/force-app/main/default/package.xml
+++ /dev/null
@@ -1,478 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Package xmlns="http://soap.sforce.com/2006/04/metadata">
- <types>
- <members>*</members>
- <name>ApexClass</name>
- </types>
- <types>
- <members>*</members>
- <name>ApexComponent</name>
- </types>
- <types>
- <members>*</members>
- <name>ApexPage</name>
- </types>
- <types>
- <members>*</members>
- <name>ApexTrigger</name>
- </types>
- <types>
- <members>*</members>
- <name>AuraDefinitionBundle</name>
- </types>
- <types>
- <members>*</members>
- <name>CustomApplication</name>
- </types>
- <types>
- <members>*</members>
- <name>CustomApplicationComponent</name>
- </types>
- <types>
- <members>*</members>
- <name>CustomMetadata</name>
- </types>
- <types>
- <members>ASEActivity__c</members>
- <members>AWS_Integration_Info__mdt</members>
- <members>Account</members>
- <members>Account2__c</members>
- <members>AccountBrand</members>
- <members>AccountContactRole</members>
- <members>AccountTeamMember</members>
- <members>Account_Number_of_case__c</members>
- <members>Account_Number_of_target__c</members>
- <members>Account_Service_Of_Target__c</members>
- <members>Achievement_linkage__c</members>
- <members>Activity</members>
- <members>ActivityRecurrence2Exception</members>
- <members>Activity_History_Daily_Report__c</members>
- <members>Address_Level2__c</members>
- <members>Address_Level__c</members>
- <members>Address__c</members>
- <members>Advance_Payment__c</members>
- <members>Agency_Contact__c</members>
- <members>Agency_Hospital_Link__c</members>
- <members>Agency_Opportunity__c</members>
- <members>Agency_Report_Header__c</members>
- <members>Agency_Report__c</members>
- <members>Amount_Major_Product__c</members>
- <members>Application_for_Conference_Adjudication__c</members>
- <members>AssessmentReportStaff__c</members>
- <members>AssessmentReport__c</members>
- <members>Asset</members>
- <members>AssetHistory__c</members>
- <members>AssetMaintainDetail__c</members>
- <members>AssetMaintainHeader__c</members>
- <members>AssetModifyBelongsChangeDetail__c</members>
- <members>AssetModifyBelongsChange__c</members>
- <members>AssetRelationship</members>
- <members>Asset_EquipmentSet_Managment_Code__c</members>
- <members>Asset_Service_Of_Target__c</members>
- <members>AssistantProgress</members>
- <members>AssociatedLocation</members>
- <members>AuthorizationForm</members>
- <members>AuthorizationFormConsent</members>
- <members>AuthorizationFormDataUse</members>
- <members>AuthorizationFormText</members>
- <members>BI_OpportunityLineItem__c</members>
- <members>BI_Opportunity__c</members>
- <members>BI_Product2__c</members>
- <members>BI_Statu_Achievements__c</members>
- <members>BMEFollowup__c</members>
- <members>BSS_Master__c</members>
- <members>BackOrderOpen__c</members>
- <members>BackOrder__c</members>
- <members>Backorder_Comment__c</members>
- <members>BatchIF_Log__c</members>
- <members>BatchIF_Transfer__c</members>
- <members>Bid_Announcement__c</members>
- <members>Bulletin_Board__c</members>
- <members>BusinessBrand</members>
- <members>CIC__c</members>
- <members>CIC_and_product_middle_table__c</members>
- <members>CIC_case_and_product_middle_table__c</members>
- <members>Campaign</members>
- <members>CampaignLable__c</members>
- <members>CampaignMember</members>
- <members>CampaignMember__c</members>
- <members>Campaign_Cost__c</members>
- <members>CancelPostponePlan__c</members>
- <members>Case</members>
- <members>CaseContactRole</members>
- <members>ChatterActivity</members>
- <members>CollaborationGroup</members>
- <members>CollaborationGroupMember</members>
- <members>CommSubscription</members>
- <members>CommSubscriptionChannelType</members>
- <members>CommSubscriptionConsent</members>
- <members>CommSubscriptionTiming</members>
- <members>Comment_Sequence__c</members>
- <members>Common_Sequence__c</members>
- <members>Competition_Company__c</members>
- <members>Complaint__c</members>
- <members>ConsumApplySafetyStockMiddleTable__c</members>
- <members>Consum_Apply_Equipment_Set_Detail__c</members>
- <members>Consum_Apply_Equipment_Set__c</members>
- <members>Consum_Apply_Meta__mdt</members>
- <members>Consum_Apply__c</members>
- <members>Consum_Inventory_Detail__c</members>
- <members>ConsumableSales__c</members>
- <members>ConsumableSampleLineItem__c</members>
- <members>ConsumableSample__c</members>
- <members>Consumable_ET__c</members>
- <members>Consumable_Orderdetails__c</members>
- <members>Consumable_Promotion__c</members>
- <members>Consumable_accessories_invoice__c</members>
- <members>Consumable_order_LinkTable__c</members>
- <members>Consumable_order__c</members>
- <members>Consumable_order_details2__c</members>
- <members>Contact</members>
- <members>ContactPointAddress</members>
- <members>ContactPointConsent</members>
- <members>ContactPointEmail</members>
- <members>ContactPointPhone</members>
- <members>ContactPointTypeConsent</members>
- <members>ContactRequest</members>
- <members>ContentVersion</members>
- <members>Contract</members>
- <members>ContractContactRole</members>
- <members>CustomObject123__c</members>
- <members>Customer</members>
- <members>Daily_Report__c</members>
- <members>DataUseLegalBasis</members>
- <members>DataUsePurpose</members>
- <members>Dealer_Product__c</members>
- <members>Dealer_Stock__c</members>
- <members>Dealer_elationship__c</members>
- <members>DelegatedAccount</members>
- <members>DiscountProductApplicationDetail__c</members>
- <members>DiscountProductApplication__c</members>
- <members>DuplicateRecordItem</members>
- <members>DuplicateRecordSet</members>
- <members>EffectProgress__c</members>
- <members>EmailMessage</members>
- <members>EngagementChannelType</members>
- <members>Enquiry_No_Bidding_Apply__c</members>
- <members>Equipment_Set_Detail__c</members>
- <members>Equipment_Set__c</members>
- <members>Event</members>
- <members>Event_Oppotunity__c</members>
- <members>Event_Service__c</members>
- <members>Event__c</members>
- <members>ExchangeUserMapping</members>
- <members>ExpressionFilter</members>
- <members>ExpressionFilterCriteria</members>
- <members>ExternalEventMapping</members>
- <members>FSE_Regional_Assistant_Account__mdt</members>
- <members>FSE_Regional_Assistant__mdt</members>
- <members>FeedItem</members>
- <members>FixtureDeliverySlip__c</members>
- <members>FixtureRemindSnapshot__c</members>
- <members>Fixture_OneToOne_Link__c</members>
- <members>Fixture_Set_Detail__c</members>
- <members>Fixture_Set__c</members>
- <members>GIRSolutionAreaNumber__c</members>
- <members>GuaranteePeriodAlterationApplication__c</members>
- <members>GuaranteePeriodAlterationDetail__c</members>
- <members>IS_Opportunity_Demand_Configuration__c</members>
- <members>IS_Opportunity_Demand_Demonstration__c</members>
- <members>IS_Opportunity_Demand_Operating__c</members>
- <members>IS_Opportunity_Demand__c</members>
- <members>Idea</members>
- <members>Image</members>
- <members>ImportantProductCategory__c</members>
- <members>Individual</members>
- <members>Inquiry_form__c</members>
- <members>Inspection_Item__c</members>
- <members>Inspection_Report__c</members>
- <members>Inspectup_Plan__c</members>
- <members>InstructStatusMonthly__c</members>
- <members>Instruct_report__c</members>
- <members>Instructed_staff__c</members>
- <members>Inventory_Batch_Mapping__mdt</members>
- <members>Inventory_Detail__c</members>
- <members>Inventory_Header_New__c</members>
- <members>Inventory_Header__c</members>
- <members>Inventory_User_Permission__mdt</members>
- <members>JF_scope_Training__c</members>
- <members>Key_Product_Goals__c</members>
- <members>LTV_6_SS__c</members>
- <members>LastbuyProduct__c</members>
- <members>Lead</members>
- <members>License_Information__c</members>
- <members>Loaner_check_disinfection__c</members>
- <members>Location</members>
- <members>LocationTrustMeasure</members>
- <members>LogisticsInformation__c</members>
- <members>LostReport_Detail__c</members>
- <members>LostReport__c</members>
- <members>Lost_Report__c</members>
- <members>Lost_cancel_report__c</members>
- <members>MB4S__MotionBoardProperty__c</members>
- <members>MB_Account__c</members>
- <members>MB_Asset__c</members>
- <members>MB_Daily_Report__c</members>
- <members>MB_Event__c</members>
- <members>MB_Maintenance_Contract__c</members>
- <members>MB_OpportunityLineItem__c</members>
- <members>MB_Opportunity__c</members>
- <members>MB_Repair__c</members>
- <members>MB_Report__c</members>
- <members>MB_Statu_Achievements__c</members>
- <members>MB_TargetLineItem__c</members>
- <members>MB_Target__c</members>
- <members>Macro</members>
- <members>MacroAction</members>
- <members>MacroInstruction</members>
- <members>MacroUsage</members>
- <members>Maintenance_Contract_Asset_Estimate__c</members>
- <members>Maintenance_Contract_Asset__c</members>
- <members>Maintenance_Contract_Estimate__c</members>
- <members>Maintenance_Contract__c</members>
- <members>Maintenance_Product_Data_Details__c</members>
- <members>Maintenance_Product_Data__c</members>
- <members>Maintenance_Task__c</members>
- <members>ManagedContentVersion</members>
- <members>Material_For__c</members>
- <members>Medical_expense_Province__c</members>
- <members>Medical_expense_Request__c</members>
- <members>Medical_expense__c</members>
- <members>Medical_expense_product_middle__c</members>
- <members>MeetingManagement__c</members>
- <members>ModelLendingProduct__c</members>
- <members>Monthly_Report__c</members>
- <members>NetworkMember</members>
- <members>NetworkMemberChunk</members>
- <members>NewMaintenanceReport_Task__c</members>
- <members>NotesEventHistory__c</members>
- <members>Num_Major_Product__c</members>
- <members>OCM_Management_Province__c</members>
- <members>ODS__c</members>
- <members>OFSHospitalLayout__c</members>
- <members>OFSInsReportLayout__c</members>
- <members>OFSSetting__c</members>
- <members>OPDPlan__c</members>
- <members>ObjectPrefix__c</members>
- <members>OlympusCalendar__c</members>
- <members>OnCall_detail__c</members>
- <members>On_Call__c</members>
- <members>On_Line_Survey__c</members>
- <members>OppComment__c</members>
- <members>Opponent_Bid_Information__c</members>
- <members>Opportunity</members>
- <members>Opportunity2__c</members>
- <members>OpportunityCompetitor</members>
- <members>OpportunityContactRole</members>
- <members>OpportunityFileOrder__c</members>
- <members>OpportunityLineItem</members>
- <members>OpportunitySpecialApply__c</members>
- <members>OpportunityTeamMember</members>
- <members>Opportunity_Budget_Actual__c</members>
- <members>Opportunity_File__c</members>
- <members>OrderOpen__c</members>
- <members>Order__c</members>
- <members>Order_history__c</members>
- <members>OrgMetricScanResult</members>
- <members>OrgMetricScanSummary</members>
- <members>PAE_DecisionRecordDetail__c</members>
- <members>PAE_DecisionRecord__c</members>
- <members>PBIAuthorization__c</members>
- <members>PCLLostBrand__c</members>
- <members>PCLLostProduct__c</members>
- <members>PI_Field_Policy__c</members>
- <members>PartnerRole</members>
- <members>PartyConsent</members>
- <members>Payment_Maintenance_Contract__c</members>
- <members>PersonalEvaluation__c</members>
- <members>Personal_Evaluation__c</members>
- <members>Plan_Rental_Equipment__c</members>
- <members>PowerBISyncDefine__c</members>
- <members>Pricebook2</members>
- <members>PricebookEntry</members>
- <members>ProcessException</members>
- <members>Product2</members>
- <members>Product2__c</members>
- <members>ProductMonthlySales__c</members>
- <members>ProductTypes__c</members>
- <members>ProductURF__c</members>
- <members>Product_CategoryPrice_Table__c</members>
- <members>Product_Documentation__c</members>
- <members>Product_Material__c</members>
- <members>Product_Register_Link__c</members>
- <members>Product_Register__c</members>
- <members>Product_Register_contrast__c</members>
- <members>Product_Score_Table_History__c</members>
- <members>Product_Score_Table__c</members>
- <members>Product_Set_Detail__c</members>
- <members>Product_Set__c</members>
- <members>Product_and_document_middle_table__c</members>
- <members>Product_document_Lead__c</members>
- <members>PromotionHead__c</members>
- <members>PromotionProduct__c</members>
- <members>PromotionSalesProducts__c</members>
- <members>PromotionSales__c</members>
- <members>PromptAction</members>
- <members>PromptError</members>
- <members>Province_Target_Table__c</members>
- <members>Provincial_Goal_Setting_Input__c</members>
- <members>QIS_M_BC__c</members>
- <members>QIS_Report__c</members>
- <members>QIS_SC_Report__c</members>
- <members>Questionnaire_Survey__c</members>
- <members>QuestionsAndAnswers__c</members>
- <members>QuickText</members>
- <members>QuickTextUsage</members>
- <members>Quote</members>
- <members>QuoteIraiLineItem__c</members>
- <members>QuoteIrai__c</members>
- <members>QuoteLineItem</members>
- <members>RSA_master_data__c</members>
- <members>ReceivingNoteDetail__c</members>
- <members>ReceivingNoteSummary__c</members>
- <members>ReceivingNote__c</members>
- <members>Recommendation</members>
- <members>RecordAction</members>
- <members>RecordMergeHistory</members>
- <members>RentalApply_Postpone__mdt</members>
- <members>Rental_Apply_App_CCEmail__mdt</members>
- <members>Rental_Apply_Equipment_Set_DetailPower_B__c</members>
- <members>Rental_Apply_Equipment_Set_Detail__c</members>
- <members>Rental_Apply_Equipment_Set_Power_BI__c</members>
- <members>Rental_Apply_Equipment_Set__c</members>
- <members>Rental_Apply_Power_BI__c</members>
- <members>Rental_Apply_Sequence__c</members>
- <members>Rental_Apply__c</members>
- <members>Rental_Equipment__c</members>
- <members>Rental_Queue_Info__c</members>
- <members>RepairAgainAn__c</members>
- <members>RepairComment__c</members>
- <members>RepairSubOrder__c</members>
- <members>Repair_Quotation__c</members>
- <members>Repair__c</members>
- <members>Repair_quotation_reason__c</members>
- <members>Repair_reason__c</members>
- <members>Repair_receipt__c</members>
- <members>ReportList__c</members>
- <members>ReportMemo__c</members>
- <members>Report__c</members>
- <members>Request_tedner_doc__c</members>
- <members>Result_for_Conference_Adjudication__c</members>
- <members>SAP_for_BackOrder__c</members>
- <members>SFDA__c</members>
- <members>SFDelete__c</members>
- <members>SI_Attachment__c</members>
- <members>SLAReportInfo__c</members>
- <members>SMARM__c</members>
- <members>SSConsumable_order_details2__c</members>
- <members>SS_BO_shipment_accurancy__c</members>
- <members>SS_BatchColumnMapping__c</members>
- <members>SS_Batch_Column_Mapping__c</members>
- <members>SS_Dinghuo_accurancy__c</members>
- <members>SS_HCP_vist_cover_monthly__c</members>
- <members>SS_LTV_Dept_monthly__c</members>
- <members>SS_LTV_HP_monthly__c</members>
- <members>SS_LastMonthCompleteaccuracy__c</members>
- <members>SS_OPDPlan__c</members>
- <members>SS_OPDQuarterPlan__c</members>
- <members>SS_OPD_SIS_Monthly_by_User__c</members>
- <members>SS_Prospect_5days_list__c</members>
- <members>SS_Prospect_Order_accurancy__c</members>
- <members>SS_Prospect_detail_product__c</members>
- <members>SS_Prospect_list__c</members>
- <members>SS_User_list__c</members>
- <members>SS_accompany_report_monthly__c</members>
- <members>SS_backorder_list__c</members>
- <members>SS_monthly_submit_daily_report__c</members>
- <members>SS_shipment_acurancy__c</members>
- <members>SS_update_this_month__c</members>
- <members>SS_user_visit_covager__c</members>
- <members>Sample_inventory_sheet__c</members>
- <members>Sample_order_list_DN__c</members>
- <members>Sample_order_list__c</members>
- <members>Sample_order_list_detail__c</members>
- <members>Sample_stock_log_sheet__c</members>
- <members>Scorecard</members>
- <members>ScorecardAssociation</members>
- <members>ScorecardMetric</members>
- <members>SelableProduct__c</members>
- <members>Seller</members>
- <members>Service_Category6__c</members>
- <members>Service_Category7__c</members>
- <members>Ship_History__c</members>
- <members>Ship_History_open__c</members>
- <members>Ship_Open__c</members>
- <members>Ship__c</members>
- <members>Shipment_address__c</members>
- <members>Site</members>
- <members>SocialPersona</members>
- <members>SocialPost</members>
- <members>Solution</members>
- <members>SolutionProjectRequirements__c</members>
- <members>Solution_Programme__c</members>
- <members>Statu_Achievements_DN__c</members>
- <members>Statu_Achievements_DN_details__c</members>
- <members>Statu_Achievements_Journal__c</members>
- <members>Statu_Achievements__c</members>
- <members>StreamActivityAccess</members>
- <members>StreamingChannel</members>
- <members>SubAuthorized__c</members>
- <members>SurveyQuestionResponse__c</members>
- <members>SurveyTaker__c</members>
- <members>Survey_Question__c</members>
- <members>Survey__c</members>
- <members>System_Request__c</members>
- <members>System_UserSetting__c</members>
- <members>Target_account_manage__c</members>
- <members>Task</members>
- <members>TaskEventReportOPD__c</members>
- <members>TemporaryFileBox__c</members>
- <members>Tender_Opportunity_Link__c</members>
- <members>Tender_information__c</members>
- <members>Tender_information_details__c</members>
- <members>Territory2</members>
- <members>Territory2Model</members>
- <members>ThreeMonthlyContact__c</members>
- <members>Topic</members>
- <members>TopicAssignment</members>
- <members>TracingCode__c</members>
- <members>Training_test_Result__c</members>
- <members>Transaction_Log__c</members>
- <members>TransferApplyDetail__c</members>
- <members>TransferApplySummary__c</members>
- <members>TransferApply__c</members>
- <members>User</members>
- <members>UserProvisioningRequest</members>
- <members>UserTerritory2Association</members>
- <members>VideoCall</members>
- <members>VideoCallParticipant</members>
- <members>VideoCallRecording</members>
- <members>Visit_Report__c</members>
- <members>WarlockClassification__c</members>
- <members>Weekly_OPP_Follow_record__c</members>
- <members>accompanying_report__c</members>
- <members>asset_Power_BI__c</members>
- <members>bidInfoFile__c</members>
- <members>bp3_Setting__c</members>
- <members>eSignFormEntry__c</members>
- <members>eSignFormLineItemEntry__c</members>
- <members>eSignFormLineItem__c</members>
- <members>eSignForm__c</members>
- <members>guar__GUAR_Setting__mdt</members>
- <members>hospitalprice__c</members>
- <members>meeting_delay_apply__c</members>
- <members>report_report__c</members>
- <members>solutionClosingAttachment__c</members>
- <members>task__c</members>
- <name>CustomObject</name>
- </types>
- <types>
- <members>*</members>
- <name>HomePageComponent</name>
- </types>
- <types>
- <members>*</members>
- <name>StaticResource</name>
- </types>
- <version>41.0</version>
-</Package>
diff --git a/force-app/main/default/pages/Inventory.page b/force-app/main/default/pages/Inventory.page
index 7f05f37..126a68d 100644
--- a/force-app/main/default/pages/Inventory.page
+++ b/force-app/main/default/pages/Inventory.page
@@ -5,6 +5,7 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" />
<script>
+ console.log('ConsumableorderdetailsRecordsview = ' + '{!ConsumableorderdetailsRecordsview}')
function checkAll() {
var productCount = j$(escapeVfId('allPage:allForm:allBlock:ConsumableorderdetailsSection:ConsumableorderdetailsCnt')).value();
if (j$(escapeVfId('checker')).attr('checked') == 'checked') {
diff --git a/force-app/main/default/pages/InventoryView.page b/force-app/main/default/pages/InventoryView.page
index 3f801b5..764097b 100644
--- a/force-app/main/default/pages/InventoryView.page
+++ b/force-app/main/default/pages/InventoryView.page
@@ -4,6 +4,7 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
<script>
+ console.log('pageRecords = ' + '{!pageRecords}')
function ClearJs(){
blockme();
//document.getElementById("allPage:allForm:allBlock:searchBlock:OrderCodeSearch").value = "";
diff --git a/force-app/main/default/staticresources/LexCustomDataTable.css b/force-app/main/default/staticresources/LexCustomDataTable.css
new file mode 100644
index 0000000..f140d52
--- /dev/null
+++ b/force-app/main/default/staticresources/LexCustomDataTable.css
@@ -0,0 +1,12 @@
+.picklist-container,
+.lookup-container {
+ overflow: visible;
+}
+
+.picklist-container .slds-dropdown,
+.lookup-container .slds-dropdown {
+ position: relative !important;
+ z-index: 99 !important;
+ max-height: 120px;
+ overflow: visible;
+}
\ No newline at end of file
diff --git a/force-app/main/default/staticresources/LexCustomDataTable.resource-meta.xml b/force-app/main/default/staticresources/LexCustomDataTable.resource-meta.xml
new file mode 100644
index 0000000..1c665a5
--- /dev/null
+++ b/force-app/main/default/staticresources/LexCustomDataTable.resource-meta.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<StaticResource xmlns="http://soap.sforce.com/2006/04/metadata">
+ <cacheControl>Public</cacheControl>
+ <contentType>text/css</contentType>
+ <description>File to hold CSS for custom datatable</description>
+</StaticResource>
\ No newline at end of file
diff --git a/manifest/package.xml b/manifest/package.xml
index c18b30a..8d94da9 100644
--- a/manifest/package.xml
+++ b/manifest/package.xml
@@ -1,9 +1,478 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
- <members>NewAndEditLead</members>
- <members>NewAndEditReport</members>
+ <members>*</members>
+ <name>ApexClass</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>ApexComponent</name>
+ </types>
+ <types>
+ <members>*</members>
<name>ApexPage</name>
</types>
- <version>52.0</version>
-</Package>
\ No newline at end of file
+ <types>
+ <members>*</members>
+ <name>ApexTrigger</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>AuraDefinitionBundle</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>CustomApplication</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>CustomApplicationComponent</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>CustomMetadata</name>
+ </types>
+ <types>
+ <members>ASEActivity__c</members>
+ <members>AWS_Integration_Info__mdt</members>
+ <members>Account</members>
+ <members>Account2__c</members>
+ <members>AccountBrand</members>
+ <members>AccountContactRole</members>
+ <members>AccountTeamMember</members>
+ <members>Account_Number_of_case__c</members>
+ <members>Account_Number_of_target__c</members>
+ <members>Account_Service_Of_Target__c</members>
+ <members>Achievement_linkage__c</members>
+ <members>Activity</members>
+ <members>ActivityRecurrence2Exception</members>
+ <members>Activity_History_Daily_Report__c</members>
+ <members>Address_Level2__c</members>
+ <members>Address_Level__c</members>
+ <members>Address__c</members>
+ <members>Advance_Payment__c</members>
+ <members>Agency_Contact__c</members>
+ <members>Agency_Hospital_Link__c</members>
+ <members>Agency_Opportunity__c</members>
+ <members>Agency_Report_Header__c</members>
+ <members>Agency_Report__c</members>
+ <members>Amount_Major_Product__c</members>
+ <members>Application_for_Conference_Adjudication__c</members>
+ <members>AssessmentReportStaff__c</members>
+ <members>AssessmentReport__c</members>
+ <members>Asset</members>
+ <members>AssetHistory__c</members>
+ <members>AssetMaintainDetail__c</members>
+ <members>AssetMaintainHeader__c</members>
+ <members>AssetModifyBelongsChangeDetail__c</members>
+ <members>AssetModifyBelongsChange__c</members>
+ <members>AssetRelationship</members>
+ <members>Asset_EquipmentSet_Managment_Code__c</members>
+ <members>Asset_Service_Of_Target__c</members>
+ <members>AssistantProgress</members>
+ <members>AssociatedLocation</members>
+ <members>AuthorizationForm</members>
+ <members>AuthorizationFormConsent</members>
+ <members>AuthorizationFormDataUse</members>
+ <members>AuthorizationFormText</members>
+ <members>BI_OpportunityLineItem__c</members>
+ <members>BI_Opportunity__c</members>
+ <members>BI_Product2__c</members>
+ <members>BI_Statu_Achievements__c</members>
+ <members>BMEFollowup__c</members>
+ <members>BSS_Master__c</members>
+ <members>BackOrderOpen__c</members>
+ <members>BackOrder__c</members>
+ <members>Backorder_Comment__c</members>
+ <members>BatchIF_Log__c</members>
+ <members>BatchIF_Transfer__c</members>
+ <members>Bid_Announcement__c</members>
+ <members>Bulletin_Board__c</members>
+ <members>BusinessBrand</members>
+ <members>CIC__c</members>
+ <members>CIC_and_product_middle_table__c</members>
+ <members>CIC_case_and_product_middle_table__c</members>
+ <members>Campaign</members>
+ <members>CampaignLable__c</members>
+ <members>CampaignMember</members>
+ <members>CampaignMember__c</members>
+ <members>Campaign_Cost__c</members>
+ <members>CancelPostponePlan__c</members>
+ <members>Case</members>
+ <members>CaseContactRole</members>
+ <members>ChatterActivity</members>
+ <members>CollaborationGroup</members>
+ <members>CollaborationGroupMember</members>
+ <members>CommSubscription</members>
+ <members>CommSubscriptionChannelType</members>
+ <members>CommSubscriptionConsent</members>
+ <members>CommSubscriptionTiming</members>
+ <members>Comment_Sequence__c</members>
+ <members>Common_Sequence__c</members>
+ <members>Competition_Company__c</members>
+ <members>Complaint__c</members>
+ <members>ConsumApplySafetyStockMiddleTable__c</members>
+ <members>Consum_Apply_Equipment_Set_Detail__c</members>
+ <members>Consum_Apply_Equipment_Set__c</members>
+ <members>Consum_Apply_Meta__mdt</members>
+ <members>Consum_Apply__c</members>
+ <members>Consum_Inventory_Detail__c</members>
+ <members>ConsumableSales__c</members>
+ <members>ConsumableSampleLineItem__c</members>
+ <members>ConsumableSample__c</members>
+ <members>Consumable_ET__c</members>
+ <members>Consumable_Orderdetails__c</members>
+ <members>Consumable_Promotion__c</members>
+ <members>Consumable_accessories_invoice__c</members>
+ <members>Consumable_order_LinkTable__c</members>
+ <members>Consumable_order__c</members>
+ <members>Consumable_order_details2__c</members>
+ <members>Contact</members>
+ <members>ContactPointAddress</members>
+ <members>ContactPointConsent</members>
+ <members>ContactPointEmail</members>
+ <members>ContactPointPhone</members>
+ <members>ContactPointTypeConsent</members>
+ <members>ContactRequest</members>
+ <members>ContentVersion</members>
+ <members>Contract</members>
+ <members>ContractContactRole</members>
+ <members>CustomObject123__c</members>
+ <members>Customer</members>
+ <members>Daily_Report__c</members>
+ <members>DataUseLegalBasis</members>
+ <members>DataUsePurpose</members>
+ <members>Dealer_Product__c</members>
+ <members>Dealer_Stock__c</members>
+ <members>Dealer_elationship__c</members>
+ <members>DelegatedAccount</members>
+ <members>DiscountProductApplicationDetail__c</members>
+ <members>DiscountProductApplication__c</members>
+ <members>DuplicateRecordItem</members>
+ <members>DuplicateRecordSet</members>
+ <members>EffectProgress__c</members>
+ <members>EmailMessage</members>
+ <members>EngagementChannelType</members>
+ <members>Enquiry_No_Bidding_Apply__c</members>
+ <members>Equipment_Set_Detail__c</members>
+ <members>Equipment_Set__c</members>
+ <members>Event</members>
+ <members>Event_Oppotunity__c</members>
+ <members>Event_Service__c</members>
+ <members>Event__c</members>
+ <members>ExchangeUserMapping</members>
+ <members>ExpressionFilter</members>
+ <members>ExpressionFilterCriteria</members>
+ <members>ExternalEventMapping</members>
+ <members>FSE_Regional_Assistant_Account__mdt</members>
+ <members>FSE_Regional_Assistant__mdt</members>
+ <members>FeedItem</members>
+ <members>FixtureDeliverySlip__c</members>
+ <members>FixtureRemindSnapshot__c</members>
+ <members>Fixture_OneToOne_Link__c</members>
+ <members>Fixture_Set_Detail__c</members>
+ <members>Fixture_Set__c</members>
+ <members>GIRSolutionAreaNumber__c</members>
+ <members>GuaranteePeriodAlterationApplication__c</members>
+ <members>GuaranteePeriodAlterationDetail__c</members>
+ <members>IS_Opportunity_Demand_Configuration__c</members>
+ <members>IS_Opportunity_Demand_Demonstration__c</members>
+ <members>IS_Opportunity_Demand_Operating__c</members>
+ <members>IS_Opportunity_Demand__c</members>
+ <members>Idea</members>
+ <members>Image</members>
+ <members>ImportantProductCategory__c</members>
+ <members>Individual</members>
+ <members>Inquiry_form__c</members>
+ <members>Inspection_Item__c</members>
+ <members>Inspection_Report__c</members>
+ <members>Inspectup_Plan__c</members>
+ <members>InstructStatusMonthly__c</members>
+ <members>Instruct_report__c</members>
+ <members>Instructed_staff__c</members>
+ <members>Inventory_Batch_Mapping__mdt</members>
+ <members>Inventory_Detail__c</members>
+ <members>Inventory_Header_New__c</members>
+ <members>Inventory_Header__c</members>
+ <members>Inventory_User_Permission__mdt</members>
+ <members>JF_scope_Training__c</members>
+ <members>Key_Product_Goals__c</members>
+ <members>LTV_6_SS__c</members>
+ <members>LastbuyProduct__c</members>
+ <members>Lead</members>
+ <members>License_Information__c</members>
+ <members>Loaner_check_disinfection__c</members>
+ <members>Location</members>
+ <members>LocationTrustMeasure</members>
+ <members>LogisticsInformation__c</members>
+ <members>LostReport_Detail__c</members>
+ <members>LostReport__c</members>
+ <members>Lost_Report__c</members>
+ <members>Lost_cancel_report__c</members>
+ <members>MB4S__MotionBoardProperty__c</members>
+ <members>MB_Account__c</members>
+ <members>MB_Asset__c</members>
+ <members>MB_Daily_Report__c</members>
+ <members>MB_Event__c</members>
+ <members>MB_Maintenance_Contract__c</members>
+ <members>MB_OpportunityLineItem__c</members>
+ <members>MB_Opportunity__c</members>
+ <members>MB_Repair__c</members>
+ <members>MB_Report__c</members>
+ <members>MB_Statu_Achievements__c</members>
+ <members>MB_TargetLineItem__c</members>
+ <members>MB_Target__c</members>
+ <members>Macro</members>
+ <members>MacroAction</members>
+ <members>MacroInstruction</members>
+ <members>MacroUsage</members>
+ <members>Maintenance_Contract_Asset_Estimate__c</members>
+ <members>Maintenance_Contract_Asset__c</members>
+ <members>Maintenance_Contract_Estimate__c</members>
+ <members>Maintenance_Contract__c</members>
+ <members>Maintenance_Product_Data_Details__c</members>
+ <members>Maintenance_Product_Data__c</members>
+ <members>Maintenance_Task__c</members>
+ <members>ManagedContentVersion</members>
+ <members>Material_For__c</members>
+ <members>Medical_expense_Province__c</members>
+ <members>Medical_expense_Request__c</members>
+ <members>Medical_expense__c</members>
+ <members>Medical_expense_product_middle__c</members>
+ <members>MeetingManagement__c</members>
+ <members>ModelLendingProduct__c</members>
+ <members>Monthly_Report__c</members>
+ <members>NetworkMember</members>
+ <members>NetworkMemberChunk</members>
+ <members>NewMaintenanceReport_Task__c</members>
+ <members>NotesEventHistory__c</members>
+ <members>Num_Major_Product__c</members>
+ <members>OCM_Management_Province__c</members>
+ <members>ODS__c</members>
+ <members>OFSHospitalLayout__c</members>
+ <members>OFSInsReportLayout__c</members>
+ <members>OFSSetting__c</members>
+ <members>OPDPlan__c</members>
+ <members>ObjectPrefix__c</members>
+ <members>OlympusCalendar__c</members>
+ <members>OnCall_detail__c</members>
+ <members>On_Call__c</members>
+ <members>On_Line_Survey__c</members>
+ <members>OppComment__c</members>
+ <members>Opponent_Bid_Information__c</members>
+ <members>Opportunity</members>
+ <members>Opportunity2__c</members>
+ <members>OpportunityCompetitor</members>
+ <members>OpportunityContactRole</members>
+ <members>OpportunityFileOrder__c</members>
+ <members>OpportunityLineItem</members>
+ <members>OpportunitySpecialApply__c</members>
+ <members>OpportunityTeamMember</members>
+ <members>Opportunity_Budget_Actual__c</members>
+ <members>Opportunity_File__c</members>
+ <members>OrderOpen__c</members>
+ <members>Order__c</members>
+ <members>Order_history__c</members>
+ <members>OrgMetricScanResult</members>
+ <members>OrgMetricScanSummary</members>
+ <members>PAE_DecisionRecordDetail__c</members>
+ <members>PAE_DecisionRecord__c</members>
+ <members>PBIAuthorization__c</members>
+ <members>PCLLostBrand__c</members>
+ <members>PCLLostProduct__c</members>
+ <members>PI_Field_Policy__c</members>
+ <members>PartnerRole</members>
+ <members>PartyConsent</members>
+ <members>Payment_Maintenance_Contract__c</members>
+ <members>PersonalEvaluation__c</members>
+ <members>Personal_Evaluation__c</members>
+ <members>Plan_Rental_Equipment__c</members>
+ <members>PowerBISyncDefine__c</members>
+ <members>Pricebook2</members>
+ <members>PricebookEntry</members>
+ <members>ProcessException</members>
+ <members>Product2</members>
+ <members>Product2__c</members>
+ <members>ProductMonthlySales__c</members>
+ <members>ProductTypes__c</members>
+ <members>ProductURF__c</members>
+ <members>Product_CategoryPrice_Table__c</members>
+ <members>Product_Documentation__c</members>
+ <members>Product_Material__c</members>
+ <members>Product_Register_Link__c</members>
+ <members>Product_Register__c</members>
+ <members>Product_Register_contrast__c</members>
+ <members>Product_Score_Table_History__c</members>
+ <members>Product_Score_Table__c</members>
+ <members>Product_Set_Detail__c</members>
+ <members>Product_Set__c</members>
+ <members>Product_and_document_middle_table__c</members>
+ <members>Product_document_Lead__c</members>
+ <members>PromotionHead__c</members>
+ <members>PromotionProduct__c</members>
+ <members>PromotionSalesProducts__c</members>
+ <members>PromotionSales__c</members>
+ <members>PromptAction</members>
+ <members>PromptError</members>
+ <members>Province_Target_Table__c</members>
+ <members>Provincial_Goal_Setting_Input__c</members>
+ <members>QIS_M_BC__c</members>
+ <members>QIS_Report__c</members>
+ <members>QIS_SC_Report__c</members>
+ <members>Questionnaire_Survey__c</members>
+ <members>QuestionsAndAnswers__c</members>
+ <members>QuickText</members>
+ <members>QuickTextUsage</members>
+ <members>Quote</members>
+ <members>QuoteIraiLineItem__c</members>
+ <members>QuoteIrai__c</members>
+ <members>QuoteLineItem</members>
+ <members>RSA_master_data__c</members>
+ <members>ReceivingNoteDetail__c</members>
+ <members>ReceivingNoteSummary__c</members>
+ <members>ReceivingNote__c</members>
+ <members>Recommendation</members>
+ <members>RecordAction</members>
+ <members>RecordMergeHistory</members>
+ <members>RentalApply_Postpone__mdt</members>
+ <members>Rental_Apply_App_CCEmail__mdt</members>
+ <members>Rental_Apply_Equipment_Set_DetailPower_B__c</members>
+ <members>Rental_Apply_Equipment_Set_Detail__c</members>
+ <members>Rental_Apply_Equipment_Set_Power_BI__c</members>
+ <members>Rental_Apply_Equipment_Set__c</members>
+ <members>Rental_Apply_Power_BI__c</members>
+ <members>Rental_Apply_Sequence__c</members>
+ <members>Rental_Apply__c</members>
+ <members>Rental_Equipment__c</members>
+ <members>Rental_Queue_Info__c</members>
+ <members>RepairAgainAn__c</members>
+ <members>RepairComment__c</members>
+ <members>RepairSubOrder__c</members>
+ <members>Repair_Quotation__c</members>
+ <members>Repair__c</members>
+ <members>Repair_quotation_reason__c</members>
+ <members>Repair_reason__c</members>
+ <members>Repair_receipt__c</members>
+ <members>ReportList__c</members>
+ <members>ReportMemo__c</members>
+ <members>Report__c</members>
+ <members>Request_tedner_doc__c</members>
+ <members>Result_for_Conference_Adjudication__c</members>
+ <members>SAP_for_BackOrder__c</members>
+ <members>SFDA__c</members>
+ <members>SFDelete__c</members>
+ <members>SI_Attachment__c</members>
+ <members>SLAReportInfo__c</members>
+ <members>SMARM__c</members>
+ <members>SSConsumable_order_details2__c</members>
+ <members>SS_BO_shipment_accurancy__c</members>
+ <members>SS_BatchColumnMapping__c</members>
+ <members>SS_Batch_Column_Mapping__c</members>
+ <members>SS_Dinghuo_accurancy__c</members>
+ <members>SS_HCP_vist_cover_monthly__c</members>
+ <members>SS_LTV_Dept_monthly__c</members>
+ <members>SS_LTV_HP_monthly__c</members>
+ <members>SS_LastMonthCompleteaccuracy__c</members>
+ <members>SS_OPDPlan__c</members>
+ <members>SS_OPDQuarterPlan__c</members>
+ <members>SS_OPD_SIS_Monthly_by_User__c</members>
+ <members>SS_Prospect_5days_list__c</members>
+ <members>SS_Prospect_Order_accurancy__c</members>
+ <members>SS_Prospect_detail_product__c</members>
+ <members>SS_Prospect_list__c</members>
+ <members>SS_User_list__c</members>
+ <members>SS_accompany_report_monthly__c</members>
+ <members>SS_backorder_list__c</members>
+ <members>SS_monthly_submit_daily_report__c</members>
+ <members>SS_shipment_acurancy__c</members>
+ <members>SS_update_this_month__c</members>
+ <members>SS_user_visit_covager__c</members>
+ <members>Sample_inventory_sheet__c</members>
+ <members>Sample_order_list_DN__c</members>
+ <members>Sample_order_list__c</members>
+ <members>Sample_order_list_detail__c</members>
+ <members>Sample_stock_log_sheet__c</members>
+ <members>Scorecard</members>
+ <members>ScorecardAssociation</members>
+ <members>ScorecardMetric</members>
+ <members>SelableProduct__c</members>
+ <members>Seller</members>
+ <members>Service_Category6__c</members>
+ <members>Service_Category7__c</members>
+ <members>Ship_History__c</members>
+ <members>Ship_History_open__c</members>
+ <members>Ship_Open__c</members>
+ <members>Ship__c</members>
+ <members>Shipment_address__c</members>
+ <members>Site</members>
+ <members>SocialPersona</members>
+ <members>SocialPost</members>
+ <members>Solution</members>
+ <members>SolutionProjectRequirements__c</members>
+ <members>Solution_Programme__c</members>
+ <members>Statu_Achievements_DN__c</members>
+ <members>Statu_Achievements_DN_details__c</members>
+ <members>Statu_Achievements_Journal__c</members>
+ <members>Statu_Achievements__c</members>
+ <members>StreamActivityAccess</members>
+ <members>StreamingChannel</members>
+ <members>SubAuthorized__c</members>
+ <members>SurveyQuestionResponse__c</members>
+ <members>SurveyTaker__c</members>
+ <members>Survey_Question__c</members>
+ <members>Survey__c</members>
+ <members>System_Request__c</members>
+ <members>System_UserSetting__c</members>
+ <members>Target_account_manage__c</members>
+ <members>Task</members>
+ <members>TaskEventReportOPD__c</members>
+ <members>TemporaryFileBox__c</members>
+ <members>Tender_Opportunity_Link__c</members>
+ <members>Tender_information__c</members>
+ <members>Tender_information_details__c</members>
+ <members>Territory2</members>
+ <members>Territory2Model</members>
+ <members>ThreeMonthlyContact__c</members>
+ <members>Topic</members>
+ <members>TopicAssignment</members>
+ <members>TracingCode__c</members>
+ <members>Training_test_Result__c</members>
+ <members>Transaction_Log__c</members>
+ <members>TransferApplyDetail__c</members>
+ <members>TransferApplySummary__c</members>
+ <members>TransferApply__c</members>
+ <members>User</members>
+ <members>UserProvisioningRequest</members>
+ <members>UserTerritory2Association</members>
+ <members>VideoCall</members>
+ <members>VideoCallParticipant</members>
+ <members>VideoCallRecording</members>
+ <members>Visit_Report__c</members>
+ <members>WarlockClassification__c</members>
+ <members>Weekly_OPP_Follow_record__c</members>
+ <members>accompanying_report__c</members>
+ <members>asset_Power_BI__c</members>
+ <members>bidInfoFile__c</members>
+ <members>bp3_Setting__c</members>
+ <members>eSignFormEntry__c</members>
+ <members>eSignFormLineItemEntry__c</members>
+ <members>eSignFormLineItem__c</members>
+ <members>eSignForm__c</members>
+ <members>guar__GUAR_Setting__mdt</members>
+ <members>hospitalprice__c</members>
+ <members>meeting_delay_apply__c</members>
+ <members>report_report__c</members>
+ <members>solutionClosingAttachment__c</members>
+ <members>task__c</members>
+ <name>CustomObject</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>HomePageComponent</name>
+ </types>
+ <types>
+ <members>*</members>
+ <name>StaticResource</name>
+ </types>
+ <version>41.0</version>
+</Package>
diff --git a/manifest/packageForPIPL.xml b/manifest/packageForPIPL.xml
index 1cb3506..85ff7ee 100644
--- a/manifest/packageForPIPL.xml
+++ b/manifest/packageForPIPL.xml
@@ -1,255 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
- <members>AgencyAccountCmp</members>
- <members>AgencyAccountCmpTest</members>
- <members>AgencyContactHandler</members>
- <members>AgencyContactHandlerTest</members>
- <members>AssessmentReportController</members>
- <members>AssessmentReportControllerTest</members>
- <members>AWSServiceTool</members>
- <members>AWSServiceToolTest</members>
- <members>B_Test</members>
- <members>B_TestTest</members>
- <members>BmeWorkController</members>
- <members>BmeWorkControllerTest</members>
- <members>CampaignMemberController</members>
- <members>CampaignMemberControllerTest</members>
- <members>CampaignMemberServiceController</members>
- <members>CampaignMemberServiceControllerTest</members>
- <members>CM_SearchContact</members>
- <members>CM_SearchContactServiceController</members>
- <members>CM_SearchContactServiceControllerTest</members>
- <members>CM_SearchContactTest</members>
- <members>ConsumFixtureSetSelectController</members>
- <members>ConsumFixtureSetSelectControllerTest</members>
- <members>ConsumReassignController</members>
- <members>ConsumReassignControllerTest</members>
- <members>ConsumTrialController</members>
- <members>ConsumTrialControllerTest</members>
- <members>ConsumTrialPDFController</members>
- <members>ConsumTrialPDFControllerTest</members>
- <members>ControllerResponse</members>
- <members>ControllerResponseTest</members>
- <members>DeleteBatch</members>
- <members>DeleteBatchTest</members>
- <members>FieldInfo</members>
- <members>FieldInfoTest</members>
- <members>FileUploadController</members>
- <members>FileUploadControllerTest</members>
- <members>FixtureRentalPDFController</members>
- <members>FixtureRentalPDFControllerTest</members>
- <members>InsReportPDFController</members>
- <members>InsReportPDFControllerTest</members>
- <members>InstructReportController</members>
- <members>InstructReportControllerTest</members>
- <members>LayoutDescriberHelper</members>
- <members>LayoutDescriberHelperTest</members>
- <members>LeadIntentionController</members>
- <members>LeadIntentionControllerTest</members>
- <members>LightningUtil</members>
- <members>LightningUtilTest</members>
- <members>MetaDataUtility</members>
- <members>NewAgencyContactController</members>
- <members>NewAgencyContactControllerTest</members>
- <members>NewAndEditAddressController</members>
- <members>NewAndEditAddressControllerTest</members>
- <members>NewAndEditAgencyContactController</members>
- <members>NewAndEditAgencyContactControllerTest</members>
- <members>NewAndEditASEActivityController</members>
- <members>NewAndEditASEActivityControllerTest</members>
- <members>NewAndEditBaseController</members>
- <members>NewAndEditBaseControllerTest</members>
- <members>NewAndEditCampaignMemberController</members>
- <members>NewAndEditCampaignMemberControllerTest</members>
- <members>NewAndEditCaseController</members>
- <members>NewAndEditCaseControllerTest</members>
- <members>NewAndEditContactController</members>
- <members>NewAndEditContactControllerTest</members>
- <members>NewAndEditEventController</members>
- <members>NewAndEditEventControllerTest</members>
- <members>NewAndEditInquiryFormController</members>
- <members>NewAndEditInquiryFormControllerTest</members>
- <members>NewAndEditInspectionReportController</members>
- <members>NewAndEditInspectionReportControllerTest</members>
- <members>NewAndEditLeadController</members>
- <members>NewAndEditLeadControllerTest</members>
- <members>NewAndEditQISController</members>
- <members>NewAndEditQISControllerTest</members>
- <members>NewAndEditRepairSubOrderController</members>
- <members>NewAndEditRepairSubOrderControllerTest</members>
- <members>NewAndEditReportController</members>
- <members>NewAndEditReportControllerTest</members>
- <members>NewAndEditTenderinformationController</members>
- <members>NewAndEditTenderinformationControlTest</members>
- <members>NewConsumApplyController</members>
- <members>NewConsumApplyControllerTest</members>
- <members>NewConsumApplyEquipSetDetailController</members>
- <members>NewConsumApplyEquipSetDetailControlTest</members>
- <members>NewRepairController</members>
- <members>NewRepairControllerTest</members>
- <members>NFM103Controller</members>
- <members>NFM103ControllerTest</members>
- <members>NFM115ControllerTest</members>
- <members>NFM203Rest</members>
- <members>NFM203RestTest</members>
- <members>NFM501Controller</members>
- <members>NFM501ControllerTest</members>
- <members>NFM501FutureController</members>
- <members>NFM501FutureControllerTest</members>
- <members>NFM502Controller</members>
- <members>NFM502ControllerTest</members>
- <members>NFM503Controller</members>
- <members>NFM503InfoFileBatch</members>
- <members>NFM503InfoFileBatchTest</members>
- <members>NFM606Controller</members>
- <members>NFM606ControllerTest</members>
- <members>NFM607Rest</members>
- <members>NFM607RestTest</members>
- <members>NFM612Rest</members>
- <members>NFM612RestTest</members>
- <members>NFM620Rest</members>
- <members>NFM620RestSchedule</members>
- <members>NFM620RestScheduleTest</members>
- <members>NFM620RestTest</members>
- <members>NFM623Rest</members>
- <members>NFM623RestTest</members>
- <members>NFM702Controller</members>
- <members>NFM702ControllerTest</members>
- <members>NFM702WebService</members>
- <members>NFM702WebServiceTest</members>
- <members>NFMUtil</members>
- <members>NFMUtilTest</members>
- <members>OFSInsReportLayoutController</members>
- <members>OFSInsReportLayoutControllerTest</members>
- <members>OnCallController</members>
- <members>OnCallControllerTest</members>
- <members>Option</members>
- <members>PIHelper</members>
- <members>PIHelperTest</members>
- <members>QISPDFController</members>
- <members>QISPDFControllerTest</members>
- <members>RentalApplyController</members>
- <members>RentalApplyControllerTest</members>
- <members>SearchContactController</members>
- <members>SearchContactControllerTest</members>
- <members>SearchLeadController</members>
- <members>SearchLeadControllerTest</members>
- <members>SearchVisitorController</members>
- <members>SearchVistorControllerTest</members>
- <members>SimpleEventRegisterController</members>
- <members>SimpleEventRegisterControllerTester</members>
- <members>SLAReportDetailsController</members>
- <members>SLAReportDetailsControllerTest</members>
- <members>SObjectHelper</members>
- <members>SObjectHelperTest</members>
- <members>SoqlHelper</members>
- <members>SoqlHelperTest</members>
- <members>StartTradingController</members>
- <members>StartTradingControllerTest</members>
- <members>StraightBackAddressController</members>
- <members>StraightBackAddressControllerTest</members>
- <members>UpdateContractAimAmountHandler</members>
- <members>UpdateContractAimAmountHandlerTest</members>
- <members>ViewParticipantsController</members>
- <members>ViewParticipantsControllerTest</members>
- <members>WeeklyReportCmp</members>
- <members>WeeklyReportCmpTest</members>
- <members>XinDailyReportController</members>
- <members>XinDailyReportControllerTest</members>
- <name>ApexClass</name>
- </types>
- <types>
- <members>AssessmentReport</members>
- <members>BMEWorkPage</members>
- <members>B_Test</members>
- <members>CampaignMember</members>
- <members>CampaignMemberService</members>
- <members>CM_SearchContact</members>
- <members>CM_SearchContactService</members>
- <members>ConsumApplyUploadPdf</members>
- <members>ConsumReassign</members>
- <members>ConsumTrial</members>
- <members>ConsumTrialPDF</members>
- <members>FixtureRentalPDF</members>
- <members>FixtureRentalPicturePDF</members>
- <members>InsReportPDF</members>
- <members>InsReportPDFOuter</members>
- <members>InstructReport</members>
- <members>LeadIntention</members>
- <members>NewAndEditAddress</members>
- <members>NewAndEditAgencyContact</members>
- <members>NewAndEditASEActivity</members>
- <members>NewAndEditCampaignMember</members>
- <members>NewAndEditCase</members>
- <members>NewAndEditContact</members>
- <members>NewAndEditInquiryForm</members>
- <members>NewAndEditInspectionReport</members>
- <members>NewAndEditLead</members>
- <members>NewAndEditQIS</members>
- <members>NewAndEditRepairSubOrder</members>
- <members>NewAndEditReport</members>
- <members>NewAndEditTenderinformation</members>
- <members>NewConsumApply</members>
- <members>NewConsumApplyEquipmentSetDetail</members>
- <members>NewListOfConsumables</members>
- <members>NewOnCall</members>
- <members>NewRentalApply</members>
- <members>NewRepair</members>
- <members>NewRepairPage</members>
- <members>OFSInsReportLayout</members>
- <members>QISPDF</members>
- <members>RentalApplyUploadPdf</members>
- <members>SearchContactPage</members>
- <members>SearchLeadPage</members>
- <members>SearchVisitor</members>
- <members>SimpleEventRegister</members>
- <members>SLAReportDetails</members>
- <members>StartTrading</members>
- <members>StraightBackAddress</members>
- <members>TenderInformationUploadPdf</members>
- <members>TestClass</members>
- <members>TestVfPage</members>
- <members>UploadPdf</members>
- <members>ViewAddressDecryptInfo</members>
- <members>ViewAgencyContactDecryptInfo</members>
- <members>ViewASEActivityDecryptInfo</members>
- <members>ViewCaseDecryptInfo</members>
- <members>ViewConsumApplyEquipmentSetDetailDecrypt</members>
- <members>ViewContactDecryptInfo</members>
- <members>ViewDecryptConsumApply</members>
- <members>ViewEventDecryptInfo</members>
- <members>ViewInquiryFormDecryptInfo</members>
- <members>ViewInspectionReportDecryptInfo</members>
- <members>ViewLeadDecryptInfo</members>
- <members>ViewListOfConsumablesDecrypt</members>
- <members>ViewOnCallDecrypt</members>
- <members>ViewParticipantsDecryptInfo</members>
- <members>ViewQISReportDecryptInfo</members>
- <members>ViewRentalApplyDecrypt</members>
- <members>ViewRepairEncrypt</members>
- <members>ViewRepairSubOrderDecryptInfo</members>
- <members>ViewReportDecryptInfo</members>
- <members>ViewTenderinformationDecryptInfo</members>
- <members>XinDailyReport</members>
- <members>SearchAWSContactByNamePage</members>
- <name>ApexPage</name>
- </types>
- <types>
- <members>ContactHpDeptUpd</members>
- <members>FileAddressTrigger</members>
- <members>Repair</members>
- <name>ApexTrigger</name>
- </types>
- <types>
- <members>AgencyAccount</members>
- <members>NewAgencyContact</members>
- <members>WeeklyReport</members>
- <name>AuraDefinitionBundle</name>
- </types>
- <types>
- <members>AWSService</members>
- <name>StaticResource</name>
+ <members>lexInventoryCount</members>
+ <name>LightningComponentBundle</name>
</types>
<version>52.0</version>
</Package>
\ No newline at end of file
--
Gitblit v1.9.1