buli
2023-07-14 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7
lex community
201个文件已修改
12个文件已添加
34399 ■■■■ 已修改文件
.sf/config.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/AgencyAccount/AgencyAccount.css 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTarget.cmp 995 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTarget.css 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTargetHelper.js 600 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.auradoc 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.css 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.design 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.svg 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Controller.js 396 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Helper.js 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Renderer.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp 192 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp 1244 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js 2810 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp 951 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReport.css 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReportController.js 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js 2004 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsController.cls 2534 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsControllerTest.cls 1264 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/DealerInquiryModifyStateController.cls 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/DealerInquiryModifyStateControllerTest.cls 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsController.cls 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest.cls 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsMainController.cls 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGsDetailsController.cls 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexCancelRemoveBoxController.cls 398 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls 373 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceListTest.cls 151 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceListTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceViewController.cls 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls 2152 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoicedetailsController.cls 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountController.cls 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountControllerTest.cls 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountSOQL.cls 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableController.cls 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableControllerTest.cls 685 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableGoodsInfo.cls 373 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableGoodsInfoTest.cls 452 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableGoodsInfoTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableOrderManageController.cls 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryController.cls 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryControllerTest.cls 557 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryListController.cls 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryListControllerTest.cls 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryListControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryViewController.cls 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryViewControllerTest.cls 614 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexLicenceReminderControllerTest.cls 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexLicenceReminderControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOutboundorderImportController.cls 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOutboundorderImportControllerTest.cls 420 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOutboundorderImportControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOverdueStockController.cls 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOverdueStockControllerTest.cls 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOverdueStockControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexProductLimitEditControllerTest.cls 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexProductLimitEditControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexRemoveBoxControllerTest.cls 333 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexRemoveBoxControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleOrderController.cls 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleOrderControllerTest.cls 726 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleOrderControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchContractControllerTest.cls 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchContractControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchHospitalControllerTest.cls 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchHospitalControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSummonsCreatController.cls 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSummonsCreatControllerTest.cls 1447 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSummonsCreatControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexTopPageControllerTest.cls 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexTopPageControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUpAccountProLimit.cls 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUtilityTest.cls 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUtilityTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LookupSearchResultTest.cls 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LookupSearchResultTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ResponseBodyLWCTest.cls 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ResponseBodyLWCTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/contentassets/OlympusCommunityLoginBG.asset-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/contentassets/OlympusCommunityLogo.asset-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customMydrComp/customMydrComp.html 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customMydrComp/customMydrComp.js 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customMydrComp/customMydrComp.js-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customOutputGood/customOutputGood.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAgencyInfo/lexAgencyInfo.css 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAgencyInfo/lexAgencyInfo.html 181 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.css 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.html 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js 174 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html 159 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumable/lexConsumable.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumable/lexConsumable.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html 169 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCssUtility/lexCssUtility.css 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomInventoryColor/lexCustomInventoryColor.html 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customMyDrCheckBox.html 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customaccountUrl.html 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customdeleteReason.html 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexInventory/lexInventory.css 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexInventory/lexInventory.html 300 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexInventory/lexInventory.js 640 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexLookup/lexLookup.html 216 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js 221 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.html 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.js 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html 158 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html 1677 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js 2225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTopPage/lexTopPage.html 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTopPage/lexTopPage.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/paginator/paginator.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/paginator/paginator.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/LicenceReminderDate__c/LicenceReminderDate__c.object-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/LicenceReminderDate__c/fields/ReminderDays__c.field-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/NoteStay__c/NoteStay__c.object-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/NoteStay__c/fields/IsStay__c.field-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/DealerInquiryModifyState.page 836 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/DealerInquiryModifyState.page-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/permissionsets/Community_Consumable_LEX_PS.permissionset-meta.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/reports/Store_Custom_ReportLink/X2_Lky.report-meta.xml 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/reports/Store_Custom_ReportLink/new_report_0iF.report-meta.xml 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger-meta.xml 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ContentDocumentLink.trigger 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ContentDocumentTrigger.trigger 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest/LEXC02packagelexcommunityupdate.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest/LEXC03report2.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest/packageForLex copy.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.sf/config.json
@@ -1,3 +1,6 @@
<<<<<<< HEAD
=======
{
    "target-org": "OlympusStageEnv"
}
>>>>>>> LEXCommunityLiJun
force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp
@@ -12,11 +12,14 @@
    <ltng:require scripts="{! $Resource.jquery183minjs }" />
    <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" afterScriptsLoaded="{!c.scriptsLoaded}" />
    <aura:renderIf isTrue="{!v.login}">
        <div class="slds-spinner_container height100vh">
        <!-- add by Deloitte-Link 2023-6-19 -->
        <div class="weeklyReportSpinner">
            <div class="slds-spinner_container">
            <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
                <span class="slds-assistive-text">Loading</span>
                    <span id="aa" class="slds-assistive-text">Loading</span>
                <div class="slds-spinner__dot-a"></div>
                <div class="slds-spinner__dot-b"></div>
                </div>
            </div>
        </div>
    </aura:renderIf>
@@ -77,7 +80,8 @@
            
            <div class="slds-truncate">
                <a href="{!'/partner/s/agency-contact/' + item.Id}" style="position: relative;">
                    {!item.Name}
                    <span class="encrypt">{!item.Name}</span>
                    <span class="decrypt">{!item.awsdata.name}</span>
                </a>
            </div>
          </th>
force-app/main/default/aura/AgencyAccount/AgencyAccount.css
@@ -19,3 +19,14 @@
.THIS tr:hover .encrypt{
    display: none;
}
/* add by Deloitte-Link 2023-6-19 start*/
.THIS .weeklyReportSpinner{
    top:100px;
}
.THIS .slds-spinner_container{
    position: absolute;
    top:100px;
}
/* add by Deloitte-Link 2023-6-19 end*/
force-app/main/default/aura/CreateTarget/CreateTarget.cmp
@@ -1,8 +1,4 @@
<aura:component
    controller="CreateTargetCmp"
    implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
    access="global"
>
<aura:component controller="CreateTargetCmp" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" access="global" >
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    <aura:attribute name="recordId" type="Id" />
    <aura:attribute name="hospital" type="string" default="" />
@@ -19,175 +15,54 @@
    <aura:attribute name="OTHAmount" type="string" default="0.00" />
    <aura:attribute name="OCMTerm" type="string" default="" />
    <aura:attribute name="button_text" type="string" default="新建" />
    <aura:handler
        name="change"
        value="{!v.record.Agency_Hospital__c}"
        action="{!c.hosChange}"
    />
    <aura:handler name="change" value="{!v.record.Agency_Hospital__c}" action="{!c.hosChange}"/>
    <aura:attribute name="hospitalList" type="sobject[]" />
    <aura:attribute
        name="record"
        type="Agency_Opportunity__c"
        default="{'sobjectType':'Agency_Opportunity__c'}"
    />
    <aura:handler
        name="change"
        value="{!v.recordET.Product_Category1__c}"
        action="{!c.productcategoryETChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordET.Product_Category2__c}"
        action="{!c.productcategoryETChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordET.Product_Category3__c}"
        action="{!c.productcategoryETChange3}"
    />
    <aura:attribute name="record" type="Agency_Opportunity__c" default="{'sobjectType':'Agency_Opportunity__c'}"/>
    <aura:handler name="change" value="{!v.recordET.Product_Category1__c}" action="{!c.productcategoryETChange1}"/>
    <aura:handler name="change" value="{!v.recordET.Product_Category2__c}" action="{!c.productcategoryETChange2}"/>
    <aura:handler name="change" value="{!v.recordET.Product_Category3__c}" action="{!c.productcategoryETChange3}"/>
    <aura:handler
        name="change"
        value="{!v.recordBF.Product_Category1__c}"
        action="{!c.productcategoryBFChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordBF.Product_Category2__c}"
        action="{!c.productcategoryBFChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordBF.Product_Category3__c}"
        action="{!c.productcategoryBFChange3}"
    />
    <aura:handler
        name="change"
        value="{!v.recordGS.Product_Category1__c}"
        action="{!c.productcategoryGSChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordGS.Product_Category2__c}"
        action="{!c.productcategoryGSChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordGS.Product_Category3__c}"
        action="{!c.productcategoryGSChange3}"
    />
    <aura:handler
        name="change"
        value="{!v.recordURO.Product_Category1__c}"
        action="{!c.productcategoryUROChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordURO.Product_Category2__c}"
        action="{!c.productcategoryUROChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordURO.Product_Category3__c}"
        action="{!c.productcategoryUROChange3}"
    />
    <aura:handler
        name="change"
        value="{!v.recordGYN.Product_Category1__c}"
        action="{!c.productcategoryGYNChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordGYN.Product_Category2__c}"
        action="{!c.productcategoryGYNChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordGYN.Product_Category3__c}"
        action="{!c.productcategoryGYNChange3}"
    />
    <aura:handler
        name="change"
        value="{!v.recordENT.Product_Category1__c}"
        action="{!c.productcategoryENTChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordENT.Product_Category2__c}"
        action="{!c.productcategoryENTChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordENT.Product_Category3__c}"
        action="{!c.productcategoryENTChange3}"
    />
    <aura:handler
        name="change"
        value="{!v.recordOTH.Product_Category1__c}"
        action="{!c.productcategoryOTHChange1}"
    />
    <aura:handler
        name="change"
        value="{!v.recordOTH.Product_Category2__c}"
        action="{!c.productcategoryOTHChange2}"
    />
    <aura:handler
        name="change"
        value="{!v.recordOTH.Product_Category3__c}"
        action="{!c.productcategoryOTHChange3}"
    />
    <aura:handler name="change" value="{!v.recordBF.Product_Category1__c}" action="{!c.productcategoryBFChange1}"/>
    <aura:handler name="change" value="{!v.recordBF.Product_Category2__c}" action="{!c.productcategoryBFChange2}"/>
    <aura:handler name="change" value="{!v.recordBF.Product_Category3__c}" action="{!c.productcategoryBFChange3}"/>
    <aura:handler name="change" value="{!v.recordGS.Product_Category1__c}" action="{!c.productcategoryGSChange1}"/>
    <aura:handler name="change" value="{!v.recordGS.Product_Category2__c}" action="{!c.productcategoryGSChange2}"/>
    <aura:handler name="change" value="{!v.recordGS.Product_Category3__c}" action="{!c.productcategoryGSChange3}"/>
    <aura:handler name="change" value="{!v.recordURO.Product_Category1__c}" action="{!c.productcategoryUROChange1}"/>
    <aura:handler name="change" value="{!v.recordURO.Product_Category2__c}" action="{!c.productcategoryUROChange2}"/>
    <aura:handler name="change" value="{!v.recordURO.Product_Category3__c}" action="{!c.productcategoryUROChange3}"/>
    <aura:handler name="change" value="{!v.recordGYN.Product_Category1__c}" action="{!c.productcategoryGYNChange1}"/>
    <aura:handler name="change" value="{!v.recordGYN.Product_Category2__c}" action="{!c.productcategoryGYNChange2}"/>
    <aura:handler name="change" value="{!v.recordGYN.Product_Category3__c}" action="{!c.productcategoryGYNChange3}"/>
    <aura:handler name="change" value="{!v.recordENT.Product_Category1__c}" action="{!c.productcategoryENTChange1}"/>
    <aura:handler name="change" value="{!v.recordENT.Product_Category2__c}" action="{!c.productcategoryENTChange2}"/>
    <aura:handler name="change" value="{!v.recordENT.Product_Category3__c}" action="{!c.productcategoryENTChange3}"/>
    <aura:handler name="change" value="{!v.recordOTH.Product_Category1__c}" action="{!c.productcategoryOTHChange1}"/>
    <aura:handler name="change" value="{!v.recordOTH.Product_Category2__c}" action="{!c.productcategoryOTHChange2}"/>
    <aura:handler name="change" value="{!v.recordOTH.Product_Category3__c}" action="{!c.productcategoryOTHChange3}"/>
    <div class="button_area">
        <ui:button label="{!v.button_text}" press="{!c.toggle_report}" />
    </div>
    <div
        aura:id="modal_window"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
        aria-labelledby="headerTarget"
    >
    <div aura:id="modal_window" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <button
                    class="slds-button slds-modal__close slds-button--icon-inverse"
                    title="Close"
                    onclick="{!c.toggle_report}"
                >
                    <lightning:icon
                        iconName="utility:close"
                        size="medium"
                        alternative-text="close"
                        variant="inverse"
                    />
                <button class="slds-button slds-modal__close slds-button--icon-inverse" title="Close" onclick="{!c.toggle_report}">
                    <lightning:icon iconName="utility:close" size="medium" alternative-text="close" variant="inverse"/>
                    <span class="slds-assistive-text">Close</span>
                </button>
                <h2 id="headerTarget" class="slds-text-heading--medium">
                    目标({!v.OCMTerm})
                </h2>
                <h2 id="headerTarget" class="slds-text-heading--medium">目标({!v.OCMTerm})</h2>
            </div>
            <div class="slds-modal__content slds-grow slds-p-around--medium">
                <div class="slds-box slds-theme--shade">
                    <fieldset class="slds-form--compound">
                        <div class="slds-form-element__group">
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-form-element slds-size--1-of-2"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >医院</label
                                    >
                                <div class="slds-form-element slds-size--1-of-2">
                                    <label class="slds-form-element__label" for="input-hos">医院</label>
                                    <!-- <force:inputField value="{!v.record.Agency_Hospital__c}" aura:id="input-hos"/> -->
                                    <lightning:recordEditForm
                                        objectApiName="Agency_Opportunity__c"
                                    >
                                        <lightning:inputField
                                            variant="label-hidden"
                                            fieldName="Agency_Hospital__c"
                                            value="{!v.record.Agency_Hospital__c}"
                                            aura:id="input-hos"
                                        />
                                    <lightning:recordEditForm objectApiName="Agency_Opportunity__c">
                                        <lightning:inputField variant="label-hidden" fieldName="Agency_Hospital__c" value="{!v.record.Agency_Hospital__c}" aura:id="input-hos"/>
                                    </lightning:recordEditForm>
                                </div>
                            </div>
@@ -200,707 +75,235 @@
                            </div> -->
                            <h4 class="slds-section__title">产品目标</h4>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">消化科</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">消化科</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GI1"
                                        class="slds-select"
                                        change="{!c.productcategoryGIChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_GI1" class="slds-select" change="{!c.productcategoryGIChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GI4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GI4_1" class="slds-select"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GI2"
                                        class="slds-select"
                                        change="{!c.productcategoryGIChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_GI2" class="slds-select" change="{!c.productcategoryGIChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GI4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GI4_2" class="slds-select"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GI3"
                                        class="slds-select"
                                        change="{!c.productcategoryGIChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_GI3" class="slds-select" change="{!c.productcategoryGIChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GI4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GI4_3" class="slds-select"/>
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">ET耗材</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">ET耗材</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_ET1"
                                        class="slds-select"
                                        change="{!c.productcategoryETChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_ET1" class="slds-select" change="{!c.productcategoryETChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_ET4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_ET4_1" class="slds-select"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_ET2"
                                        class="slds-select"
                                        change="{!c.productcategoryETChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_ET2" class="slds-select" change="{!c.productcategoryETChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_ET4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_ET4_2" class="slds-select"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_ET3"
                                        class="slds-select"
                                        change="{!c.productcategoryETChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_ET3" class="slds-select" change="{!c.productcategoryETChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_ET4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_ET4_3" class="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">呼吸科</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">呼吸科</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_BF1"
                                        class="slds-select"
                                        change="{!c.productcategoryBFChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_BF1" class="slds-select" change="{!c.productcategoryBFChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_BF4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_BF4_1" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_BF2"
                                        class="slds-select"
                                        change="{!c.productcategoryBFChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_BF2" class="slds-select" change="{!c.productcategoryBFChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_BF4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_BF4_2" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_BF3"
                                        class="slds-select"
                                        change="{!c.productcategoryBFChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_BF3" class="slds-select" change="{!c.productcategoryBFChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_BF4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_BF4_3" class="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">普外科</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">普外科</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GS1"
                                        class="slds-select"
                                        change="{!c.productcategoryGSChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_GS1" class="slds-select" change="{!c.productcategoryGSChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GS4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GS4_1" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GS2"
                                        class="slds-select"
                                        change="{!c.productcategoryGSChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_GS2" class="slds-select" change="{!c.productcategoryGSChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GS4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GS4_2" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GS3"
                                        class="slds-select"
                                        change="{!c.productcategoryGSChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_GS3" class="slds-select" change="{!c.productcategoryGSChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GS4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GS4_3" class="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">泌尿科</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">泌尿科</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_URO1"
                                        class="slds-select"
                                        change="{!c.productcategoryUROChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_URO1" class="slds-select" change="{!c.productcategoryUROChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_URO4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_URO4_1" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_URO2"
                                        class="slds-select"
                                        change="{!c.productcategoryUROChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_URO2" class="slds-select" change="{!c.productcategoryUROChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_URO4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_URO4_2" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_URO3"
                                        class="slds-select"
                                        change="{!c.productcategoryUROChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_URO3" class="slds-select" change="{!c.productcategoryUROChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_URO4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_URO4_3" class="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">妇科</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">妇科</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GYN1"
                                        class="slds-select"
                                        change="{!c.productcategoryGYNChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_GYN1" class="slds-select" change="{!c.productcategoryGYNChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GYN4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GYN4_1" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GYN2"
                                        class="slds-select"
                                        change="{!c.productcategoryGYNChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_GYN2" class="slds-select" change="{!c.productcategoryGYNChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GYN4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GYN4_2" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_GYN3"
                                        class="slds-select"
                                        change="{!c.productcategoryGYNChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_GYN3" class="slds-select" change="{!c.productcategoryGYNChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_GYN4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_GYN4_3" class="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">耳鼻喉科</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">耳鼻喉科</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_ENT1"
                                        class="slds-select"
                                        change="{!c.productcategoryENTChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_ENT1" class="slds-select" change="{!c.productcategoryENTChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_ENT4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_ENT4_1" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_ENT2"
                                        class="slds-select"
                                        change="{!c.productcategoryENTChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_ENT2" class="slds-select" change="{!c.productcategoryENTChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_ENT4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_ENT4_2" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_ENT3"
                                        class="slds-select"
                                        change="{!c.productcategoryENTChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_ENT3" class="slds-select" change="{!c.productcategoryENTChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_ENT4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_ENT4_3" class="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element__row">
                                <div
                                    class="slds-size--1-of-7 slds-grid--align-center"
                                >
                                    <div style="margin-top: 32px">其他</div>
                                <div class="slds-size--1-of-7 slds-grid--align-center">
                                    <div style="margin-top: 32px;">其他</div>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分1</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_OTH1"
                                        class="slds-select"
                                        change="{!c.productcategoryOTHChange1}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分1</label>
                                    <ui:inputSelect aura:id="select_OTH1" class="slds-select" change="{!c.productcategoryOTHChange1}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_OTH4_1"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_OTH4_1" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分2</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_OTH2"
                                        class="slds-select"
                                        change="{!c.productcategoryOTHChange2}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分2</label>
                                    <ui:inputSelect aura:id="select_OTH2" class="slds-select" change="{!c.productcategoryOTHChange2}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_OTH4_2"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_OTH4_2" class="slds-select" />
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >产品区分3</label
                                    >
                                    <ui:inputSelect
                                        aura:id="select_OTH3"
                                        class="slds-select"
                                        change="{!c.productcategoryOTHChange3}"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">产品区分3</label>
                                    <ui:inputSelect aura:id="select_OTH3" class="slds-select" change="{!c.productcategoryOTHChange3}"/>
                                </div>
                                <div
                                    class="slds-form-element slds-size--1-of-7"
                                >
                                    <label
                                        class="slds-form-element__label"
                                        for="input-hos"
                                        >金额目标(不含税)</label
                                    >
                                    <ui:inputText
                                        aura:id="select_OTH4_3"
                                        class="slds-select"
                                    />
                                <div class="slds-form-element slds-size--1-of-7">
                                    <label class="slds-form-element__label" for="input-hos">金额目标(不含税)</label>
                                    <ui:inputText aura:id="select_OTH4_3" class="slds-select" />
                                </div>
                            </div>
                        </div>
@@ -909,18 +312,10 @@
            </div>
            <div class="slds-modal__footer slds-grid slds-grid--align-spread">
                <div class="slds-order--1" />
                <ui:button
                    aura:id="save_button"
                    label="保存"
                    class="slds-button slds-button--brand slds-order--2"
                    press="{!c.createTarget}"
                />
                <ui:button aura:id="save_button" label="保存" class="slds-button slds-button--brand slds-order--2" press="{!c.createTarget}"/>
                <div class="slds-order--3" />
            </div>
        </div>
    </div>
    <div
        aura:id="modal_bg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
</aura:component>
force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml
force-app/main/default/aura/CreateTarget/CreateTarget.css
force-app/main/default/aura/CreateTarget/CreateTargetHelper.js
@@ -1,28 +1,27 @@
({
    doinit: function (component, event, helper) {
        component.set('v.OCMTerm', this.getOCMTerm());
        if (component.get('v.recordId')) {
            component.set('v.button_text', '编辑');
            var recordId = component.get('v.recordId');
            var action = component.get('c.getHospital');
        component.set("v.OCMTerm", this.getOCMTerm());
        if (component.get("v.recordId")) {
            component.set("v.button_text", "编辑");
            var recordId = component.get("v.recordId");
            var action = component.get("c.getHospital");
            action.setParams({ recordId: recordId });
            action.setCallback(this, function (response) {
                var state = response.getState();
                console.log('state1:' + state);
                if (state === 'SUCCESS') {
            console.log("state1:"+state);
                if(state === "SUCCESS") {
                    var ah = response.getReturnValue();
                    var select_ah = ah.Id;
                    var select_ah_name = ah.Name;
                    // component.set('v.record.Agency_Hospital__c', select_ah);
                    //add by Deloitte 2023-6-8
                    let agency = component.get('v.record');
                    let agency = component.get("v.record");
                    agency.Agency_Hospital__c = select_ah;
                    // component.set("v.record", agency);
                    // alert(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v.values')));
                    if ($A.get('$Browser.formFactor') == 'DESKTOP') {
                        console.log('flag1');
                        var values = [
                            {
                    if ($A.get("$Browser.formFactor") == 'DESKTOP') {
                        console.log("flag1");
                        var values = [{
                                type: 'Agency_Hospital_Link__c',
                                id: select_ah,
                                label: select_ah_name,
@@ -31,141 +30,83 @@
                                    backgroundColor: 'dc71d1',
                                    alt: 'Agency_Hospital_Link__c'
                                }
                            }
                        ];
                        }];
                        // component.find('input-hos').get("v.body")[0].set('v.values', values);
                        //add by Deloitte 2023-6-8
                        if (
                            component.find('input-hos').get('v.body') &&
                            component.find('input-hos').get('v.body').length > 0
                        ) {
                            component
                                .find('input-hos')
                                .get('v.body')[0]
                                .set('v.values', values);
                        if(component.find('input-hos').get("v.body") && component.find('input-hos').get("v.body").length>0){
                            component.find('input-hos').get("v.body")[0].set('v.values', values);
                        }
                    } else {
                        // component.find('input-hos').get("v.body")[0].set('v.selectedLabel', select_ah_name);
                        //add by Deloitte 2023-6-8
                        if (
                            component.find('input-hos').get('v.body') &&
                            component.find('input-hos').get('v.body').length > 0
                        ) {
                            component
                                .find('input-hos')
                                .get('v.body')[0]
                                .set('v.selectedLabel', select_ah_name);
                        if(component.find('input-hos').get("v.body") && component.find('input-hos').get("v.body").length>0){
                            component.find('input-hos').get("v.body")[0].set('v.selectedLabel', select_ah_name);
                        }
                    }
                } else if (state === 'ERROR') {
                } else if (state === "ERROR") {
                    var errors = response.getError();
                    var toastEvent = $A.get('e.force:showToast');
                    var toastEvent = $A.get("e.force:showToast");
                    toastEvent.setParams({
                        title: '错误',
                        type: 'error',
                        message: errors[0].message
                        "title": "错误",
                        "type":"error",
                        "message": errors[0].message
                    });
                    toastEvent.fire();
                }
            });
            $A.enqueueAction(action);
        }
        var action = component.get('c.getProductList');
        var action = component.get("c.getProductList");
        action.setCallback(this, function (response) {
            var state = response.getState();
            console.log('state2:' + state);
            if (state === 'SUCCESS') {
            console.log("state2:"+state);
            if(state === "SUCCESS") {
                var opts = response.getReturnValue();
                // alert(JSON.stringify(opts["GI"]));
                component
                    .find('select_GI1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GI'])));
                component
                    .find('select_GI2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GI'])));
                component
                    .find('select_GI3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GI'])));
                component.find("select_GI1").set("v.options", JSON.parse(JSON.stringify(opts["GI"])));
                component.find("select_GI2").set("v.options", JSON.parse(JSON.stringify(opts["GI"])));
                component.find("select_GI3").set("v.options", JSON.parse(JSON.stringify(opts["GI"])));
                component
                    .find('select_GS1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GS'])));
                component
                    .find('select_GS2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GS'])));
                component
                    .find('select_GS3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GS'])));
                component.find("select_GS1").set("v.options", JSON.parse(JSON.stringify(opts["GS"])));
                component.find("select_GS2").set("v.options", JSON.parse(JSON.stringify(opts["GS"])));
                component.find("select_GS3").set("v.options", JSON.parse(JSON.stringify(opts["GS"])));
                component
                    .find('select_GYN1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GYN'])));
                component
                    .find('select_GYN2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GYN'])));
                component
                    .find('select_GYN3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['GYN'])));
                component.find("select_GYN1").set("v.options", JSON.parse(JSON.stringify(opts["GYN"])));
                component.find("select_GYN2").set("v.options", JSON.parse(JSON.stringify(opts["GYN"])));
                component.find("select_GYN3").set("v.options", JSON.parse(JSON.stringify(opts["GYN"])));
                component
                    .find('select_URO1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['URO'])));
                component
                    .find('select_URO2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['URO'])));
                component
                    .find('select_URO3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['URO'])));
                component.find("select_URO1").set("v.options", JSON.parse(JSON.stringify(opts["URO"])));
                component.find("select_URO2").set("v.options", JSON.parse(JSON.stringify(opts["URO"])));
                component.find("select_URO3").set("v.options", JSON.parse(JSON.stringify(opts["URO"])));
                component
                    .find('select_ENT1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['ENT'])));
                component
                    .find('select_ENT2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['ENT'])));
                component
                    .find('select_ENT3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['ENT'])));
                component.find("select_ENT1").set("v.options", JSON.parse(JSON.stringify(opts["ENT"])));
                component.find("select_ENT2").set("v.options", JSON.parse(JSON.stringify(opts["ENT"])));
                component.find("select_ENT3").set("v.options", JSON.parse(JSON.stringify(opts["ENT"])));
                component
                    .find('select_OTH1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['OTH'])));
                component
                    .find('select_OTH2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['OTH'])));
                component
                    .find('select_OTH3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['OTH'])));
                component.find("select_OTH1").set("v.options", JSON.parse(JSON.stringify(opts["OTH"])));
                component.find("select_OTH2").set("v.options", JSON.parse(JSON.stringify(opts["OTH"])));
                component.find("select_OTH3").set("v.options", JSON.parse(JSON.stringify(opts["OTH"])));
                component
                    .find('select_ET1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['ET'])));
                component
                    .find('select_ET2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['ET'])));
                component
                    .find('select_ET3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['ET'])));
                component.find("select_ET1").set("v.options", JSON.parse(JSON.stringify(opts["ET"])));
                component.find("select_ET2").set("v.options", JSON.parse(JSON.stringify(opts["ET"])));
                component.find("select_ET3").set("v.options", JSON.parse(JSON.stringify(opts["ET"])));
                component
                    .find('select_BF1')
                    .set('v.options', JSON.parse(JSON.stringify(opts['BF'])));
                component
                    .find('select_BF2')
                    .set('v.options', JSON.parse(JSON.stringify(opts['BF'])));
                component
                    .find('select_BF3')
                    .set('v.options', JSON.parse(JSON.stringify(opts['BF'])));
            } else if (state === 'ERROR') {
                component.find("select_BF1").set("v.options", JSON.parse(JSON.stringify(opts["BF"])));
                component.find("select_BF2").set("v.options", JSON.parse(JSON.stringify(opts["BF"])));
                component.find("select_BF3").set("v.options", JSON.parse(JSON.stringify(opts["BF"])));
            } else if (state === "ERROR") {
                var errors = response.getError();
                var toastEvent = $A.get('e.force:showToast');
                var toastEvent = $A.get("e.force:showToast");
                toastEvent.setParams({
                    title: '错误',
                    type: 'error',
                    title: "错误",
                    type:"error",
                    message: errors[0].message
                });
                toastEvent.fire();
            }
        });
        $A.enqueueAction(action);
@@ -177,10 +118,7 @@
        $A.util.toggleClass(modal_window, 'disp_none');
        $A.util.toggleClass(modal_bg, 'disp_none');
        if (
            $A.util.hasClass(modal_window, 'disp_none') &&
            !component.get('v.recordId')
        ) {
        if ($A.util.hasClass(modal_window, 'disp_none') && !component.get("v.recordId")) {
            $A.get('e.force:refreshView').fire();
        }
    },
@@ -209,26 +147,21 @@
        var pcId2 = component.find(o2Id).get('v.value');
        var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
        var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
        var p0bool =
            product_category_id != '' &&
            product_category_id != null &&
            product_category_id != undefined;
        if (
            (p1bool && p0bool && product_category_id == pcId1) ||
            (p2bool && p0bool && product_category_id == pcId2)
        ) {
        var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
        if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
            this.warning('不能选择同样的产品区分');
            component.find(myId).set('v.value', '');
        }
    },
    selectHos: function (component, event, helper) {
        var accid = component.get('v.record.Agency_Hospital__c');
        var action = component.get('c.getDeptAmount');
        var accid = component.get("v.record.Agency_Hospital__c");
        var action = component.get("c.getDeptAmount");
        action.setParams({ hospitalId: accid });
        action.setCallback(this, function (response) {
            var state = response.getState();
            if (state === 'SUCCESS') {
            if (state === "SUCCESS") {
                var amountMap = response.getReturnValue();
                var GIProduct_Category1 = '';
                var GIProduct_Category2 = '';
@@ -239,36 +172,24 @@
                if (amountMap.GI.length > 0) {
                    GIProduct_Category1 = amountMap.GI[0].Product_Category__c;
                    if (amountMap.GI.length > 1) {
                        GIProduct_Category2 =
                            amountMap.GI[1].Product_Category__c;
                        GIProduct_Category2 = amountMap.GI[1].Product_Category__c;
                    }
                    if (amountMap.GI.length > 2) {
                        GIProduct_Category3 =
                            amountMap.GI[2].Product_Category__c;
                        GIProduct_Category3 = amountMap.GI[2].Product_Category__c;
                    }
                    GIAim_Price__c1 = amountMap.GI[0].Aim_Price__c;
                    GIAim_Price__c2 = amountMap.GI[1].Aim_Price__c;
                    GIAim_Price__c3 = amountMap.GI[2].Aim_Price__c;
                    console.warn(
                        GIAim_Price__c1 +
                            '-' +
                            GIAim_Price__c2 +
                            '-' +
                            GIAim_Price__c3
                    );
                    console.warn(GIAim_Price__c1+"-"+GIAim_Price__c2+"-"+GIAim_Price__c3);
                }
                component
                    .find('select_GI1')
                    .set('v.value', GIProduct_Category1);
                component
                    .find('select_GI2')
                    .set('v.value', GIProduct_Category2);
                component
                    .find('select_GI3')
                    .set('v.value', GIProduct_Category3);
                component.find('select_GI1').set('v.value',GIProduct_Category1);
                component.find('select_GI2').set('v.value',GIProduct_Category2);
                component.find('select_GI3').set('v.value',GIProduct_Category3);
                component.find('select_GI4_1').set('v.value', GIAim_Price__c1);
                component.find('select_GI4_2').set('v.value', GIAim_Price__c2);
                component.find('select_GI4_3').set('v.value', GIAim_Price__c3);
                var ETProduct_Category1 = '';
                var ETProduct_Category2 = '';
@@ -279,29 +200,22 @@
                if (amountMap.ET.length > 0) {
                    ETProduct_Category1 = amountMap.ET[0].Product_Category__c;
                    if (amountMap.ET.length > 1) {
                        ETProduct_Category2 =
                            amountMap.ET[1].Product_Category__c;
                        ETProduct_Category2 = amountMap.ET[1].Product_Category__c;
                    }
                    if (amountMap.ET.length > 2) {
                        ETProduct_Category3 =
                            amountMap.ET[2].Product_Category__c;
                        ETProduct_Category3 = amountMap.ET[2].Product_Category__c;
                    }
                    ETAim_Price__c1 = amountMap.ET[0].Aim_Price__c;
                    ETAim_Price__c2 = amountMap.ET[1].Aim_Price__c;
                    ETAim_Price__c3 = amountMap.ET[2].Aim_Price__c;
                }
                component
                    .find('select_ET1')
                    .set('v.value', ETProduct_Category1);
                component
                    .find('select_ET2')
                    .set('v.value', ETProduct_Category2);
                component
                    .find('select_ET3')
                    .set('v.value', ETProduct_Category3);
                component.find('select_ET1').set('v.value',ETProduct_Category1);
                component.find('select_ET2').set('v.value',ETProduct_Category2);
                component.find('select_ET3').set('v.value',ETProduct_Category3);
                component.find('select_ET4_1').set('v.value', ETAim_Price__c1);
                component.find('select_ET4_2').set('v.value', ETAim_Price__c2);
                component.find('select_ET4_3').set('v.value', ETAim_Price__c3);
                var BFProduct_Category1 = '';
                var BFProduct_Category2 = '';
@@ -312,29 +226,22 @@
                if (amountMap.BF.length > 0) {
                    BFProduct_Category1 = amountMap.BF[0].Product_Category__c;
                    if (amountMap.BF.length > 1) {
                        BFProduct_Category2 =
                            amountMap.BF[1].Product_Category__c;
                        BFProduct_Category2 = amountMap.BF[1].Product_Category__c;
                    }
                    if (amountMap.BF.length > 2) {
                        BFProduct_Category3 =
                            amountMap.BF[2].Product_Category__c;
                        BFProduct_Category3 = amountMap.BF[2].Product_Category__c;
                    }
                    BFAim_Price__c1 = amountMap.BF[0].Aim_Price__c;
                    BFAim_Price__c2 = amountMap.BF[1].Aim_Price__c;
                    BFAim_Price__c3 = amountMap.BF[2].Aim_Price__c;
                }
                component
                    .find('select_BF1')
                    .set('v.value', BFProduct_Category1);
                component
                    .find('select_BF2')
                    .set('v.value', BFProduct_Category2);
                component
                    .find('select_BF3')
                    .set('v.value', BFProduct_Category3);
                component.find('select_BF1').set('v.value',BFProduct_Category1);
                component.find('select_BF2').set('v.value',BFProduct_Category2);
                component.find('select_BF3').set('v.value',BFProduct_Category3);
                component.find('select_BF4_1').set('v.value', BFAim_Price__c1);
                component.find('select_BF4_2').set('v.value', BFAim_Price__c2);
                component.find('select_BF4_3').set('v.value', BFAim_Price__c3);
                var OTHProduct_Category1 = '';
                var OTHProduct_Category2 = '';
@@ -343,37 +250,24 @@
                var OTHAim_Price__c2 = '';
                var OTHAim_Price__c3 = '';
                if (amountMap.OTH.length > 0) {
                    OTHProduct_Category1 = amountMap.OTH[0].Product_Category__c;
                    if (amountMap.OTH.length > 1) {
                        OTHProduct_Category2 =
                            amountMap.OTH[1].Product_Category__c;
                        OTHProduct_Category2 = amountMap.OTH[1].Product_Category__c;
                    }
                    if (amountMap.OTH.length > 2) {
                        OTHProduct_Category3 =
                            amountMap.OTH[2].Product_Category__c;
                        OTHProduct_Category3 = amountMap.OTH[2].Product_Category__c;
                    }
                    OTHAim_Price__c1 = amountMap.OTH[0].Aim_Price__c;
                    OTHAim_Price__c2 = amountMap.OTH[1].Aim_Price__c;
                    OTHAim_Price__c3 = amountMap.OTH[2].Aim_Price__c;
                }
                component
                    .find('select_OTH1')
                    .set('v.value', OTHProduct_Category1);
                component
                    .find('select_OTH2')
                    .set('v.value', OTHProduct_Category2);
                component
                    .find('select_OTH3')
                    .set('v.value', OTHProduct_Category3);
                component
                    .find('select_OTH4_1')
                    .set('v.value', OTHAim_Price__c1);
                component
                    .find('select_OTH4_2')
                    .set('v.value', OTHAim_Price__c2);
                component
                    .find('select_OTH4_3')
                    .set('v.value', OTHAim_Price__c3);
                component.find('select_OTH1').set('v.value',OTHProduct_Category1);
                component.find('select_OTH2').set('v.value',OTHProduct_Category2);
                component.find('select_OTH3').set('v.value',OTHProduct_Category3);
                component.find('select_OTH4_1').set('v.value',OTHAim_Price__c1);
                component.find('select_OTH4_2').set('v.value',OTHAim_Price__c2);
                component.find('select_OTH4_3').set('v.value',OTHAim_Price__c3);
                var GSProduct_Category1 = '';
                var GSProduct_Category2 = '';
@@ -384,26 +278,18 @@
                if (amountMap.GS.length > 0) {
                    GSProduct_Category1 = amountMap.GS[0].Product_Category__c;
                    if (amountMap.GS.length > 1) {
                        GSProduct_Category2 =
                            amountMap.GS[1].Product_Category__c;
                        GSProduct_Category2 = amountMap.GS[1].Product_Category__c;
                    }
                    if (amountMap.GS.length > 2) {
                        GSProduct_Category3 =
                            amountMap.GS[2].Product_Category__c;
                        GSProduct_Category3 = amountMap.GS[2].Product_Category__c;
                    }
                    GSPAim_Price__c1 = amountMap.GS[0].Aim_Price__c;
                    GSPAim_Price__c2 = amountMap.GS[1].Aim_Price__c;
                    GSPAim_Price__c3 = amountMap.GS[2].Aim_Price__c;
                }
                component
                    .find('select_GS1')
                    .set('v.value', GSProduct_Category1);
                component
                    .find('select_GS2')
                    .set('v.value', GSProduct_Category2);
                component
                    .find('select_GS3')
                    .set('v.value', GSProduct_Category3);
                component.find('select_GS1').set('v.value',GSProduct_Category1);
                component.find('select_GS2').set('v.value',GSProduct_Category2);
                component.find('select_GS3').set('v.value',GSProduct_Category3);
                component.find('select_GS4_1').set('v.value', GSPAim_Price__c1);
                component.find('select_GS4_2').set('v.value', GSPAim_Price__c2);
                component.find('select_GS4_3').set('v.value', GSPAim_Price__c3);
@@ -415,37 +301,25 @@
                var UROAim_Price__c2 = '';
                var UROAim_Price__c3 = '';
                if (amountMap.URO.length > 0) {
                    UROProduct_Category1 = amountMap.URO[0].Product_Category__c;
                    if (amountMap.URO.length > 1) {
                        UROProduct_Category2 =
                            amountMap.URO[1].Product_Category__c;
                        UROProduct_Category2 = amountMap.URO[1].Product_Category__c;
                    }
                    if (amountMap.URO.length > 2) {
                        UROProduct_Category3 =
                            amountMap.URO[2].Product_Category__c;
                        UROProduct_Category3 = amountMap.URO[2].Product_Category__c;
                    }
                    UROAim_Price__c1 = amountMap.URO[0].Aim_Price__c;
                    UROAim_Price__c2 = amountMap.URO[1].Aim_Price__c;
                    UROAim_Price__c3 = amountMap.URO[2].Aim_Price__c;
                }
                component
                    .find('select_URO1')
                    .set('v.value', UROProduct_Category1);
                component
                    .find('select_URO2')
                    .set('v.value', UROProduct_Category2);
                component
                    .find('select_URO3')
                    .set('v.value', UROProduct_Category3);
                component
                    .find('select_URO4_1')
                    .set('v.value', UROAim_Price__c1);
                component
                    .find('select_URO4_2')
                    .set('v.value', UROAim_Price__c2);
                component
                    .find('select_URO4_3')
                    .set('v.value', UROAim_Price__c3);
                component.find('select_URO1').set('v.value',UROProduct_Category1);
                component.find('select_URO2').set('v.value',UROProduct_Category2);
                component.find('select_URO3').set('v.value',UROProduct_Category3);
                component.find('select_URO4_1').set('v.value',UROAim_Price__c1);
                component.find('select_URO4_2').set('v.value',UROAim_Price__c2);
                component.find('select_URO4_3').set('v.value',UROAim_Price__c3);
                var GYNProduct_Category1 = '';
                var GYNProduct_Category2 = '';
@@ -454,37 +328,25 @@
                var GYNAim_Price__c2 = '';
                var GYNAim_Price__c3 = '';
                if (amountMap.GYN.length > 0) {
                    GYNProduct_Category1 = amountMap.GYN[0].Product_Category__c;
                    if (amountMap.GYN.length > 1) {
                        GYNProduct_Category2 =
                            amountMap.GYN[1].Product_Category__c;
                        GYNProduct_Category2 = amountMap.GYN[1].Product_Category__c;
                    }
                    if (amountMap.GYN.length > 2) {
                        GYNProduct_Category3 =
                            amountMap.GYN[2].Product_Category__c;
                        GYNProduct_Category3 = amountMap.GYN[2].Product_Category__c;
                    }
                    GYNAim_Price__c1 = amountMap.GYN[0].Aim_Price__c;
                    GYNAim_Price__c2 = amountMap.GYN[1].Aim_Price__c;
                    GYNAim_Price__c3 = amountMap.GYN[2].Aim_Price__c;
                }
                component
                    .find('select_GYN1')
                    .set('v.value', GYNProduct_Category1);
                component
                    .find('select_GYN2')
                    .set('v.value', GYNProduct_Category2);
                component
                    .find('select_GYN3')
                    .set('v.value', GYNProduct_Category3);
                component
                    .find('select_GYN4_1')
                    .set('v.value', GYNAim_Price__c1);
                component
                    .find('select_GYN4_2')
                    .set('v.value', GYNAim_Price__c2);
                component
                    .find('select_GYN4_3')
                    .set('v.value', GYNAim_Price__c3);
                component.find('select_GYN1').set('v.value',GYNProduct_Category1);
                component.find('select_GYN2').set('v.value',GYNProduct_Category2);
                component.find('select_GYN3').set('v.value',GYNProduct_Category3);
                component.find('select_GYN4_1').set('v.value',GYNAim_Price__c1);
                component.find('select_GYN4_2').set('v.value',GYNAim_Price__c2);
                component.find('select_GYN4_3').set('v.value',GYNAim_Price__c3);
                var ENTProduct_Category1 = '';
                var ENTProduct_Category2 = '';
@@ -493,45 +355,29 @@
                var ENTAim_Price__c2 = '';
                var ENTAim_Price__c3 = '';
                if (amountMap.ENT.length > 0) {
                    ENTProduct_Category1 = amountMap.ENT[0].Product_Category__c;
                    if (amountMap.ENT.length > 1) {
                        ENTProduct_Category2 =
                            amountMap.ENT[1].Product_Category__c;
                        ENTProduct_Category2 = amountMap.ENT[1].Product_Category__c;
                    }
                    if (amountMap.ENT.length > 2) {
                        ENTProduct_Category3 =
                            amountMap.ENT[2].Product_Category__c;
                        ENTProduct_Category3 = amountMap.ENT[2].Product_Category__c;
                    }
                    ENTAim_Price__c1 = amountMap.ENT[0].Aim_Price__c;
                    ENTAim_Price__c2 = amountMap.ENT[1].Aim_Price__c;
                    ENTAim_Price__c3 = amountMap.ENT[2].Aim_Price__c;
                }
                component
                    .find('select_ENT1')
                    .set('v.value', ENTProduct_Category1);
                component
                    .find('select_ENT2')
                    .set('v.value', ENTProduct_Category2);
                component
                    .find('select_ENT3')
                    .set('v.value', ENTProduct_Category3);
                component
                    .find('select_ENT4_1')
                    .set('v.value', ENTAim_Price__c1);
                component
                    .find('select_ENT4_2')
                    .set('v.value', ENTAim_Price__c2);
                component
                    .find('select_ENT4_3')
                    .set('v.value', ENTAim_Price__c3);
                component.find('select_ENT1').set('v.value',ENTProduct_Category1);
                component.find('select_ENT2').set('v.value',ENTProduct_Category2);
                component.find('select_ENT3').set('v.value',ENTProduct_Category3);
                component.find('select_ENT4_1').set('v.value',ENTAim_Price__c1);
                component.find('select_ENT4_2').set('v.value',ENTAim_Price__c2);
                component.find('select_ENT4_3').set('v.value',ENTAim_Price__c3);
            }
        });
        $A.enqueueAction(action);
        console.log(
            JSON.stringify(
                component.find('input-hos').get('v.body')[0].get('v')
            )
        );
        console.log(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v')));
    },
    getOCMTerm: function () {
@@ -546,242 +392,202 @@
    },
    createTarget: function (component, event, helper) {
        var action = component.get('c.createSFTarget');
        var action = component.get("c.createSFTarget");
        // alert(component.get("v.GIAmount"));
        var p1_1 = component.find('select_GI4_1').get('v.value');
        var p1_2 = component.find('select_GI4_2').get('v.value');
        var p1_3 = component.find('select_GI4_3').get('v.value');
        if (p1_1 == undefined || p1_1 == '') {
        if (p1_1 == undefined || p1_1 == "") {
            p1_1 = 0;
        }
        if (p1_2 == undefined || p1_2 == '') {
        if (p1_2 == undefined || p1_2 == "") {
            p1_2 = 0;
        }
        if (p1_3 == undefined || p1_3 == '') {
        if (p1_3 == undefined || p1_3 == "") {
            p1_3 = 0;
        }
        console.warn(p1_1 + '-' + p1_2 + '-' + p1_3);
        console.warn(p1_1+"-"+p1_2+"-"+p1_3);
        var p2_1 = component.find('select_ET4_1').get('v.value');
        var p2_2 = component.find('select_ET4_2').get('v.value');
        var p2_3 = component.find('select_ET4_3').get('v.value');
        if (p2_1 == undefined || p2_1 == '') {
        if (p2_1 == undefined || p2_1 == "") {
            p2_1 = 0;
        }
        if (p2_2 == undefined || p2_2 == '') {
        if (p2_2 == undefined || p2_2 == "") {
            p2_2 = 0;
        }
        if (p2_3 == undefined || p2_3 == '') {
        if (p2_3 == undefined || p2_3 == "") {
            p2_3 = 0;
        }
        var p3_1 = component.find('select_BF4_1').get('v.value');
        var p3_2 = component.find('select_BF4_2').get('v.value');
        var p3_3 = component.find('select_BF4_3').get('v.value');
        if (p3_1 == undefined || p3_1 == '') {
        if (p3_1 == undefined || p3_1 == "") {
            p3_1 = 0;
        }
        if (p3_2 == undefined || p3_2 == '') {
        if (p3_2 == undefined || p3_2 == "") {
            p3_2 = 0;
        }
        if (p3_3 == undefined || p3_3 == '') {
        if (p3_3 == undefined || p3_3 == "") {
            p3_3 = 0;
        }
        var p4_1 = component.find('select_OTH4_1').get('v.value');
        var p4_2 = component.find('select_OTH4_2').get('v.value');
        var p4_3 = component.find('select_OTH4_3').get('v.value');
        if (p4_1 == undefined || p4_1 == '') {
        if (p4_1 == undefined || p4_1 == "") {
            p4_1 = 0;
        }
        if (p4_2 == undefined || p4_2 == '') {
        if (p4_2 == undefined || p4_2 == "") {
            p4_2 = 0;
        }
        if (p4_3 == undefined || p4_3 == '') {
        if (p4_3 == undefined || p4_3 == "") {
            p4_3 = 0;
        }
        var p5_1 = component.find('select_GS4_1').get('v.value');
        var p5_2 = component.find('select_GS4_2').get('v.value');
        var p5_3 = component.find('select_GS4_3').get('v.value');
        if (p5_1 == undefined || p5_1 == '') {
        if (p5_1 == undefined || p5_1 == "") {
            p5_1 = 0;
        }
        if (p5_2 == undefined || p5_2 == '') {
        if (p5_2 == undefined || p5_2 == "") {
            p5_2 = 0;
        }
        if (p5_3 == undefined || p5_3 == '') {
        if (p5_3 == undefined || p5_3 == "") {
            p5_3 = 0;
        }
        var p6_1 = component.find('select_URO4_1').get('v.value');
        var p6_2 = component.find('select_URO4_2').get('v.value');
        var p6_3 = component.find('select_URO4_3').get('v.value');
        if (p6_1 == undefined || p6_1 == '') {
        if (p6_1 == undefined || p6_1 == "") {
            p6_1 = 0;
        }
        if (p6_2 == undefined || p6_2 == '') {
        if (p6_2 == undefined || p6_2 == "") {
            p6_2 = 0;
        }
        if (p6_3 == undefined || p6_3 == '') {
        if (p6_3 == undefined || p6_3 == "") {
            p6_3 = 0;
        }
        var p7_1 = component.find('select_GYN4_1').get('v.value');
        var p7_2 = component.find('select_GYN4_2').get('v.value');
        var p7_3 = component.find('select_GYN4_3').get('v.value');
        if (p7_1 == undefined || p7_1 == '') {
        if (p7_1 == undefined || p7_1 == "") {
            p7_1 = 0;
        }
        if (p7_2 == undefined || p7_2 == '') {
        if (p7_2 == undefined || p7_2 == "") {
            p7_2 = 0;
        }
        if (p7_3 == undefined || p7_3 == '') {
        if (p7_3 == undefined || p7_3 == "") {
            p7_3 = 0;
        }
        var p8_1 = component.find('select_ENT4_1').get('v.value');
        var p8_2 = component.find('select_ENT4_2').get('v.value');
        var p8_3 = component.find('select_ENT4_3').get('v.value');
        if (p8_1 == undefined || p8_1 == '') {
        if (p8_1 == undefined || p8_1 == "") {
            p8_1 = 0;
        }
        if (p8_2 == undefined || p8_2 == '') {
        if (p8_2 == undefined || p8_2 == "") {
            p8_2 = 0;
        }
        if (p8_3 == undefined || p8_3 == '') {
        if (p8_3 == undefined || p8_3 == "") {
            p8_3 = 0;
        }
        action.setParams({
            hospitalId: component.get('v.record.Agency_Hospital__c'),
            GIProduct: [
                component.find('select_GI1').get('v.value'),
                component.find('select_GI2').get('v.value'),
                component.find('select_GI3').get('v.value'),
                p1_1,
                p1_2,
                p1_3
            ],
            ETProduct: [
                component.find('select_ET1').get('v.value'),
                component.find('select_ET2').get('v.value'),
                component.find('select_ET3').get('v.value'),
                p2_1,
                p2_2,
                p2_3
            ],
            BFProduct: [
                component.find('select_BF1').get('v.value'),
                component.find('select_BF2').get('v.value'),
                component.find('select_BF3').get('v.value'),
                p3_1,
                p3_2,
                p3_3
            ],
            OTHProduct: [
                component.find('select_OTH1').get('v.value'),
                component.find('select_OTH2').get('v.value'),
                component.find('select_OTH3').get('v.value'),
                p4_1,
                p4_2,
                p4_3
            ],
            GSProduct: [
                component.find('select_GS1').get('v.value'),
                component.find('select_GS2').get('v.value'),
                component.find('select_GS3').get('v.value'),
                p5_1,
                p5_2,
                p5_3
            ],
            UROProduct: [
                component.find('select_URO1').get('v.value'),
                component.find('select_URO2').get('v.value'),
                component.find('select_URO3').get('v.value'),
                p6_1,
                p6_2,
                p6_2
            ],
            GYNProduct: [
                component.find('select_GYN1').get('v.value'),
                component.find('select_GYN2').get('v.value'),
                component.find('select_GYN3').get('v.value'),
                p7_1,
                p7_2,
                p7_3
            ],
            ENTProduct: [
                component.find('select_ENT1').get('v.value'),
                component.find('select_ENT2').get('v.value'),
                component.find('select_ENT3').get('v.value'),
                p8_1,
                p8_2,
                p8_3
            ],
            OCMTerm: component.get('v.OCMTerm')
                            "hospitalId" : component.get("v.record.Agency_Hospital__c"),
                            "GIProduct" : [component.find('select_GI1').get('v.value'),component.find('select_GI2').get('v.value'),component.find('select_GI3').get('v.value'),p1_1,p1_2,p1_3],
                            "ETProduct" : [component.find('select_ET1').get('v.value'),component.find('select_ET2').get('v.value'),component.find('select_ET3').get('v.value'),p2_1, p2_2,p2_3 ],
                            "BFProduct" : [component.find('select_BF1').get('v.value'),component.find('select_BF2').get('v.value'),component.find('select_BF3').get('v.value'),p3_1 ,p3_2 ,p3_3 ],
                            "OTHProduct" : [component.find('select_OTH1').get('v.value'),component.find('select_OTH2').get('v.value'),component.find('select_OTH3').get('v.value'),p4_1,p4_2 ,p4_3],
                            "GSProduct" : [component.find('select_GS1').get('v.value'),component.find('select_GS2').get('v.value'),component.find('select_GS3').get('v.value'),p5_1,p5_2,p5_3],
                            "UROProduct" : [component.find('select_URO1').get('v.value'),component.find('select_URO2').get('v.value'),component.find('select_URO3').get('v.value'),p6_1,p6_2 ,p6_2 ],
                            "GYNProduct" : [component.find('select_GYN1').get('v.value'),component.find('select_GYN2').get('v.value'),component.find('select_GYN3').get('v.value'),p7_1,p7_2 ,p7_3 ],
                            "ENTProduct" : [component.find('select_ENT1').get('v.value'),component.find('select_ENT2').get('v.value'),component.find('select_ENT3').get('v.value'),p8_1 ,p8_2 ,p8_3],
                            "OCMTerm" : component.get("v.OCMTerm")
        });
        action.setCallback(this, function (response) {
            console.warn(response);
            var state = response.getState();
            if (state === 'SUCCESS') {
            if (state === "SUCCESS") {
                var modal_window = component.find('modal_window');
                var modal_bg = component.find('modal_bg');
                $A.util.toggleClass(modal_window, 'disp_none');
                $A.util.toggleClass(modal_bg, 'disp_none');
                var toastEvent = $A.get('e.force:showToast');
                var toastEvent = $A.get("e.force:showToast");
                toastEvent.setParams({
                    title: '成功',
                    type: 'success',
                    message: '保存成功'
                    title: "成功",
                    type:"success",
                    message: "保存成功"
                });
                toastEvent.fire();
                $A.get('e.force:refreshView').fire();
            } else if (state === 'INCOMPLETE') {
                var toastEvent = $A.get('e.force:showToast');
            } else if (state === "INCOMPLETE") {
                var toastEvent = $A.get("e.force:showToast");
                toastEvent.setParams({
                    title: '未完成!',
                    type: 'error',
                    message: '未完成'
                    title: "未完成!",
                    type:"error",
                    message: "未完成"
                });
                toastEvent.fire();
            } else if (state === 'ERROR') {
            } else if (state === "ERROR") {
                var errors = response.getError();
                var toastEvent = $A.get('e.force:showToast');
                var toastEvent = $A.get("e.force:showToast");
                toastEvent.setParams({
                    title: '错误',
                    type: 'error',
                    title: "错误",
                    type:"error",
                    message: errors[0].message
                });
                toastEvent.fire();
            }
        });
        $A.enqueueAction(action);
    },
    warning: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '警告!',
            title: "警告!",
            message: message,
            type: 'warning',
            duration: '10000'
            type:"warning",
            duration : "10000"
        });
        toastEvent.fire();
    },
    error: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '错误!',
            title: "错误!",
            message: message,
            type: 'error',
            duration: '10000'
            type:"error",
            duration : "10000"
        });
        toastEvent.fire();
    }
});
    },
})
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp
@@ -1,27 +1,21 @@
<aura:component
    controller="DealerPersonnelController"
<!--
 * @Author: Thhto 997058689@qq.com
 * @Date: 2022-07-08 10:47:25
 * @LastEditors: Thhto 997058689@qq.com
 * @LastEditTime: 2023-02-03 15:25:46
 * @FilePath: \ceshihuanj\force-app\main\default\aura\DealerPersonnelInformationImport\DealerPersonnelInformationImport.cmp
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<aura:component controller="DealerPersonnelController"
    implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
    access="global"
>
    access="global">
    <!-- 批量添加周报 start-->
    <!-- <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> -->
    <aura:attribute name="reports_date" type="List" />
    <aura:attribute name="errorMessage" type="String" />
    <aura:attribute
        name="TableContent"
        type="String"
        description=" Show the Result class"
    />
    <aura:attribute
        name="TableContent2"
        type="String"
        description=" Show the Result class"
    />
    <aura:attribute
        name="TargetFileName"
        type="String"
        description="Name of the file"
    />
    <aura:attribute name="TableContent" type="String" description=" Show the Result class" />
    <aura:attribute name="TableContent2" type="String" description=" Show the Result class" />
    <aura:attribute name="TargetFileName" type="String" description="Name of the file" />
    <aura:attribute name="tableheaders" type="Object[]" />
    <aura:attribute name="fileContentData" type="String" />
    <aura:attribute name="filename" type="String" />
@@ -40,10 +34,7 @@
    <!-- 批量添加周报 end-->
    <aura:renderIf isTrue="{!v.login}">
        <div class="slds-spinner_container height100vh">
            <div
                class="slds-spinner--brand slds-spinner slds-spinner--medium"
                role="alert"
            >
            <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
                <span class="slds-assistive-text">Loading</span>
                <div class="slds-spinner__dot-a"></div>
                <div class="slds-spinner__dot-b"></div>
@@ -51,31 +42,20 @@
        </div>
    </aura:renderIf>
    <!-- 批量添加周报 start-->
    <div
        class="slds-modal slds-fade-in-open slds-hide"
        aura:id="errorDiv"
        style="z-index: 10001"
    >
        <ui:inputText aura:id="articleURL" />
        <div class="demo-only" style="height: 8rem">
    <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001">
        <!-- <ui:inputText aura:id="articleURL" /> -->
        <div class="demo-only" style="height: 8rem;">
            <div class="slds-notify_container slds-is-relative">
                <div
                    class="slds-notify slds-notify_toast slds-theme_error"
                    role="status"
                >
                <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
                    <div class="slds-m-left_xx-large">
                        <div
                            class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"
                        >
                            <lightning:icon
                                alternativeText="error"
                                iconName="utility:error"
                                size="small"
                                class="buttonColor slds-m-right_small"
                            />
                            <h2 class="slds-text-heading_small">
                                {!v.errorMessage}
                            </h2>
                            class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
                            <lightning:icon alternativeText="error" iconName="utility:error" size="small"
                                class="buttonColor slds-m-right_small" />
                            <!-- DB202301262139 SFDC经销商人员导入功能改进 start -->
                            <!-- <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2> -->
                            <pre class="slds-text-heading_small ">{!v.errorMessage}</pre>
                            <!-- DB202301262139 SFDC经销商人员导入功能改进 end -->
                        </div>
                    </div>
                </div>
@@ -83,26 +63,16 @@
        </div>
    </div>
    <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01">
        <ui:inputText aura:id="articleURL" />
        <div class="demo-only" style="height: 8rem">
        <!-- <ui:inputText aura:id="articleURL" /> -->
        <div class="demo-only" style="height: 8rem;">
            <div class="slds-notify_container slds-is-relative">
                <div
                    class="slds-notify slds-notify_toast slds-theme_success"
                    role="alert"
                >
                <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
                    <div class="slds-m-left_xx-large">
                        <div
                            class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"
                        >
                            <lightning:icon
                                alternativeText="Success"
                                iconName="utility:success"
                                size="small"
                                class="buttonColor slds-m-right_small"
                            />
                            <h2 class="slds-text-heading_small">
                                {!v.successMessage}
                            </h2>
                            class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
                            <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
                                class="buttonColor slds-m-right_small" />
                            <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
                        </div>
                    </div>
                </div>
@@ -112,70 +82,37 @@
    <div>
        <div class="slds-modal__header">
            <h4 id="headerTarget" class="slds-float--left"></h4>
            <h2 id="headerTarget" class="slds-text-heading--medium">
                客户人员批量导入
            </h2>
            <h2 id="headerTarget" class="slds-text-heading--medium">客户人员批量导入</h2>
        </div>
        <div
            class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium"
        >
        <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium ">
            <aura:if isTrue="{!v.showMain}">
                <div>
                    <center>
                        <lightning:input
                            type="file"
                            class="file"
                            uara:id="file"
                            onchange="{!c.CreateRecord}"
                        />
                        <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" />
                    </center>
                </div>
                <aura:set attribute="else">
                    <ui:outputRichText
                        class="uiOutputRichText slds-m--around-large"
                        value="{!v.TableContent}"
                    />
                    <div
                        class="slds-p-around--large slds-align--absolute-center"
                    >
                        <lightning:button
                            label="保存"
                            variant="brand"
                            onclick="{!c.processFileContent}"
                        />
                        <lightning:button
                            label="取消"
                            variant="brand"
                            onclick="{!c.cancel}"
                        />
                    <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}" />
                    <div class="slds-p-around--large slds-align--absolute-center">
                        <lightning:button aura:id="save_con" label="保存" variant="brand" onclick="{!c.processFileContent}" disabled="false" />
                        <lightning:button label="取消" variant="brand" onclick="{!c.cancel}" />
                    </div>
                    <aura:if isTrue="{!v.showErrorInfo}">
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="导出错误信息"
                                variant="brand"
                                onclick="{!c.exportErrorInfo}"
                            />
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="导出错误信息" variant="brand" onclick="{!c.exportErrorInfo}" />
                        </div>
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <div style="height: 300px; overflow-x: scroll">
                                <lightning:datatable
                                    keyField="id"
                                    data="{! v.errorData }"
                                    columns="{! v.errorColumns }"
                                    hideCheckboxColumn="true"
                                    minColumnWidth="120"
                                />
                                <lightning:datatable keyField="id" data="{! v.errorData }" columns="{! v.errorColumns }"
                                    hideCheckboxColumn="true"/>
                            </div>
                        </div>
                    </aura:if>
                </aura:set>
            </aura:if>
        </div>
    </div>
    <!-- 批量添加周报 end-->
</aura:component>
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js
@@ -1,17 +1,17 @@
({
    CreateRecord: function (component, event, helper) {
        var files = event.getSource().get('v.files');
        var files = event.getSource().get("v.files");
        helper.readFile(component, helper, files[0]);
    },
    processFileContent: function (component, event, helper) {
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo",false);
        helper.saveRecords(component, event, helper);
    },
    cancel: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain",true);
    },
    exportErrorInfo: function (component, event, helper) {
        console.log('enter exportErrorInfo');
        helper.exportErrorInfoHelper(component);
    }
});
    },
})
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js
@@ -17,90 +17,81 @@
                        break; // noop
                    default:
                        alert('An error occurred reading this file.');
                }
            };
            }
            reader.onabort = function (e) {
                alert('File read cancelled');
            };
            reader.onloadstart = function (e) {
                var output =
                    '<ui type="disc"><li><strong>' +
                    file.name +
                    '</strong> (' +
                    file.type +
                    ')- ' +
                    file.size +
                    'bytes, last modified: ' +
                    file.lastModifiedDate.toLocaleDateString() +
                    '</li></ui>';
                component.set('v.filename', file.name);
                component.set('v.TargetFileName', output);
                var output = '<ui type=\"disc\"><li><strong>' + file.name + '</strong> (' + file.type + ')- ' + file.size + 'bytes, last modified: ' + file.lastModifiedDate.toLocaleDateString() + '</li></ui>';
                component.set("v.filename", file.name);
                component.set("v.TargetFileName", output);
            };
            reader.onload = function (e) {
                var data = e.target.result;
                // data.replace(/\n/,"")
                var allTextLines11 = data.split(/\r/);
                var s = allTextLines11.toString();
                component.set('v.fileContentData', s);
                console.log('file dataqqq' + JSON.stringify(s));
                component.set("v.fileContentData", s);
                console.log("file dataqqq" + JSON.stringify(s));
                var allTextLines = data.split(/\r\n|\n/);
                var dataRows = allTextLines.length - 1;
                var headers = allTextLines[0].split(',');
                var numOfRows = component.get('v.NumOfRecords');
                if (
                    dataRows > numOfRows + 1 ||
                    dataRows == 1 ||
                    dataRows == 0
                ) {
                    alert('File Rows between 1 to ' + numOfRows + ' .');
                    component.set('v.showMain', true);
                } else {
                var numOfRows = component.get("v.NumOfRecords");
                if (dataRows > numOfRows + 1 || dataRows == 1 || dataRows == 0) {
                    alert("File Rows between 1 to " + numOfRows + " .");
                    component.set("v.showMain", true);
                }
                else {
                    var lines = [];
                    var filecontentdata;
                    var content =
                        '<table class="table slds-table slds-table--bordered slds-table--cell-buffer">';
                    content += '<thead><tr class="slds-text-title--caps">';
                    content += '<th scope="col">' + '行号' + '</th>';
                    var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
                    content += "<thead><tr class=\"slds-text-title--caps\">";
                    content += '<th scope=\"col"\>' + '行号' + '</th>';
                    for (i = 0; i < headers.length; i++) {
                        content += '<th scope="col">' + headers[i] + '</th>';
                        content += '<th scope=\"col"\>' + headers[i] + '</th>';
                    }
                    content += '</tr></thead>';
                    content += "</tr></thead>";
                    for (var i = 1; i < allTextLines.length; i++) {
                        filecontentdata = allTextLines[i].split(',');
                        if (filecontentdata[0] != '') {
                            content += '<tr>';
                            content += '<td>' + i + '</td>';
                            content += "<tr>";
                            content += "<td>" + i + "</td>";
                            for (var j = 0; j < filecontentdata.length; j++) {
                                content +=
                                    '<td>' + filecontentdata[j] + '</td>';
                                content += '<td>' + filecontentdata[j] + '</td>';
                            }
                            content += '</tr>';
                            content += "</tr>";
                        }
                    }
                    content += '</table>';
                    content += "</table>";
                    console.log(content);
                    component.set('v.TableContent', content);
                    component.set('v.showMain', false);
                    component.set("v.TableContent", content);
                    component.set("v.showMain", false);
                }
            };
            }
            reader.readAsText(file, 'gb2312');
        }
        var reader = new FileReader();
        reader.onloadend = function () {};
        reader.onloadend = function () {
        };
        reader.readAsDataURL(file);
    },
    isNumber: function(str) {
        return /^\d+$/.test(str);
    },
    saveRecords: function (component, event, helper) {
        component.set('v.login', true);
        var action = component.get('c.processData');
        var action = component.get("c.processData");
        var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields
        action.setParams({
            fileData: component.get('v.fileContentData'),
            fileData: component.get("v.fileContentData"),
            sobjectName: 'Account', //Any object
            fields: fieldsList
        });
        action.setCallback(this, function (response) {
            var state = response.getState();
            if (state === 'SUCCESS') {
            if (state === "SUCCESS") {
                var res = response.getReturnValue();
                var res1 = '';
                if (res != 'success') {
@@ -108,137 +99,106 @@
                    console.log(ress);
                    let errorDatas = [];
                    let errorDataRow = [];
                    debugger;
                    debugger
                    for (var i = 0; i < ress.length; i++) {
                        res1 += ress[i].substr(7) + '\n';
                        if (ress[i] != '') {
                            let errorData = {};
                            let index = errorDataRow.indexOf(
                                ress[i].substr(7).substring(1, 2)
                            );
                            let errorData = {}
                            if(!this.isNumber(ress[i].substr(7).substring(1, 2))){
                                continue
                            }
                            let index = errorDataRow.indexOf(ress[i].substr(7).substring(1, 2));
                            if (index == -1) {
                                errorData.errorRow = ress[i]
                                    .substr(7)
                                    .substring(1, 2);
                                errorData.errorRow = ress[i].substr(7).substring(1, 2);
                                errorDataRow.push(errorData.errorRow);
                                errorData.errorInfo = ress[i]
                                    .substr(7)
                                    .substring(6);
                                errorData.errorInfo = ress[i].substr(7).substring(5);
                                errorDatas.push(errorData);
                            } else {
                                errorDatas[index].errorInfo +=
                                    '; ' + ress[i].substr(7).substring(6);
                                errorDatas[index].errorInfo += '; ' + ress[i].substr(7).substring(5);
                            }
                        }
                    }
                    var fileContentData = component
                        .get('v.fileContentData')
                        .split('\n');
                    var fileContentData = component.get("v.fileContentData").split('\n');
                    let errorColumns = [
                        {
                            label: '错误行',
                            fieldName: 'errorRow',
                            type: 'text',
                            hideDefaultActions: true,
                            initialWidth: 50
                        },
                        {
                            label: '错误信息',
                            fieldName: 'errorInfo',
                            type: 'text',
                            hideDefaultActions: true,
                            initialWidth: 300,
                            wrapText: true
                        }
                        { label: '错误行', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 100 },
                        { label: '错误信息', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true,initialWidth: 300,wrapText: true }
                    ];
                    for (
                        var i = 0;
                        i < fileContentData[0].split(',').length - 1;
                        i++
                    ) {
                    for (var i = 0; i < fileContentData[0].split(',').length - 1; i++) {
                        errorColumns.push({
                            label: fileContentData[0].split(',')[i],
                            fieldName: 'field' + i,
                            type: 'text',
                            hideDefaultActions: true,
                            wrapText: true
                            wrapText: true,
                            initialWidth: 120
                        });
                    }
                    for (var i = 0; i < errorDatas.length; i++) {
                        let data = fileContentData[errorDatas[i].errorRow];
                        console.log('data = ' + JSON.stringify(data));
                        if(data){
                        for (var j = 0; j < data.split(',').length; j++) {
                            let label = 'field' + j;
                            errorDatas[i][label] = data.split(',')[j];
                        }
                    }
                    console.log('errorDatas = ' + JSON.stringify(errorDatas));
                    }
                    console.log('errorDatas = ' + JSON.stringify(errorDatas))
                    component.set('v.errorColumns', errorColumns);
                    component.set('v.errorData', errorDatas);
                    component.set('v.showErrorInfo', true);
                    component.set("v.showErrorInfo", true);
                    console.log('==' + res1);
                    console.log("==" + res1);
                    // this.error( "请修改后重新上传");
                    component.set('v.errorMessage', res1 + '请修改后重新上传');
                    component.set('v.errorMessage', res1 + "请修改后重新上传");
                    this.showErrorToast(component);
                    component.set('v.login', false);
                    component.find('save_con').set('v.disabled', true);
                } else {
                    // this.success('导入成功');
                    component.set('v.successMessage', '导入成功');
                    this.showSuccessToast01(component);
                    component.set('v.showMain', true);
                    component.set("v.showMain", true);
                    component.set('v.login', false);
                    component.find('save_con').set('v.disabled', false);
                }
            }
            else if (state === "INCOMPLETE") {
                    component.set('v.login', false);
                }
            } else if (state === 'INCOMPLETE') {
                component.set('v.login', false);
            } else if (state === 'ERROR') {
            else if (state === "ERROR") {
                var errors = response.getError();
                if (errors) {
                    if (errors[0] && errors[0].message) {
                        console.log('Error message: ' + errors[0].message);
                        let errorDatas = [
                            {
                        console.log("Error message: " + errors[0].message);
                        let errorDatas = [{
                                errorRow: '1',
                                errorInfo: errors[0].message
                            }
                        ];
                        }];
                        let errorColumns = [
                            {
                                label: '错误行',
                                fieldName: 'errorRow',
                                type: 'text',
                                hideDefaultActions: true,
                                initialWidth: 50
                            },
                            {
                                label: '错误信息',
                                fieldName: 'errorInfo',
                                type: 'text',
                                hideDefaultActions: true,
                                initialWidth: 300,
                                wrapText: true
                            }
                            { label: '错误行', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 50 },
                            { label: '错误信息', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true,initialWidth: 300,wrapText: true }
                        ];
                        component.set('v.errorData', errorDatas);
                        component.set('v.errorColumns', errorColumns);
                        component.set('v.showErrorInfo', true);
                        component.set("v.showErrorInfo", true);
                        component.set('v.login', false);
                    }
                } else {
                    console.log('Unknown error');
                    console.log("Unknown error");
                    component.set('v.login', false);
                }
            }
        });
        $A.enqueueAction(action);
    },
    //弹出 成功提示
    showSuccessToast01: function (component) {
        $A.util.removeClass(component.find('successDiv01'), 'slds-hide');
        window.setTimeout(
            $A.getCallback(function () {
        window.setTimeout($A.getCallback(function () {
                $A.util.addClass(component.find('successDiv01'), 'slds-hide');
            }),
            3000
@@ -247,39 +207,38 @@
    //弹出 错误提示
    showErrorToast: function (component) {
        $A.util.removeClass(component.find('errorDiv'), 'slds-hide');
        window.setTimeout(
            $A.getCallback(function () {
        window.setTimeout($A.getCallback(function () {
                $A.util.addClass(component.find('errorDiv'), 'slds-hide');
            }),
            4000
            7000
        );
    },
    success: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '成功!',
            message: message,
            duration: '5000'
            "title": "成功!",
            "message": message,
            "duration": "5000"
        });
        toastEvent.fire();
    },
    warning: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '警告!',
            message: message,
            duration: '10000'
            "title": "警告!",
            "message": message,
            "duration": "10000"
        });
        toastEvent.fire();
    },
    error: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '错误!',
            message: message,
            duration: 'sticky'
            "title": "错误!",
            "message": message,
            "duration": "sticky"
        });
        toastEvent.fire();
    },
@@ -298,22 +257,22 @@
        for (var i in errorData) {
            let data = [];
            data.push(errorData[i].errorRow);
            data.push(errorData[i].errorInfo);
            data.push(errorData[i].errorRow)
            data.push(errorData[i].errorInfo)
            for (var j = 0; j < Object.keys(errorData[i]).length - 2; j++) {
                data.push(errorData[i]['field' + j]);
                data.push(errorData[i]['field' + j])
            }
            datas.push(data);
        }
        console.log('datas = ' + JSON.stringify(datas));
        var csv = this.convertToCSV(component, datas);
        console.log('csv = ' + JSON.stringify(csv));
        console.log('csv = ' + JSON.stringify(csv))
        this.downloadCSV(component, csv);
    },
    convertToCSV: function (component, data) {
        console.log('enter convertToCSV');
        console.log('enter convertToCSV')
        console.log('data = ' + data);
        var csv = '';
        for (var i = 0; i < data.length; i++) {
@@ -323,11 +282,7 @@
                var val = '';
                val = row[j] === null ? '' : row[j].toString();
                console.log('val = ' + val);
                if (
                    val.indexOf(',') !== -1 ||
                    val.indexOf('"') !== -1 ||
                    val.indexOf('\n') !== -1
                ) {
                if (val.indexOf(',') !== -1 || val.indexOf('"') !== -1 || val.indexOf('\n') !== -1) {
                    //val = '"' + val.replace(/"/g,'""') + '"';
                }
                if (j > 0) {
@@ -343,13 +298,13 @@
    downloadCSV: function (component, csv) {
        var link = document.createElement('a');
        // 设置字符集和文件头
        let bom = '\uFEFF';
        link.href =
            'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv);
        var bom = "\uFEFF";
        link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv);
        //link.href = URL.createObjectURL(csvFile);
        link.download = 'data.csv';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
    }
    },
    //zhj 导出错误信息 2023-05-16 end
});
})
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.auradoc
New file
@@ -0,0 +1,6 @@
<aura:documentation>
    <aura:description>Documentation</aura:description>
    <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
        Example Description
    </aura:example>
</aura:documentation>
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp
New file
@@ -0,0 +1,71 @@
<!--
  @description       :
  @author            : ChangeMeIn@UserSettingsUnder.SFDoc
  @group             :
  @last modified on  : 07-08-2022
  @last modified by  : ChangeMeIn@UserSettingsUnder.SFDoc
-->
<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"
                controller="NewAgencyContactController">
    <aura:attribute name = "recordId" type = "Id" default = ""/>
    <aura:attribute name="title" type="string"/>
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/>
    <aura:attribute name="record_data" type="Map"/>
    <aura:attribute name="section_names" type="List"/>
    <aura:attribute name="showSpinner" type="Boolean" default = "False"/>
    <aura:attribute name="staticResource" type="Map"/>
    <aura:attribute name="pi_fields_map" type="Map"/>
    <aura:attribute name="isClone" type="Boolean" default = "False"/>
    <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
    <ltng:require scripts="{! $Resource.jquery183minjs }" />
    <aura:registerEvent name="NewAgencyContactEvent" type="c:NewAgencyContactEvent"/>
    <aura:attribute name="agencyHospitalId" type="String"/>
    <div class="slds-modal__container">
        <!-- header -->
        <header class="slds-modal__header">
            <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate">
                {!v.title}
            </h2>
        </header>
        <div class="slds-modal__content slds-p-around_medium">
            <aura:if isTrue="{!v.showSpinner}">
                <lightning:spinner alternativeText="Loading" size="medium" />
            </aura:if>
            <lightning:recordEditForm objectApiName="Agency_Contact__c" onload="{!c.handleLoad}">
                <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" >
                    <aura:iteration items="{!v.layout}" var="section">
                        <aura:if isTrue="{! section.editHeading }">
                            <lightning:accordionSection name="{! section.label }" label="{! section.label }">
                                <aura:iteration items="{! section.layoutColumns}" var="col">
                                    <aura:iteration items="{! col.layoutItems}" var="field">
                                        <aura:if isTrue="{! field.behavior != 'Readonly' }">
                                            <lightning:inputField required="{! field.behavior == 'Required' }" aura:id="field" fieldName="{! field.field}" value="{! field.value}" />
                                        </aura:if>
                                    </aura:iteration>
                                </aura:iteration>
                            </lightning:accordionSection>
                        </aura:if>
                    </aura:iteration>
                </lightning:accordion>
            </lightning:recordEditForm>
            <div  style="text-align:center;margin: 5px;">
                <lightning:button class="slds-button slds-button_neutral" label="取消" onclick="{! c.cancelClick }" />
                <lightning:button class="slds-button slds-button_brand" variant="brand" label="保存" onclick="{! c.saveClick }" />
            </div>
        </div>
    </div>
</aura:component>
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>55.0</apiVersion>
    <description>A Lightning Component Bundle</description>
</AuraDefinitionBundle>
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.css
New file
@@ -0,0 +1,15 @@
.THIS {
}
.THIS .greyyyy .slds-button_reset{
 display: flex;
    align-items: center;
 background: var(--lwc-colorBackground,rgb(243, 242, 242));
 cursor: pointer;
    width: 100%;
    height: 2rem;
    text-align: left;
    color: currentColor;
    font-size: inherit;
    padding: 0 var(--lwc-spacingXSmall,0.5rem);
}
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.design
New file
@@ -0,0 +1,3 @@
<design:component >
</design:component>
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.svg
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" />
        <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" />
    </g>
</svg>
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Controller.js
New file
@@ -0,0 +1,396 @@
({
    doInit : function(component, event, helper) {
        let rid = component.get('v.recordId');
        let pid = null;
        if(!rid){
            pid = window.location.href.replace("https://","").split("/")[4];
        }
        let isClone = component.get('v.isClone');
        if(!rid || isClone){
            component.set('v.title',$A.get("$Label.c.New")+'.客户人员');
        }else{
            component.set('v.title',$A.get("$Label.c.Edit")+'.客户人员');
        }
        let record_type_id = null;
        let pageref = component.get("v.pageReference")
        if(!record_type_id && pageref){
           record_type_id = pageref.state.recordTypeId
        }
        component.set("v.showSpinner", true);
        helper.CallBackAction(component,'Init',{
            rid : rid,
            pid : null,
            //rid : component.get('v.recordId'),
            record_type_id : record_type_id,
        },function(data){
            debugger
            console.log('data = ' + JSON.stringify(data));
            if(data.getState() == "SUCCESS"){
                var rv = data.getReturnValue();
                console.log(rv);
                if(rv.IsSuccess){
                    let layout = JSON.parse(rv.Data.layout);
                    let fields = rv.Data.fields;
                    let staticResource = JSON.parse(rv.Data.staticResource);
                    let staticResourceV2 = JSON.parse(rv.Data.staticResourceV2);
                    let section_names = [];
                    section_names = layout.map(s=>s.label);
                    component.set('v.section_names',section_names);
                    let m = {};
                    for(let f of staticResource.PIDetails){
                        m[f.SF_Field_API_Name__c] = f;
                    }
                    component.set('v.pi_fields_map',m);
                    var agencyHospitalId = component.get("v.agencyHospitalId");
                    console.log('agencyHospitalId = ' + agencyHospitalId);
                    if(rv.Data && rv.Data.data && rv.Data.data.AWS_Data_Id__c){
                        helper.AwsGet(staticResource.queryUrl, {
                            dataId : rv.Data.data.AWS_Data_Id__c
                        }, function(data){
                            console.log('data = ' + data);
                            for(let f of staticResource.PIDetails){
                                if(data.object && data.object.hasOwnProperty(f.AWS_Field_API__c)){
                                    rv.Data.data[f.SF_Field_API_Name__c] = data.object[f.AWS_Field_API__c];
                                    if(data.object.hasOwnProperty(f.AWS_Encrypted_Field_API__c) && data.object[f.AWS_Encrypted_Field_API__c]){
                                        rv.Data.data[f.SF_Field_Encrypted_API__c] = data.object[f.AWS_Encrypted_Field_API__c];
                                    }
                                }
                            }
                            for(let s of layout){
                                for(let c of s.layoutColumns){
                                    for(let item of c.layoutItems){
                                        if(rv.Data.data.hasOwnProperty(item.field)){
                                            item.value = rv.Data.data[item.field];
                                        }
                                        if(fields.hasOwnProperty(item.field)){
                                            item.fi = fields[item.field];
                                        }
                                        if(item.field == 'Agency_Hospital__c'){
                                            item.value = agencyHospitalId;
                                        }
                                    }
                                }
                            }
                            component.set('v.record_data',rv.Data.data);
                            component.set('v.layout',layout);
                        }, staticResource.token);
                    }else{
                        for(let s of layout){
                            for(let c of s.layoutColumns){
                                for(let item of c.layoutItems){
                                    if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){
                                        item.value = pid;
                                    }
                                    if(item.field == 'Agency_Hospital__c'){
                                        item.value = agencyHospitalId;
                                    }
                                }
                            }
                        }
                        component.set('v.layout',layout);
                    }
                    component.set('v.fields',fields);
                    component.set('v.staticResource',staticResource);
                    component.set('v.staticResourceV2',staticResourceV2);
                }else{
                    helper.ShowToast({
                        "message" : rv.Message,
                        "type" : "error"
                    });
                }
            }else{
                helper.ShowToast({
                    "message" : "Init error",
                    "type" : "error"
                });
            }
        });
    },
    handleLoad: function(component, event, helper) {
        console.log('recordEditForm handleSuccess')
        component.set("v.showSpinner", false);
    },
    saveClick : function(component, event, helper){
        let staticResource = component.get('v.staticResource');
        //let staticResourceV2 = component.get('v.staticResourceV2');
        let record_id = component.get('v.recordId');
        let record_type_id = component.get('v.recordTypeId');
        let isClone = component.get('v.isClone');
        let url = staticResource.newUrl;
        //let urlV2 = staticResourceV2.newUrl;
        let payloadPi = {};
        if (record_id && !isClone) {
            url = staticResource.updateUrl;
            //urlV2 = staticResourceV2.updateUrl;
            payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c;
        }
        let layout = component.get('v.layout');
        let pi_fields_map = component.get('v.pi_fields_map');
        let hospitalId = '';
        for(let s of layout){
            for(let c of s.layoutColumns){
                for(let item of c.layoutItems){
                    if(item.field == 'Agency_Hospital__c'){
                        hospitalId = item.value;
                    }
                    if(pi_fields_map.hasOwnProperty(item.field)){
                        payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value;
                    }
                    if (item.behavior == "Required" && !item.value ) {
                        let fs = component.find("field");
                        for(let fi in fs){
                            let f = fs[fi];
                            if(!f.get('v.value')){
                                f.reset();
                            }
                        }
                        return;
                    }
                }
            }
        }
        component.set("v.showSpinner", true);
        //zhj MEBG新方案改造 2022-11-29 start
        debugger
        let hospitalName = '';
        //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid
        helper.CallBackAction(component,'searchAgencyDataId',{
            hospitalId : hospitalId
        },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);
                        payloadPi['agencyContactIds'] = agencyContactIds;
                    }else{
                        payloadPi['agencyContactIds'] = agencyContactIds;
                    }
                    helper.AwsPost(url+'V2', [payloadPi], function(result){
                        //如果返回是129表示重复了,报错
                        if(result.status == '129'){
                            helper.ShowToast({
                                "message" : '该客户人员名字已存在,在'+hospitalName+'医院,请修改',
                                "type" : "error"
                            });
                            component.set("v.showSpinner", false);
                            return
                        }
                        let obj = result.object[0];
                        let data = {};
                        if(record_id && !isClone){
                            data.Id = record_id;
                        }else{
                            data.AWS_Data_Id__c = obj.dataId;
                        }
                        for(let s of layout){
                            for(let c of s.layoutColumns){
                                for(let item of c.layoutItems){
                                    if(item.field && item.behavior != "Readonly"){
                                        if(pi_fields_map.hasOwnProperty(item.field)){
                                            data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c];
                                            //data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c];
                                        }else{
                                            data[item.field] = item.value;
                                        }
                                    }
                                }
                            }
                        }
                        $A.getCallback(function(){
                            helper.CallBackAction(component,'Save',{
                                data : data,
                                transId : result.txId
                            },function(data){
                                component.set("v.showSpinner", false);
                                if(data.getState() == "SUCCESS"){
                                    var rv = data.getReturnValue();
                                    console.log(rv);
                                    var sfId = null;
                                    if(rv.IsSuccess){
                                        sfId = rv.Data.recordId;
                                    }
                                    helper.AwsPost(staticResource.transactionUrl,{
                                        txId: result.txId,
                                        sfRecordId:sfId,
                                        isSuccess: rv.IsSuccess ? 1 : 0
                                    },function(data){
                                        if(rv.IsSuccess){
                                            helper.ShowToast({
                                                "message" : "成功",
                                                "type" : "success"
                                            });
                                            helper.closeAgencyContact(component);
                                            // if (record_id && !isClone){
                                            //     helper.closeAgencyContact(component);
                                            //     //$A.get('e.force:refreshView').fire();
                                            // }else{
                                            //     var sObjectEvent = $A.get("e.force:navigateToSObject");
                                            //     sObjectEvent.setParams({
                                            //         "recordId": sfId
                                            //     })
                                            //     sObjectEvent.fire();
                                            // }
                                        }else{
                                            helper.ShowToast({
                                                "message" : rv.Message,
                                                "type" : "error"
                                            });
                                        }
                                    },staticResource.token);
                                }else{
                                    helper.ShowToast({
                                        "message" : "Init error",
                                        "type" : "error"
                                    });
                                }
                            });
                        })();
                    }, staticResource.token);
                }else{
                    helper.ShowToast({
                        "message" : data.message,
                        "type" : "error"
                    });
                    component.set("v.showSpinner", false);
                }
            }else{
                helper.ShowToast({
                    "message" : 'searchAgency失败',
                    "type" : "error"
                });
                component.set("v.showSpinner", false);
            }
        });
        //zhj MEBG新方案改造 2022-11-29 end
        // helper.AwsPost(urlV2, [payloadPi], function(result){
        //     let obj = result.object[0];
        //     let data = {};
        //     if(record_id && !isClone){
        //         data.Id = record_id;
        //     }else{
        //         data.AWS_Data_Id__c = obj.dataId;
        //     }
        //     for(let s of layout){
        //         for(let c of s.layoutColumns){
        //             for(let item of c.layoutItems){
        //                 if(item.field && item.behavior != "Readonly"){
        //                     if(pi_fields_map.hasOwnProperty(item.field)){
        //                         data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c];
        //                         data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c];
        //                     }else{
        //                         data[item.field] = item.value;
        //                     }
        //                 }
        //             }
        //         }
        //     }
        //     $A.getCallback(function(){
        //         helper.CallBackAction(component,'Save',{
        //             data : data,
        //             transId : result.txId
        //         },function(data){
        //             component.set("v.showSpinner", false);
        //             if(data.getState() == "SUCCESS"){
        //                 var rv = data.getReturnValue();
        //                 console.log(rv);
        //                 var sfId = null;
        //                 if(rv.IsSuccess){
        //                     sfId = rv.Data.recordId;
        //                 }
        //                 helper.AwsPost(staticResource.transactionUrl,{
        //                     txId: result.txId,
        //                     sfRecordId:sfId,
        //                     isSuccess: rv.IsSuccess ? 1 : 0
        //                 },function(data){
        //                     if(rv.IsSuccess){
        //                         helper.ShowToast({
        //                             "message" : "成功",
        //                             "type" : "success"
        //                         });
        //                         helper.closeAgencyContact(component);
        //                         // if (record_id && !isClone){
        //                         //     helper.closeAgencyContact(component);
        //                         //     //$A.get('e.force:refreshView').fire();
        //                         // }else{
        //                         //     var sObjectEvent = $A.get("e.force:navigateToSObject");
        //                         //     sObjectEvent.setParams({
        //                         //         "recordId": sfId
        //                         //     })
        //                         //     sObjectEvent.fire();
        //                         // }
        //                     }else{
        //                         helper.ShowToast({
        //                             "message" : rv.Message,
        //                             "type" : "error"
        //                         });
        //                     }
        //                 },staticResource.token);
        //             }else{
        //                 helper.ShowToast({
        //                     "message" : "Init error",
        //                     "type" : "error"
        //                 });
        //             }
        //         });
        //     })();
        // }, staticResource.token);
    },
    cancelClick : function(component, event, helper){
        helper.closeAgencyContact(component);
    },
    scriptsLoaded : function(component, event, helper){}
})
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Helper.js
New file
@@ -0,0 +1,56 @@
({
    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);
    },
    ShowToast : function(paras){
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams(paras);
        toastEvent.fire();
    },
    AwsPost : function(postURL, data ,callback,token){
        let payloadForNewPI = '';
        if(typeof(data) == 'string'){
            payloadForNewPI = data;
        }else{
            payloadForNewPI = JSON.stringify(data);
        }
        AWSService.post(postURL,payloadForNewPI,function(result) {
            //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
            if(callback) callback(result);
        },token);
    },
    AwsGet : function(url, data ,callback,token){
        if(typeof(data) == 'string'){
            url += data;
        }else{
            let i = 0;
            for(let p in data){
                url += (i++) ? '&' : '?';
                url += p + '=' + data[p];
            }
        }
        AWSService.get(url,function(result){
            //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
            if(callback) callback(result);
        },token);
    },
    closeAgencyContact : function(component){
        var cmpEvent = component.getEvent("NewAgencyContactEvent");
        cmpEvent.setParams({
            "showNewAgencyContact":false});
        cmpEvent.fire();
    }
})
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Renderer.js
New file
@@ -0,0 +1,5 @@
({
// Your renderer method overrides go here
})
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp
@@ -5,11 +5,9 @@
  @last modified on  : 07-08-2022
  @last modified by  : ChangeMeIn@UserSettingsUnder.SFDoc
-->
<aura:component
    implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable"
    access="global"
    controller="NewAgencyOpportunityController"
>
<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"
                controller="NewAgencyOpportunityController">
    <aura:attribute name="recordId" type="Id" default="" />
    <aura:attribute name="recordTypeId" type="Id" default="" />
    <aura:attribute name="ac_name" type="string" />
@@ -30,16 +28,11 @@
    <aura:attribute name="contactAWSIds" type="List" />
    <aura:attribute name="login" type="Boolean" default="false" />
    <aura:attribute name="show" type="Boolean" default="false" />
    <aura:attribute
        name="showNewAgencyContact"
        type="Boolean"
        default="false"
    />
    <aura:handler
        name="NewAgencyContactEvent"
        event="c:NewAgencyContactEvent"
        action="{!c.closeAgencyContact}"
    />
    <aura:attribute name="showNewAgencyContact" type="Boolean" default="false"/>
    <aura:handler name="NewAgencyContactEvent" event="c:NewAgencyContactEvent" action="{!c.closeAgencyContact}"/>
    <aura:attribute name="agencyHospitalId" type="String" default = ""/>
    <div class="{! v.container_class}">
        <!-- header -->
@@ -53,63 +46,27 @@
            <aura:if isTrue="{!v.showSpinner}">
                <lightning:spinner alternativeText="Loading" size="medium" />
            </aura:if>
            <lightning:recordEditForm objectApiName="Agency_Opportunity__c">
                <lightning:accordion
                    activeSectionName="{! v.section_names }"
                    allowMultipleSectionsOpen="true"
                    class="greyyyy"
                >
            <lightning:recordEditForm objectApiName="Agency_Opportunity__c" onload="{!c.handleLoad}">
                <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" >
                    <aura:iteration items="{!v.layout}" var="section">
                        <aura:if isTrue="{! section.editHeading }">
                            <lightning:accordionSection
                                name="{! section.label }"
                                label="经销商询价信息"
                            >
                                <aura:iteration
                                    items="{! section.layoutColumns}"
                                    var="col"
                                >
                                    <aura:iteration
                                        items="{! col.layoutItems}"
                                        var="field"
                                    >
                                        <aura:if
                                            isTrue="{!and(field.behavior != 'Readonly', field.field != 'Agency_Contact__c')}"
                                        >
                                            <lightning:inputField
                                                required="{! field.behavior == 'Required' }"
                                                aura:id="field"
                                                fieldName="{! field.field}"
                                                value="{! field.value}"
                                            />
                            <lightning:accordionSection name="{! section.label }" label="经销商询价信息">
                                <aura:iteration items="{! section.layoutColumns}" var="col">
                                    <aura:iteration items="{! col.layoutItems}" var="field">
                                        <aura:if isTrue="{!and(field.behavior != 'Readonly', field.field != 'Agency_Contact__c')}">
                                            <lightning:inputField required="{! field.behavior == 'Required' }" aura:id="field" fieldName="{! field.field}" value="{! field.value}" />
                                        </aura:if>
                                        <aura:if
                                            isTrue="{!field.field == 'Agency_Contact__c' }"
                                        >
                                        <aura:if isTrue="{!field.field == 'Agency_Contact__c' }">
                                            <lightning:layout>
                                                <lightning:layoutItem size="12">
                                                    <lightning:input
                                                        required="{! field.behavior == 'Required' }"
                                                        label="客户人员"
                                                        value="{! field.value}"
                                                        variant="label-inline"
                                                        style="
                                                            margin-left: 0cm;
                                                            display: none;
                                                        "
                                                        onclick="{! c.openModel }"
                                                    />
                                                    <lightning:input
                                                        required="{! field.behavior == 'Required' }"
                                                        label="客户人员"
                                                        value="{! v.ac_name}"
                                                        variant="label-inline"
                                                        style="margin-left: 0cm"
                                                        onclick="{! c.openModel }"
                                                    />
                                                    <lightning:input required="{! field.behavior == 'Required' }" label="客户人员" value = "{! field.value}" variant = "label-inline" style="margin-left: 0cm; display: none;" onclick="{! c.openModel }"/>
                                                    <lightning:input required="{! field.behavior == 'Required' }" label="客户人员" value = "{! v.ac_name}" variant = "label-inline" style="margin-left: 0cm; " onclick="{! c.openModel }"/>
                                                </lightning:layoutItem>
                                            </lightning:layout>
                                        </aura:if>
                                    </aura:iteration>
                                </aura:iteration>
                            </lightning:accordionSection>
@@ -118,116 +75,81 @@
                </lightning:accordion>
            </lightning:recordEditForm>
            <div style="text-align: center; margin: 5px">
                <lightning:button
                    class="slds-button slds-button_neutral"
                    label="取消"
                    onclick="{! c.cancelClick }"
                />
                <lightning:button
                    class="slds-button slds-button_brand"
                    variant="brand"
                    label="保存"
                    onclick="{! c.saveClick }"
                />
            <div  style="text-align:center;margin: 5px;">
                <lightning:button class="slds-button slds-button_neutral" label="取消" onclick="{! c.cancelClick }" />
                <lightning:button class="slds-button slds-button_brand" variant="brand" label="保存" onclick="{! c.saveClick }" />
            </div>
        </div>
        <aura:if isTrue="{!v.isModalOpen}">
            <!-- Modal/Popup Box 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"
            >
                <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" >
                <aura:renderIf isTrue="{!v.login}">
                    <div class="slds-spinner_container height100vh">
                        <div
                            class="slds-spinner--brand slds-spinner slds-spinner--medium"
                            role="alert"
                        >
                            <span id="aa" class="slds-assistive-text"
                                >Loading</span
                            >
                            <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
                                <span id="aa" class="slds-assistive-text">Loading</span>
                            <div class="slds-spinner__dot-a"></div>
                            <div class="slds-spinner__dot-b"></div>
                        </div>
                    </div>
                </aura:renderIf>
                <div class="slds-modal__container">
                    <!-- Modal/Popup Box Header Starts here-->
                    <header class="slds-modal__header">
                        <lightning:buttonIcon
                            iconName="utility:close"
                        <lightning:buttonIcon iconName="utility:close"
                            onclick="{! c.closeModel }"
                            alternativeText="close"
                            variant="bare-inverse"
                            class="slds-modal__close"
                        />
                        <h2
                            id="modal-heading-01"
                            class="slds-text-heading_medium slds-hyphenate"
                        >
                            class="slds-modal__close"/>
                        <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">
                            搜索客户人员
                        </h2>
                    </header>
                    <!--Modal Body Start here-->
                    <div
                        class="slds-modal__content slds-p-around_medium modal-body"
                        id="modal-content-id-1"
                    >
                    <div class="slds-modal__content slds-p-around_medium modal-body" id="modal-content-id-1">
                        <lightning:layout>
                            <lightning:layoutItem size="7">
                                <ui:inputText
                                    label="请输入客户姓名"
                                    class="field"
                                    value="{!v.searchKeyWord}"
                                />
                                <ui:inputText label="请输入客户姓名" class="field" value="{!v.searchKeyWord}"/>
                            </lightning:layoutItem>
                            <lightning:layoutItem size="2" class="searchButton">
                                <ui:button
                                    aura:id="button"
                                    buttonTitle="Click to see agency contact"
                                    class="button"
                                    label="搜索"
                                    press="{!c.searchAgencyContact}"
                                    disabled="false"
                                />
                                <ui:button aura:id="button" buttonTitle="Click to see agency contact" class="button" label="搜索" press="{!c.searchAgencyContact}" disabled="false"/>
                            </lightning:layoutItem>
                            <lightning:layoutItem size="3" class="searchButton">
                                <ui:button
                                    aura:id="newAgencyContact"
                                    buttonTitle="Click to see agency contact"
                                    class="newAgencyContact"
                                    label="新建.客户人员"
                                    disabled="false"
                                    press="{!c.showNewAgency}"
                                />
                                <ui:button aura:id="newAgencyContact" buttonTitle="Click to see agency contact" class="newAgencyContact" label="新建.客户人员"  disabled="false" press="{!c.showNewAgency}"/>
                            </lightning:layoutItem>
                        </lightning:layout>
                        <div id="QueryResult" style="margin-top: 20px"></div>
                        <div id="QueryResult" style = "margin-top:20px;">
                        </div>
                    </div>
                    <aura:if isTrue="{!v.showNewAgencyContact}">
                        <section
                            role="dialog"
                            tabindex="-1"
                            aria-modal="true"
                            aria-labelledby="modal-heading-01"
                            class="slds-modal slds-fade-in-open"
                            aura:id="NewAgencyContact"
                            id="NewAgencyContact"
                        >
                        <!-- <aura:if isTrue="{!v.showNewAgencyContact}">
                            <section role="dialog" tabindex="-1" aria-modal="true" aria-labelledby="modal-heading-01" class="slds-modal slds-fade-in-open"  aura:id="NewAgencyContact" id="NewAgencyContact">
                            <c:NewAgencyContact2 />
                        </section>
                        </aura:if> -->
                        <aura:if isTrue="{!v.showNewAgencyContact}">
                            <section role="dialog" tabindex="-1" aria-modal="true" aria-labelledby="modal-heading-01"
                                class="slds-modal slds-fade-in-open" aura:id="NewAgencyContact"
                                id="NewAgencyContact" aria-describedby="modal-content-id-2" style="z-index: 9999;">
                                <c:NewAgencyContact2 agencyHospitalId="{!v.agencyHospitalId}"/>
                            </section>
                            <div class="slds-backdrop2 slds-backdrop_open2"></div>
                    </aura:if>
                </div>
            </section>
            <div class="slds-backdrop slds-backdrop_open"></div>
        </aura:if>
    </div>
</aura:component>
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css
@@ -65,3 +65,15 @@
.THIS .slds-spinner_container {
    position: revert;
}
.THIS .slds-backdrop2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* 遮罩层的半透明背景色 */
}
.THIS .slds-backdrop_open2 {
    z-index: 9003; /* 遮罩层的层级,需要确保比模态框的层级高 */
}
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js
@@ -1,55 +1,50 @@
({
    doInit: function (component, event, helper) {
        let rid = component.get('v.recordId');
        let pid = null;
        if (!rid) {
            pid = window.location.href.replace('https://', '').split('/')[4];
            pid = window.location.href.replace("https://","").split("/")[4];
        }
        let record_type_id = '';
        let pageref = component.get('v.pageReference');
        let pageref = component.get("v.pageReference")
        if (!record_type_id && pageref) {
            record_type_id = pageref.state.recordTypeId
                ? pageref.state.recordTypeId
                : '';
            record_type_id = pageref.state.recordTypeId ? pageref.state.recordTypeId : '';
        }
        let isClone = component.get('v.isClone');
        if (!rid || isClone) {
            component.set('v.title', $A.get('$Label.c.New') + '经销商询价');
            component.set('v.recordTypeId', record_type_id);
            component.set('v.title',$A.get("$Label.c.New")+'经销商询价');
            component.set("v.recordTypeId", record_type_id);
        } else {
            component.set('v.title', $A.get('$Label.c.Edit') + '经销商询价');
            component.set('v.title',$A.get("$Label.c.Edit")+'经销商询价');
        }
        console.log('rid: ' + rid);
        console.log('pid: ' + pid);
        console.log('record_type_id: ' + record_type_id);
        component.set('v.showSpinner', true);
        helper.CallBackAction(
            component,
            'Init',
            {
        component.set("v.showSpinner", true);
        helper.CallBackAction(component,'Init',{
                rid: rid,
                pid: pid,
                //rid : component.get('v.recordId'),
                record_type_id: record_type_id
            },
            function (data) {
        },function(data){
                console.log('data: ' + data);
                var rv = data.getReturnValue();
                console.log('rv:' + rv);
                console.log('rv.Data:' + rv.Data);
                console.log('rv.IsSuccess:' + rv.IsSuccess);
                if (data.getState() == 'SUCCESS') {
            if(data.getState() == "SUCCESS"){
                    if (rv.IsSuccess) {
                        debugger;
                        let layout = JSON.parse(rv.Data.layout);
                        debugger;
                        let fields = rv.Data.fields;
                        debugger;
                        let staticResource = JSON.parse(rv.Data.staticResource);
                    let staticResource = JSON.parse(rv.Data.staticResource)
                        debugger;
                        let section_names = layout.map((s) => s.label);
                    let section_names = layout.map(s=>s.label);
                        debugger;
                        // let awsData = rv.Data.awsDataIds;
                        // section_names = layout.map(s=>s.label);
@@ -69,13 +64,8 @@
                            for (let s of layout) {
                                for (let c of s.layoutColumns) {
                                    for (let item of c.layoutItems) {
                                        if (
                                            rv.Data.data.hasOwnProperty(
                                                item.field
                                            )
                                        ) {
                                            item.value =
                                                rv.Data.data[item.field];
                                    if(rv.Data.data.hasOwnProperty(item.field)){
                                        item.value = rv.Data.data[item.field];
                                        }
                                        if (fields.hasOwnProperty(item.field)) {
                                            item.fi = fields[item.field];
@@ -86,28 +76,15 @@
                            // component.set('v.layout',layout);
                            component.set('v.record_data', rv.Data.data);
                            if (rv.Data.data.Agency_Contact__r) {
                                if (
                                    rv.Data.data.Agency_Contact__r
                                        .AWS_Data_Id__c
                                ) {
                                    helper.AwsGet(
                                        staticResource.queryUrl,
                                        {
                                            dataId: rv.Data.data
                                                .Agency_Contact__r
                                                .AWS_Data_Id__c
                                        },
                                        function (data) {
                            if (rv.Data.data.Agency_Contact__r.AWS_Data_Id__c) {
                                helper.AwsGet(staticResource.queryUrl, {
                                    dataId : rv.Data.data.Agency_Contact__r.AWS_Data_Id__c
                                }, function(data){
                                            console.log('data = ' + data);
                                            if (data.object) {
                                                component.set(
                                                    'v.ac_name',
                                                    data.object.name
                                                );
                                        component.set('v.ac_name',data.object.name);
                                            }
                                        },
                                        staticResource.token
                                    );
                                }, staticResource.token);
                                }
                            }
                            // }, staticResource.token);
@@ -118,14 +95,7 @@
                            for (let s of layout) {
                                for (let c of s.layoutColumns) {
                                    for (let item of c.layoutItems) {
                                        if (
                                            rv.Data &&
                                            fields.hasOwnProperty(item.field) &&
                                            fields[item.field].References &&
                                            fields[item.field].References.map(
                                                (m) => m.value
                                            ).indexOf(rv.Data.pidType) > -1
                                        ) {
                                    if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){
                                            item.value = pid;
                                        }
                                    }
@@ -136,25 +106,31 @@
                        }
                        // component.set('v.fields',fields);
                        // component.set('v.staticResource',staticResource);
                        component.set('v.showSpinner', false);
                    //component.set("v.showSpinner", false);
                    } else {
                        component.set('v.showSpinner', false);
                    component.set("v.showSpinner", false);
                        helper.ShowToast({
                            message: rv.Message,
                            type: 'error'
                        "message" : rv.Message,
                        "type" : "error"
                        });
                    }
                } else {
                    component.set('v.showSpinner', false);
                component.set("v.showSpinner", false);
                    helper.ShowToast({
                        message: 'Init error',
                        type: 'error'
                    "message" : "Init error",
                    "type" : "error"
                    });
                }
            }
        );
        });
    },
    handleLoad: function(component, event, helper) {
        console.log('recordEditForm handleSuccess')
        component.set("v.showSpinner", false);
    },
    saveClick: function (component, event, helper) {
        let staticResource = component.get('v.staticResource');
        let record_id = component.get('v.recordId');
        let record_type_id = component.get('v.recordTypeId');
@@ -163,7 +139,7 @@
        let url = staticResource.newUrl;
        let payloadPi = {};
        if (record_id && !isClone) {
            url = staticResource.updateUrl;
            url = staticResource.updateUrl
            payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c;
        }
        let layout = component.get('v.layout');
@@ -174,12 +150,12 @@
            for (let c of s.layoutColumns) {
                for (let item of c.layoutItems) {
                    if (pi_fields_map.hasOwnProperty(item.field)) {
                        payloadPi[pi_fields_map[item.field].AWS_Field_API__c] =
                            item.value;
                        payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value;
                    }
                    if (item.behavior == 'Required' && !item.value) {
                        let fs = component.find('field');
                    if (item.behavior == "Required" && !item.value ) {
                        let fs = component.find("field");
                        for (let fi in fs) {
                            let f = fs[fi];
                            if (!f.get('v.value')) {
@@ -192,8 +168,8 @@
            }
        }
        component.set('v.showSpinner', true);
        debugger;
        component.set("v.showSpinner", true);
        debugger
        let data = {};
        if (record_id && !isClone) {
            data.Id = record_id;
@@ -201,62 +177,55 @@
        for (let s of layout) {
            for (let c of s.layoutColumns) {
                for (let item of c.layoutItems) {
                    if (item.field && item.behavior != 'Readonly') {
                    if(item.field && item.behavior != "Readonly"){
                        data[item.field] = item.value;
                    }
                }
            }
        }
        let x = 1;
        helper.CallBackAction(
            component,
            'Save',
            {
        helper.CallBackAction(component,'Save',{
                data: data,
                transId: '1',
                recordTypeId: record_type_id
            },
            function (data) {
                component.set('v.showSpinner', false);
                if (data.getState() == 'SUCCESS') {
                     },function(data){
                        component.set("v.showSpinner", false);
                        if(data.getState() == "SUCCESS"){
                    var rv = data.getReturnValue();
                    console.log(rv);
                    var sfId = null;
                    if (rv.IsSuccess) {
                        sfId = rv.Data.recordId;
                        helper.ShowToast({
                            message: '成功',
                            type: 'success'
                                    "message" : "成功",
                                    "type" : "success"
                        });
                        if (record_id) {
                            $A.get('e.force:closeQuickAction').fire();
                                    $A.get("e.force:closeQuickAction").fire();
                            $A.get('e.force:refreshView').fire();
                        } else {
                            var sObjectEvent = $A.get(
                                'e.force:navigateToSObject'
                            );
                                    var sObjectEvent = $A.get("e.force:navigateToSObject");
                            sObjectEvent.setParams({
                                recordId: sfId
                            });
                                        "recordId": sfId
                                    })
                            sObjectEvent.fire();
                        }
                    } else {
                        helper.ShowToast({
                            message: rv.Message,
                            type: 'error'
                                    "message" : rv.Message,
                                    "type" : "error"
                        });
                    }
                } else {
                    helper.ShowToast({
                        message: 'Init error',
                        type: 'error'
                                "message" : "Init error",
                                "type" : "error"
                    });
                }
            }
        );
                     })
    },
    cancelClick: function (component, event, helper) {
        $A.get('e.force:closeQuickAction').fire();
        $A.get("e.force:closeQuickAction").fire();
        //component.set("v.showNewAgencyContact", false);
    },
    searchAgencyContact: function (component, event, helper) {
@@ -275,8 +244,7 @@
                    let contactInfo = new Object();
                    //需要修改
                    contactInfo.Name = data.object[i].name;
                    contactInfo.DoctorDivision1 =
                        data.object[i].doctorDivision1;
                    contactInfo.DoctorDivision1 = data.object[i].doctorDivision1;
                    contactInfo.AWSDataId = data.object[i].dataId;
                    contactInfo.Type = data.object[i].type;
                    contactInfo.pi = true;
@@ -294,41 +262,44 @@
            for (let c of s.layoutColumns) {
                for (let item of c.layoutItems) {
                    if (item.field == 'Agency_Hospital__c' && !item.value) {
                        console.log('item.value = ' + item.value);
                        console.log('item.value = ' + item.value)
                        helper.ShowToast({
                            message: '请先选择经销商医院',
                            type: 'warning'
                            "message" : "请先选择经销商医院",
                            "type" : "warning"
                        });
                        return;
                        return
                    }else if(item.field == 'Agency_Hospital__c' && item.value){
                        component.set('v.agencyHospitalId',item.value)
                        console.log('v.agencyHospitalId item.value = ' + item.value)
                    }
                }
            }
        }
        // Set isModalOpen true
        component.set('v.isModalOpen', true);
        component.set("v.isModalOpen", true);
        component.find('button').set('v.disabled', true);
        helper.preparePayloadForSearchAgencyContact(component, event, helper);
    },
    closeModel: function (component, event, helper) {
        // Set isModalOpen false
        component.set('v.isModalOpen', false);
        component.set("v.isModalOpen", false);
    },
    saveDetails: function (component, event, helper) {
        //do something
        component.set('v.isModalOpen', false);
        component.set("v.isModalOpen", false);
    },
    showNewAgency: function (component, event, helper) {
        //do something
        component.set('v.showNewAgencyContact', true);
        component.set("v.showNewAgencyContact", true);
    },
    closeAgencyContact: function (component, event, helper) {
        var message = event.getParam('showNewAgencyContact');
        component.set('v.showNewAgencyContact', message);
        var message = event.getParam("showNewAgencyContact");
        component.set("v.showNewAgencyContact", message);
        component.find('button').set('v.disabled', true);
        helper.resetTable();
        helper.preparePayloadForSearchAgencyContact(component, event, helper);
    }
});
       },
})
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js
@@ -1,8 +1,6 @@
({
    CallBackAction: function (component, action_name, para, callback) {
        var action = component.get(
            'c.' + action_name.trimStart().replace('c.', '')
        );
        var action = component.get("c." + action_name.trimStart().replace("c.",""));
        if (para) {
            action.setParams(para);
        }
@@ -15,70 +13,52 @@
        $A.enqueueAction(action);
    },
    ShowToast: function (paras) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams(paras);
        toastEvent.fire();
    },
    AwsPost: function (postURL, data, callback, token) {
        let payloadForNewPI = '';
        if (typeof data == 'string') {
        if(typeof(data) == 'string'){
            payloadForNewPI = data;
        } else {
            payloadForNewPI = JSON.stringify(data);
        }
        AWSService.post(
            postURL,
            payloadForNewPI,
            function (result) {
        AWSService.post(postURL,payloadForNewPI,function(result) {
                //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
                if (callback) callback(result);
            },
            token
        );
        },token);
    },
    AwsGet: function (url, data, callback, token) {
        if (typeof data == 'string') {
        if(typeof(data) == 'string'){
            url += data;
        } else {
            let i = 0;
            for (let p in data) {
                url += i++ ? '&' : '?';
                url += (i++) ? '&' : '?';
                url += p + '=' + data[p];
            }
        }
        AWSService.get(
            url,
            function (result) {
        AWSService.get(url,function(result){
                //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
                if (callback) callback(result);
        },token);
            },
            token
        );
    },
    refreshTable: function (
        component,
        event,
        helper,
        cols,
        contactInfoList,
        contactsInfo
    ) {
    refreshTable : function(component, event, helper,cols,contactInfoList,contactsInfo){
        let that = this;
        let myTableDiv = document.getElementById('QueryResult');
        let myTableDiv = document.getElementById("QueryResult");
        let table = document.createElement('TABLE');
        table.border = '1';
        table.id = 'table';
        table.setAttribute(
            'class',
            'slds-table slds-table_cell-buffer slds-table_bordered'
        );
        table.id = 'customTable';
        table.setAttribute('class','slds-table slds-table_cell-buffer slds-table_bordered');
        let tableBody = document.createElement('TBODY');
        table.appendChild(tableBody);
        let headerTR = document.createElement('TR');
        headerTR.setAttribute('class', 'slds-line-height_reset');
        let colsHeader = ['姓名', '医院', '医生区分(职务)', '分类'];
        let colsHeader = [' ','姓名','医院', '医生区分(职务)','分类'];
        tableBody.appendChild(headerTR);
        for (let i = 0; i < colsHeader.length; i++) {
            let td = document.createElement('TH');
@@ -92,13 +72,31 @@
            let tr = document.createElement('TR');
            tableBody.appendChild(tr);
            let contactInfoTemp = contactInfoList[i];
            //再加一列选择button
            debugger
            let td = document.createElement('TD');
            td.width = '75';
            td.id = contactsInfo[contactInfoTemp.AWSDataId].Id;
            console.log('contactInfoTemp = ' + JSON.stringify(contactInfoTemp))
            // 创建按钮元素
            var button = document.createElement('button');
            button.classList.add('slds-button','slds-button_neutral');
            button.id = contactInfoTemp.sfRecordId != null ? contactInfoTemp.sfRecordId : '';
            // 设置按钮的文本内容
            var buttonText = document.createTextNode('选择');
            button.appendChild(buttonText);
            button.addEventListener("click", function (obj) {
                that.redirectToParentPage(component, event, helper, obj);
            });
            button.value = contactInfoTemp[cols[0]] != null ? contactInfoTemp[cols[0]] : ''
            td.appendChild(button);
            tr.appendChild(td);
            for (let j = 0; j < cols.length; j++) {
                let td = document.createElement('TD');
                td.width = '75';
                if (contactInfoTemp.pi) {
                    if (
                        !contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)
                    ) {
                    if (!contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)) {
                        continue;
                    }
                    if (j == 0 && contactsInfo[contactInfoTemp.AWSDataId]) {
@@ -107,31 +105,21 @@
                } else {
                    td.id = contactInfoTemp.sfRecordId;
                }
                td.appendChild(
                    document.createTextNode(
                        contactInfoTemp[cols[j]] != null
                            ? contactInfoTemp[cols[j]]
                            : ''
                    )
                );
                if (cols[j] == 'Name') {
                    td.addEventListener('click', function (obj) {
                        that.redirectToParentPage(
                            component,
                            event,
                            helper,
                            obj
                        );
                    });
                }
                td.appendChild(document.createTextNode(contactInfoTemp[cols[j]]!=null?contactInfoTemp[cols[j]]:''));
                // if (cols[j] == 'Name') {
                //     td.addEventListener("click", function (obj) {
                //         that.redirectToParentPage(component, event, helper,obj);
                //     });
                // }
                tr.appendChild(td);
            }
        }
        that.resetTable();
        myTableDiv.appendChild(table);
        component.find('button').set('v.disabled', false);
    },
    redirectToParentPage: function (component, event, helper, obj) {
        let agencyContactName = obj.currentTarget.innerText;
        let agencyContactName = obj.currentTarget.value;
        let id = obj.currentTarget.id;
        component.set('v.ac_name', agencyContactName);
        let layout = component.get('v.layout');
@@ -144,18 +132,20 @@
                }
            }
        }
        component.set('v.isModalOpen', false);
        component.set("v.isModalOpen", false);
    },
    resetTable: function () {
        let queryResult = document.getElementById('QueryResult');
        let table = document.getElementsByTagName('table');
        debugger;
        console.log('table:' + table);
        debugger;
        if (table.length > 1) {
            for (var i = 1; i < table.length; i++) {
                queryResult.removeChild(table[i]);
            }
        // let queryResult = document.getElementById('QueryResult');
        // let table = document.getElementById('customTable');
        // console.log('table:' + table);
        // if(table.length > 1){
        //     for(var i=1;i<table.length;i++){
        //         queryResult.removeChild(table[i])
        //     }
        // }
        let customTable = document.getElementById('customTable');
        if(customTable){
            customTable.parentNode.removeChild(customTable);
        }
    },
    preparePayloadForSearchAgencyContact: function (component, event, helper) {
@@ -177,8 +167,8 @@
        }
        var action = component.get('c.getAWSDataIds');
        action.setParams({
            agencyHospitalId: agencyHospitalId,
            accountId: accountId
            "agencyHospitalId" : agencyHospitalId,
            "accountId" : accountId
        });
        action.setCallback(this, function (response) {
            var state = response.getState();
@@ -187,11 +177,12 @@
                if (rv.Data.length == 0) {
                    component.find('button').set('v.disabled', false);
                    helper.ShowToast({
                        message: '该经销商医院下面没有客户人员',
                        type: 'warning'
                        "message" : "该经销商医院下面没有客户人员",
                        "type" : "warning"
                    });
                    return;
                    return
                }
                component.set('v.showSpinner',true);
                let searchPayload = new Object();
                let searchAgencyContactName = component.get('v.searchKeyWord');
                searchPayload.dataIds = rv.Data;
@@ -200,28 +191,19 @@
                let staticResource = component.get('v.staticResource');
                let url = staticResource.searchUrl;
                let token = staticResource.token;
                this.AwsPost(
                    url,
                    searchPayload,
                    function (data) {
                this.AwsPost(url,searchPayload,function(data){
                        if (data.success) {
                            let cols = [
                                'Name',
                                'AgencyHospital',
                                'DoctorDivision1',
                                'Type'
                            ];
                        let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
                            let contactInfoList = [];
                            let awsDataIds = [];
                            if (data.object.length == 0) {
                                component
                                    .find('button')
                                    .set('v.disabled', false);
                            component.find('button').set('v.disabled', false);
                                that.ShowToast({
                                    message: '没有查询到该客户人员',
                                    type: 'warning'
                                "message" : '没有查询到该客户人员',
                                "type" : "warning"
                                });
                                return;
                            component.set('v.showSpinner',false);
                            return
                            }
                            for (var i = 0; i < data.object.length; i++) {
                                if (data.object[i].dataId) {
@@ -229,10 +211,8 @@
                                    //需要修改
                                    contactInfo.Name = data.object[i].name;
                                    contactInfo.AgencyHospital = '';
                                    contactInfo.DoctorDivision1 =
                                        data.object[i].doctorDivision1;
                                    contactInfo.AWSDataId =
                                        data.object[i].dataId;
                                contactInfo.DoctorDivision1 = data.object[i].doctorDivision1;
                                contactInfo.AWSDataId = data.object[i].dataId;
                                    contactInfo.Type = data.object[i].type;
                                    contactInfo.pi = true;
                                    awsDataIds.push(contactInfo.AWSDataId);
@@ -241,101 +221,64 @@
                                }
                            }
                            //let AWSIdToSFIdMapValue = {};
                            var searchAgencyContacts = component.get(
                                'c.searchAgencyContacts'
                            );
                        debugger
                        var searchAgencyContacts = component.get('c.searchAgencyContacts');
                            searchAgencyContacts.setParams({
                                awsAgencyContactIds: JSON.stringify(awsDataIds),
                                agencyHospitalId: agencyHospitalId,
                                accountId: accountId
                            "awsAgencyContactIds" : JSON.stringify(awsDataIds),
                            "agencyHospitalId" : agencyHospitalId,
                            "accountId" : accountId
                            });
                            searchAgencyContacts.setCallback(
                                this,
                                function (response) {
                        // 延迟执行一段代码
                        setTimeout(function() {
                            // 需要延迟执行的代码
                           // 创建一个鼠标点击事件
                            var event = new MouseEvent('click', {
                                bubbles: true,
                                cancelable: true,
                                view: window
                            });
                            // 触发元素的点击事件
                            var element = document.getElementById('NewAgencyContact');
                            for(var i = 0;i<100;i++){
                                element.dispatchEvent(event);
                            }
                        }, 1000); // 延迟 1000 毫秒(即 1 秒)
                        searchAgencyContacts.setCallback(that,function(response){
                                    var state = response.getState();
                                    if (state == 'SUCCESS') {
                                        var rv = response.getReturnValue();
                                        if (rv.IsSuccess) {
                                            let contactsInfo = '';
                                            if (rv.Data) {
                                                contactsInfo = JSON.parse(
                                                    rv.Data.replace(
                                                        /(&quot\;)/g,
                                                        '"'
                                                    )
                                                );
                                                if (
                                                    Object.keys(contactsInfo)
                                                        .length > 0
                                                ) {
                                                    for (
                                                        let i = 0;
                                                        i <
                                                        contactInfoList.length;
                                                        i++
                                                    ) {
                                                        let contactFromSF =
                                                            contactsInfo[
                                                                contactInfoList[
                                                                    i
                                                                ]['AWSDataId']
                                                            ];
                                        contactsInfo = JSON.parse(rv.Data.replace(/(&quot\;)/g,"\""));
                                        if(Object.keys(contactsInfo).length>0){
                                            for(let i=0;i<contactInfoList.length;i++){
                                                let contactFromSF = contactsInfo[contactInfoList[i]['AWSDataId']];
                                                        if (contactFromSF) {
                                                            contactInfoList[
                                                                i
                                                            ].sfRecordId =
                                                                contactFromSF[
                                                                    'Id'
                                                                ];
                                                            if (
                                                                contactFromSF[
                                                                    'Agency_Hospital__r'
                                                                ]
                                                            ) {
                                                                contactInfoList[
                                                                    i
                                                                ].AgencyHospital =
                                                                    contactFromSF[
                                                                        'Agency_Hospital__r'
                                                                    ]['Name'];
                                                    contactInfoList[i].sfRecordId = contactFromSF['Id'];
                                                    if(contactFromSF['Agency_Hospital__r']){
                                                         contactInfoList[i].AgencyHospital = contactFromSF['Agency_Hospital__r']['Name'];
                                                            }
                                                            if (
                                                                contactFromSF[
                                                                    'Department_Class__r'
                                                                ]
                                                            ) {
                                                                contactInfoList[
                                                                    i
                                                                ].AgencyHospital =
                                                                    contactFromSF[
                                                                        'Department_Class__r'
                                                                    ]['Parent'][
                                                                        'Name'
                                                                    ];
                                                    if(contactFromSF['Department_Class__r']){
                                                        contactInfoList[i].AgencyHospital = contactFromSF['Department_Class__r']['Parent']['Name'];
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            that.refreshTable(
                                                component,
                                                event,
                                                helper,
                                                cols,
                                                contactInfoList,
                                                contactsInfo
                                            );
                                    that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo);
                                    component.set('v.showSpinner',false);
                                        }
                                    }
                                }
                            );
                        });
                            $A.enqueueAction(searchAgencyContacts);
                    }else{
                        component.set('v.showSpinner',false);
                        }
                    },
                    token
                );
                },token);
            }
        });
        $A.enqueueAction(action);
    }
});
})
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js
@@ -1,3 +1,5 @@
({
    // Your renderer method overrides go here
});
})
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp
@@ -1,31 +1,13 @@
<aura:component
    controller="RetrospectiveWeeklyReportController"
<aura:component controller="RetrospectiveWeeklyReportController"
    implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes,lightning:availableForFlowScreens"
    access="global"
>
    access="global">
    <ltng:require styles="{!$Resource.multilineToastCSS}" /> 
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    <aura:handler
        event="c:strike_evt"
        action="{!c.createAopp}"
        name="strike_evt_addNewRecord"
    />
    <aura:attribute
        name="data"
        type="Agency_Report__c"
        default="{sobjectType:'Agency_Report__c'}"
    />
    <aura:attribute
        name="oppdata"
        type="Agency_Opportunity__c"
        default="{sobjectType:'Agency_Opportunity__c'}"
    />
    <aura:attribute
        name="acondata"
        type="Agency_Contact__c"
        default="{sobjectType:'Ag
    ency_Contact__c'}"
    />
    <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord" />
    <aura:attribute name="data" type="Agency_Report__c" default="{sobjectType:'Agency_Report__c'}" />
    <aura:attribute name="oppdata" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}" />
    <aura:attribute name="acondata" type="Agency_Contact__c" default="{sobjectType:'Ag
    ency_Contact__c'}" />
    <aura:attribute name="successMessage" type="String" />
    <aura:attribute name="etEng" type="String" />
    <aura:attribute name="errorMessage" type="String" />
@@ -44,11 +26,7 @@
    <aura:attribute name="docmap" type="Map" />
    <aura:attribute name="login" type="Boolean" default="false" />
    <aura:attribute name="loginEdit" type="Boolean" default="false" />
    <aura:attribute
        name="modal_import_spinner"
        type="Boolean"
        default="false"
    />
    <aura:attribute name="modal_import_spinner" type="Boolean" default="false" />
    <aura:attribute name="loadOpp" type="Boolean" default="false" />
    <aura:attribute name="reportPageData" type="Map" />
    <aura:attribute name="selectbody" type="String" />
@@ -68,31 +46,19 @@
    <!-- 使用产品1(产品型号) -->
    <aura:attribute name="UseProduct1" type="string" default="" />
    <aura:attribute name="UseProduct1s" type="string" default="" />
    <aura:handler
        name="change"
        value="{!v.UseProduct1}"
        action="{!c.UseProduct1Change}"
    />
    <aura:handler name="change" value="{!v.UseProduct1}" action="{!c.UseProduct1Change}" />
    <aura:attribute name="UseProduct1List" type="Map" />
    <aura:attribute name="UseProduct1Id" type="string" default="" />
    <!-- 使用产品2 -->
    <aura:attribute name="UseProduct2" type="string" default="" />
    <aura:attribute name="UseProduct2s" type="string" default="" />
    <aura:handler
        name="change"
        value="{!v.UseProduct2}"
        action="{!c.UseProduct2Change}"
    />
    <aura:handler name="change" value="{!v.UseProduct2}" action="{!c.UseProduct2Change}" />
    <aura:attribute name="UseProduct2List" type="Map" />
    <aura:attribute name="UseProduct2Id" type="string" default="" />
    <!-- 使用产品3 -->
    <aura:attribute name="UseProduct3" type="string" default="" />
    <aura:attribute name="UseProduct3s" type="string" default="" />
    <aura:handler
        name="change"
        value="{!v.UseProduct3}"
        action="{!c.UseProduct3Change}"
    />
    <aura:handler name="change" value="{!v.UseProduct3}" action="{!c.UseProduct3Change}" />
    <aura:attribute name="UseProduct3List" type="Map" />
    <aura:attribute name="UseProduct3Id" type="string" default="" />
    <!--SWAG-CF58C3 fy start -->
@@ -105,6 +71,7 @@
    <aura:attribute name="contactawsurl" type="Map" />
    <aura:attribute name="allselectlistAgencyPerson" type="Map" />
    <!--SWAG-CF58C3 fy end -->
    <aura:attribute name="doctor_list" type="Map" />
    <!-- <aura:attribute name="doctor_title" type="String" /> -->
@@ -132,28 +99,12 @@
    <aura:attribute name="UserProType" type="String" />
    <!-- 科室 -->
    <aura:attribute name="opportunity_cfilter" type="String" />
    <aura:attribute
        name="update_select_report_data_id"
        type="String"
        default=""
    />
    <aura:attribute name="update_select_report_data_id" type="String" default="" />
    <!-- 批量添加日报 start-->
    <aura:attribute name="reports_date" type="List" />
    <aura:attribute
        name="TableContent"
        type="String"
        description=" Show the Result class"
    />
    <aura:attribute
        name="TableContent2"
        type="String"
        description=" Show the Result class"
    />
    <aura:attribute
        name="TargetFileName"
        type="String"
        description="Name of the file"
    />
    <aura:attribute name="TableContent" type="String" description=" Show the Result class" />
    <aura:attribute name="TableContent2" type="String" description=" Show the Result class" />
    <aura:attribute name="TargetFileName" type="String" description="Name of the file" />
    <aura:attribute name="tableheaders" type="Object[]" />
    <aura:attribute name="fileContentData" type="String" />
    <aura:attribute name="filename" type="String" />
@@ -183,11 +134,7 @@
                        <div class="slds-spinner__dot-b"></div>
                </div>
            </div> -->
            <div
                class="slds-spinner_container"
                id="spinner"
                style="position: fixed; top: 123px"
            >
            <div class="slds-spinner_container" id="spinner" style="position: fixed;top:123px;">
                <div
                    role="status"
                    class="slds-spinner slds-spinner_medium slds-spinner_brand"
@@ -201,230 +148,123 @@
    </aura:renderIf>
    <div aura:id="report" id="report">
        <div class="slds-grid slds-wrap slds-grid--pull-padded">
            <div style="width: 150px"></div>
            <div style="width: 150px;"></div>
            <div
                class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12 fontSize"
            >
                class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12 fontSize">
                周
            </div>
            <div
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 fontSize"
            >
                <ui:inputSelect
                    aura:id="select_date"
                    class="slds-select"
                    change="{!c.select_date_change}"
                />
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 fontSize">
                <ui:inputSelect aura:id="select_date" class="slds-select" change="{!c.select_date_change}" />
            </div>
            <!-- 代理店担当者 -->
            <div
                class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"
                style="display: none"
            >
            <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"
                style="display: none;">
                {!v.fieldsmap.Person_In_Charge2__c}
            </div>
            <div
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"
                style="display: none"
            >
                <ui:inputSelect
                    aura:id="select_agency_person"
                    class="slds-select agency_person_select"
                    change="{!c.select_agency_change}"
                />
            <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"
                style="display: none;">
                <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select"
                    change="{!c.select_agency_change}" />
            </div>
            <div style="width: 100px"></div>
            <div
                class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
                style="display: contents"
            >
                <ui:button
                    aura:id="new_button"
                    label="新建"
                    press="{!c.new_report}"
                    class="buttonFontSize"
                />
            <div style="width: 100px;">
            </div>
            <div
                style="width: 400px"
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12"
            >
                <ui:button
                    aura:id="copy_button"
                    label="复制"
                    press="{!c.copy_button}"
                    disabled="true"
                    class="buttonFontSize"
                />
                <ui:button
                    aura:id="delete_button"
                    label="删除"
                    press="{!c.delete_button}"
                    disabled="true"
                    class="buttonFontSize"
                />
                <ui:button
                    aura:id="import"
                    label="导入"
                    press="{!c.import}"
                    class="buttonFontSize"
                />
                <ui:button
                    aura:id="export"
                    label="导出"
                    press="{!c.export_condition}"
                    class="buttonFontSize"
                />
            <div class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
                style="display: contents;">
                <ui:button aura:id="new_button" label="新建" press="{!c.new_report}" class="buttonFontSize" />
            </div>
            <div style="width: 400px;"
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12">
                <ui:button aura:id="copy_button" label="复制" press="{!c.copy_button}" disabled="true"
                    class="buttonFontSize" />
                <ui:button aura:id="delete_button" label="删除" press="{!c.delete_button}" disabled="true"
                    class="buttonFontSize" />
                <ui:button aura:id="import" label="导入" press="{!c.import}" class="buttonFontSize" />
                <ui:button aura:id="export" label="导出" press="{!c.export_condition}" class="buttonFontSize" />
                <!-- <ui:button aura:id="returnbutton" label="返回" press="{!c.return_main_page}" /> -->
            </div>
        </div>
    </div>
    <div aura:id="report_list" class="report_list_area">
        <div
            class="slds-table--edit_container slds-is-relative"
            style="padding-left: 50px"
        >
            <table
                class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
                role="grid"
                style="width: 66.75rem"
            >
        <div class="slds-table--edit_container slds-is-relative" style="padding-left: 50px;">
            <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
                role="grid" style="width:66.75rem;">
                <thead>
                    <tr class="slds-line-height--reset">
                        <th
                            class="table_header slds-text-title--caps fontSize"
                            style="width: 250px"
                        >
                            <span class="slds-truncate" title="Name"
                                >日报编号</span
                            >
                        <th class="table_header slds-text-title--caps fontSize" style="width:250px">
                            <span class="slds-truncate" title="Name">日报编号</span>
                        </th>
                        <th class="table_header slds-text-title--caps fontSize">
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.Person_In_Charge2__c}</span
                            >
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Person_In_Charge2__c}</span>
                            <!-- {!v.fieldsmap.Person_In_Charge2__c}  担当-->
                        </th>
                        <th
                            class="table_header slds-text-title--caps fontSize"
                            style="width: 250px"
                        >
                        <th class="table_header slds-text-title--caps fontSize" style="width:250px">
                            <span class="slds-truncate" title="Name">医院</span>
                        </th>
                        <th class="table_header slds-text-title--caps fontSize">
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.Department_Cateogy__c}</span
                            >
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
                            <!-- {!v.fieldsmap.Department_Cateogy__c}    科室-->
                        </th>
                        <th class="table_header slds-text-title--caps fontSize">
                            <span class="slds-truncate" title="Name"
                                >拜访人</span
                            >
                            <span class="slds-truncate" title="Name">拜访人</span>
                            <!-- {!v.fieldsmap.doctor2__c}    拜访人 -->
                        </th>
                        <th class="table_header slds-text-title--caps fontSize">
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.DealerPersonnel__c}</span
                            >
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.DealerPersonnel__c}</span>
                            <!-- {!v.fieldsmap.visitor_title__c}   职位-->
                        </th>
                        <th class="table_header slds-text-title--caps fontSize">
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.WorkMark__c}</span
                            >
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.WorkMark__c}</span>
                            <!-- {!v.fieldsmap.visitor_title__c}   职位-->
                        </th>
                    </tr>
                </thead>
                <tbody>
                    <aura:iteration
                        items="{!v.reports}"
                        var="item"
                        indexVar="index"
                    >
                    <aura:iteration items="{!v.reports}" var="item" indexVar="index">
                        <tr class="slds-hint-parent">
                            <td role="gridcell" class="slds-cell-edit fontSize">
                                <ui:inputRadio
                                    class="report_radio"
                                    name="report_radio"
                                    label="{!item.Name}"
                                    change="{!c.change_report_radio}"
                                />
                                <lightning:buttonIcon
                                    class="edit_button"
                                    iconName="utility:edit"
                                    size="small"
                                    alternativeText="edit"
                                    value="{!index}"
                                    onclick="{!c.edit_button}"
                                />
                                <ui:inputRadio class="report_radio" name="report_radio" label="{!item.Name}"
                                    change="{!c.change_report_radio}" />
                                <lightning:buttonIcon class="edit_button" iconName="utility:edit" size="small"
                                    alternativeText="edit" value="{!index}" onclick="{!c.edit_button}" />
                            </td>
                            <td role="gridcell" class="slds-cell-edit fontSize">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.Person_In_Charge2__r.Name}"
                                        >{!item.Person_In_Charge2__r.Name}</span
                                    >
                                    <span class="slds-truncate"
                                        title="{!item.Person_In_Charge2__r.Name}">{!item.Person_In_Charge2__r.Name}</span>
                                </span>
                            </td>
                            <td
                                scope="row"
                                tabindex="0"
                                class="slds-cell-edit fontSize"
                            >
                                <div
                                    class="slds-grid slds-grid--align-spread"
                                    style="word-wrap: break-word"
                                >
                            <td scope="row" tabindex="0" class="slds-cell-edit fontSize">
                                <div class="slds-grid slds-grid--align-spread" style="word-wrap: break-word;">
                                    {!item.Agency_Hospital__r.Name}
                                </div>
                            </td>
                            <td role="gridcell" class="slds-cell-edit fontSize">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.Department_Cateogy_text__c}"
                                        >{!item.Department_Cateogy_text__c}</span
                                    >
                                    <span class="slds-truncate"
                                        title="{!item.Department_Cateogy_text__c}">{!item.Department_Cateogy_text__c}</span>
                                </span>
                            </td>
                            <td role="gridcell" class="slds-cell-edit fontSize">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.doctor2__r.Name}"
                                    >
                                        <span class="encrypt"
                                            >{!item.doctor2__r.Name}</span
                                        >
                                        <span class="decrypt"
                                            >{!item.doctor2__r.awsdata.name}</span
                                        >
                                    <span class="slds-truncate" title="{!item.doctor2__r.Name}">
                                        <span class="encrypt">{!item.doctor2__r.Name}</span>
                                        <span class="decrypt">{!item.doctor2__r.awsdata.name}</span>
                                    </span>
                                </span>
                            </td>
                            <td role="gridcell" class="slds-cell-edit fontSize">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.DealerPersonnel__r.Name}"
                                        >{!item.DealerPersonnel__r.Name}</span
                                    >
                                    <span class="slds-truncate"
                                        title="{!item.DealerPersonnel__r.Name}">{!item.DealerPersonnel__r.Name}</span>
                                </span>
                            </td>
                            <td role="gridcell" class="slds-cell-edit fontSize">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.WorkMark__c}"
                                    >
                                        <lightning:input
                                            type="checkbox"
                                            checked="{!item.WorkMark__c}"
                                            disabled="true"
                                        />
                                    <span class="slds-truncate" title="{!item.WorkMark__c}">
                                        <lightning:input type="checkbox" checked="{!item.WorkMark__c}"
                                            disabled="true" />
                                    </span>
                                </span>
                            </td>
@@ -435,45 +275,29 @@
        </div>
        <aura:renderIf isTrue="{!v.report_count > 0}">
            <aura:set attribute="else">
                <div class="no_data_area">{!v.list_message}</div>
                <div class="no_data_area">
                    {!v.list_message}
                </div>
            </aura:set>
        </aura:renderIf>
    </div>
    <!-- 批量添加日报 start-->
    <div
        aura:id="modal_import"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
        aria-labelledby="headerTarget"
    >
    <div aura:id="modal_import" role="dialog" tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
        <aura:renderIf isTrue="{!v.modal_import_spinner}">
            <lightning:spinner alternativeText="Loading" size="medium" />
        </aura:renderIf>
        <div
            class="slds-modal slds-fade-in-open slds-hide"
            aura:id="successDiv01"
        >
        <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01">
            <!-- <ui:inputText aura:id="articleURL" /> -->
            <div class="demo-only" style="height: 8rem">
            <div class="demo-only" style="height: 8rem;">
                <div class="slds-notify_container slds-is-relative">
                    <div
                        class="slds-notify slds-notify_toast slds-theme_success"
                        role="alert"
                    >
                    <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
                        <div class="slds-m-left_xx-large">
                            <div
                                class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"
                            >
                                <lightning:icon
                                    alternativeText="Success"
                                    iconName="utility:success"
                                    size="small"
                                    class="buttonColor slds-m-right_small"
                                />
                                <h2 class="slds-text-heading_small">
                                    {!v.successMessage}
                                </h2>
                                class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
                                <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
                                    class="buttonColor slds-m-right_small" />
                                <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
                            </div>
                        </div>
                    </div>
@@ -501,241 +325,124 @@
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <h4 id="headerTarget" class="slds-float--left"></h4>
                <h2 id="headerTarget" class="slds-text-heading--medium">
                    日报批量导入
                </h2>
                <ui:button
                    aura:id="close_button"
                    label="关闭"
                <h2 id="headerTarget" class="slds-text-heading--medium">日报批量导入</h2>
                <ui:button aura:id="close_button" label="关闭"
                    class="close_button slds-button slds-button--neutral slds-order--1 buttonFontSize"
                    press="{!c.close_import}"
                />
                    press="{!c.close_import}" />
            </div>
            <div
                class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium fontSize"
            >
            <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium fontSize">
                <aura:if isTrue="{!v.showMain}">
                    <div>
                        <lightning:input
                            type="file"
                            class="file"
                            uara:id="file"
                            onchange="{!c.CreateRecord}"
                        />
                        <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" />
                    </div>
                    <aura:set attribute="else">
                        <ui:outputRichText
                            class="uiOutputRichText slds-m--around-large fontSize"
                            value="{!v.TableContent}"
                        />
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="保存"
                                variant="brand"
                                onclick="{!c.processFileContent}"
                                class="buttonFontSize"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.cancel}"
                                class="buttonFontSize"
                            />
                        <ui:outputRichText class="uiOutputRichText slds-m--around-large fontSize"
                            value="{!v.TableContent}" />
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="保存" variant="brand" onclick="{!c.processFileContent}"
                                class="buttonFontSize" />
                            <lightning:button label="取消" variant="brand" onclick="{!c.cancel}" class="buttonFontSize" />
                        </div>
                        <aura:if isTrue="{!v.showErrorInfo}">
                            <div
                                class="slds-p-around--large slds-align--absolute-center"
                            >
                                <lightning:button
                                    label="导出错误信息"
                                    variant="brand"
                                    onclick="{!c.exportErrorInfo}"
                                />
                            <div class="slds-p-around--large slds-align--absolute-center">
                                <lightning:button label="导出错误信息" variant="brand" onclick="{!c.exportErrorInfo}" />
                            </div>
                            <div
                                class="slds-p-around--large slds-align--absolute-center"
                            >
                            <div class="slds-p-around--large slds-align--absolute-center">
                                <div style="height: 300px; overflow-x: scroll">
                                    <lightning:datatable
                                        keyField="id"
                                        data="{! v.errorData }"
                                        columns="{! v.errorColumns }"
                                        hideCheckboxColumn="true"
                                    />
                                    <lightning:datatable keyField="id" data="{! v.errorData }"
                                        columns="{! v.errorColumns }" hideCheckboxColumn="true" />
                                </div>
                            </div>
                        </aura:if>
                    </aura:set>
                </aura:if>
            </div>
        </div>
    </div>
    <div
        aura:id="modal_importbg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_importbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <!-- 批量添加日报 end-->
    <!-- 批量导出日报 start-->
    <div
        aura:id="modal_export"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
    >
    <div aura:id="modal_export" role="dialog" tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large">
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <h4 id="headerTarget" class="slds-float--left"></h4>
                <h2 id="headerTarget" class="slds-text-heading--medium">
                    日报批量导出
                </h2>
                <ui:button
                    aura:id="close_button"
                    label="关闭"
                    class="close_button slds-button slds-button--neutral slds-order--1"
                    press="{!c.close_export}"
                />
                <h2 id="headerTarget" class="slds-text-heading--medium">日报批量导出</h2>
                <ui:button aura:id="close_button" label="关闭"
                    class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_export}" />
            </div>
            <div
                class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium"
            >
            <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium">
                <aura:if isTrue="{!v.showMain}">
                    <div class="slds-grid slds-wrap slds-grid--pull-padded">
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        ></div>
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                        </div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                            活动日开始日期
                            <lightning:input
                                type="Date"
                                class="slds-input slds-input_bare"
                                aura:id="input-report-date1"
                            />
                            <lightning:input type="Date" class="slds-input slds-input_bare "
                                aura:id="input-report-date1" />
                        </div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                            活动日结束日期
                            <lightning:input
                                type="Date"
                                class="slds-input slds-input_bare"
                                aura:id="input-report-date2"
                            />
                            <lightning:input type="Date" class="slds-input slds-input_bare "
                                aura:id="input-report-date2" />
                        </div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        ></div>
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="确认"
                                variant="brand"
                                onclick="{!c.select_repores_date}"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.close_export}"
                            />
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                        </div>
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="确认" variant="brand" onclick="{!c.select_repores_date}" />
                            <lightning:button label="取消" variant="brand" onclick="{!c.close_export}" />
                        </div>
                    </div>
                    <aura:set attribute="else">
                        <ui:outputRichText
                            class="uiOutputRichText slds-m--around-large"
                            value="{!v.TableContent2}"
                        />
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="确认"
                                variant="brand"
                                onclick="{!c.exportDate}"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.close_export}"
                            />
                        <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent2}" />
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="确认" variant="brand" onclick="{!c.exportDate}" />
                            <lightning:button label="取消" variant="brand" onclick="{!c.close_export}" />
                        </div>
                    </aura:set>
                </aura:if>
            </div>
        </div>
    </div>
    <div
        aura:id="modal_exportbg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_exportbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <!-- 批量导出日报 end-->
    <div
        aura:id="modal_window"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
        aria-labelledby="headerTarget"
    >
    <div aura:id="modal_window" role="dialog" tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
        <div class="slds-modal__container">
            <div
                class="slds-modal slds-fade-in-open slds-hide"
                aura:id="successDiv"
            >
            <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
                <!-- <ui:inputText aura:id="articleURL" /> -->
                <div class="demo-only" style="height: 8rem">
                <div class="demo-only" style="height: 8rem;">
                    <div class="slds-notify_container slds-is-relative">
                        <div
                            class="slds-notify slds-notify_toast slds-theme_success"
                            role="alert"
                        >
                        <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
                            <div class="slds-m-left_xx-large">
                                <div
                                    class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"
                                >
                                    <lightning:icon
                                        alternativeText="Success"
                                        iconName="utility:success"
                                        size="small"
                                        class="buttonColor slds-m-right_small"
                                    />
                                    <h2 class="slds-text-heading_small">
                                        {!v.successMessage}
                                    </h2>
                                    class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
                                    <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
                                        class="buttonColor slds-m-right_small" />
                                    <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div
                class="slds-modal slds-fade-in-open slds-hide"
                aura:id="errorDiv"
                style="z-index: 10001"
            >
            <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001">
                <!-- <ui:inputText aura:id="articleURL" /> -->
                <div class="demo-only" style="height: 8rem">
                <div class="demo-only" style="height: 8rem;">
                    <div class="slds-notify_container slds-is-relative">
                        <div
                            class="slds-notify slds-notify_toast slds-theme_error"
                            role="status"
                        >
                        <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
                            <div class="slds-m-left_xx-large">
                                <div
                                    class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large"
                                >
                                    <lightning:icon
                                        alternativeText="error"
                                        iconName="utility:error"
                                        size="small"
                                        class="buttonColor slds-m-right_small"
                                    />
                                    <h2 class="slds-text-heading_small">
                                        {!v.errorMessage}
                                    </h2>
                                    class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
                                    <lightning:icon alternativeText="error" iconName="utility:error" size="small"
                                        class="buttonColor slds-m-right_small" />
                                    <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2>
                                </div>
                            </div>
                        </div>
@@ -743,79 +450,44 @@
                </div>
            </div>
            <div
                class="slds-modal__content slds-grow slds-p-around--medium"
                style="position: relative"
            >
            <div class="slds-modal__content slds-grow slds-p-around--medium" style="position: relative;">
                <aura:renderIf isTrue="{!v.loginEdit}">
                    <lightning:spinner
                        alternativeText="Loading"
                        size="medium"
                        style="width: 100%; height: 100%"
                    />
                    <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 100%;" />
                </aura:renderIf>
                <div class="slds-modal__header">
                    <h2 id="headerTarget" class="slds-text-heading--medium">
                        日报({!v.selected_date}&nbsp;{!v.selected_agency_person})
                    </h2>
                    <ui:button
                        aura:id="close_button"
                        label="关闭"
                        日报({!v.selected_date}&nbsp;{!v.selected_agency_person})</h2>
                    <ui:button aura:id="close_button" label="关闭"
                        class="close_button slds-button slds-button--neutral slds-order--1"
                        press="{!c.toggle_report}"
                    />
                        press="{!c.toggle_report}" />
                </div>
                <div class="slds-box slds-theme--shade">
                    <div class="slds-grid slds-wrap slds-grid--pull-padded">
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7">
                            活动日
                            <lightning:input
                                type="date"
                                value="{!v.data.Report_Date__c}"
                                aura:id="input-report-date"
                                variant="label-hidden"
                            />
                            <lightning:input type="date" value="{!v.data.Report_Date__c}" aura:id="input-report-date"
                                variant="label-hidden" />
                        </div>
                        <!-- 医院 -->
                        <div
                            aura:id="hospital_list"
                        <div aura:id="hospital_list"
                            class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                            data-select="single"
                        >
                            data-select="single">
                            <!-- label="医院" -->
                            医院
                            <lightning:input
                                aura:id="hospital_input_text"
                                class="field"
                                value="{!v.hospital}"
                                updateOn="keyup"
                                variant="label-hidden"
                            />
                            <lightning:input aura:id="hospital_input_text" class="field" value="{!v.hospital}"
                                updateOn="keyup" variant="label-hidden" />
                            <div class="slds-lookup__menu" id="lookup-66">
                                <ul class="slds-lookup__list" role="listbox">
                                    <aura:iteration
                                        var="hospital"
                                        items="{!v.hospitalList}"
                                    >
                                        <li
                                            role="presentation"
                                            onclick="{!c.selectHos}"
                                    <aura:iteration var="hospital" items="{!v.hospitalList}">
                                        <li role="presentation" onclick="{!c.selectHos}"
                                            data-accName="{!hospital.Hospital_Name_readonly__c}"
                                            data-accId="{!hospital.Hospital__c}"
                                        >
                                            <span
                                                class="slds-lookup__item-action slds-media"
                                                id="lookup-option-498"
                                                role="option"
                                            >
                                            data-accId="{!hospital.Hospital__c}">
                                            <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
                                                role="option">
                                                <div class="slds-media__body">
                                                    <div
                                                        class="slds-lookup__result-text"
                                                    >
                                                        {!hospital.Hospital_Name_readonly__c}
                                                    </div>
                                                    <div class="slds-lookup__result-text">
                                                        {!hospital.Hospital_Name_readonly__c}</div>
                                                </div>
                                            </span>
                                        </li>
@@ -825,122 +497,69 @@
                        </div>
                        <!-- 科室分类 -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7">
                            {!v.fieldsmap.Department_Cateogy__c}
                            <!-- <ui:inputText aura:id="select_department" class="slds-select"
                                change="{!c.select_department}"/> -->
                            <lightning:input
                                type="text"
                                onchange="{!c.select_department}"
                                aura:id="select_department"
                                variant="label-hidden"
                            />
                            <lightning:input type="text" onchange="{!c.select_department}" aura:id="select_department"
                                variant="label-hidden" />
                        </div>
                        <!-- 经销商人员  change="{!c.select_DealerPersonnel}" -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                            style="width: 145px"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                            style="width: 145px;">
                            {!v.fieldsmap.DealerPersonnel__c}
                            <ui:inputSelect
                                aura:id="select_DealerPersonnel"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_DealerPersonnel" class="slds-select" />
                        </div>
                        <!-- 活动区分   -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7">
                            {!v.fieldsmap.WorkRecord__c}
                            <ui:inputSelect
                                aura:id="select_purpose_type"
                                class="slds-select"
                                change="{!c.select_purpose_type}"
                            />
                            <ui:inputSelect aura:id="select_purpose_type" class="slds-select"
                                change="{!c.select_purpose_type}" />
                        </div>
                        <!-- 拜访人 {!v.fieldsmap.doctor2__c}-->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                            style="width: 145px"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                            style="width: 145px;">
                            拜访人
                            <ui:inputSelect
                                aura:id="select_doctor"
                                class="slds-select"
                                change="{!c.doctor_change}"
                            />
                            <ui:inputSelect aura:id="select_doctor" class="slds-select" change="{!c.doctor_change}" />
                        </div>
                        <!-- <p hidden="hidden"> -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-7 slds-large-size--1-of-7">
                            <br />
                            <ui:button
                                label="新建"
                                class="slds-button"
                                press="{!c.createCon}"
                                disabled="true"
                                aura:id="new_con"
                            />
                            <ui:button label="新建" class="slds-button" press="{!c.createCon}" disabled="true"
                                aura:id="new_con" />
                        </div>
                        <!-- </p> -->
                        <hr />
                        <!-- 产品分类(第三分类) change="{!c.select_ProductClassification}" -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5">
                            产品分类(第三分类)
                            <ui:inputSelect
                                aura:id="select_ProductClassification"
                                class="slds-select"
                                change="{!c.selectProductClassification}"
                            />
                            <ui:inputSelect aura:id="select_ProductClassification" class="slds-select"
                                change="{!c.selectProductClassification}" />
                        </div>
                        <!-- 使用产品1(产品型号)   UseProduct1__c  -->
                        <div
                            aura:id="UseProduct1_List"
                        <div aura:id="UseProduct1_List"
                            class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"
                            data-select="single"
                        >
                            data-select="single">
                            <!-- label="使用产品1(产品型号)" -->
                            使用产品1(产品型号)
                            <lightning:input
                                aura:id="UseProduct1_TEXT"
                                class="field"
                                value="{!v.UseProduct1}"
                                updateOn="keyup"
                                variant="label-hidden"
                            />
                            <lightning:input aura:id="UseProduct1_TEXT" class="field" value="{!v.UseProduct1}"
                                updateOn="keyup" variant="label-hidden" />
                            <div class="slds-lookup__menu" id="lookup-11">
                                <ul
                                    class="slds-lookup__list"
                                    role="listbox"
                                    style="max-height: 230px"
                                >
                                    <aura:iteration
                                        var="UseProduct1"
                                        items="{!v.UseProduct1List}"
                                    >
                                        <li
                                            role="presentation"
                                            onclick="{!c.seletUseProduct1Change}"
                                <ul class="slds-lookup__list" role="listbox" style="max-height:230px;">
                                    <aura:iteration var="UseProduct1" items="{!v.UseProduct1List}">
                                        <li role="presentation" onclick="{!c.seletUseProduct1Change}"
                                            data-accid="{!UseProduct1.Id}"
                                            data-accName="{!UseProduct1.Asset_Model_No__c}"
                                        >
                                            <span
                                                class="slds-lookup__item-action slds-media"
                                                id="lookup-option-498"
                                                role="option"
                                            >
                                            data-accName="{!UseProduct1.Asset_Model_No__c}">
                                            <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
                                                role="option">
                                                <div class="slds-media__body">
                                                    <div
                                                        class="slds-lookup__result-text"
                                                    >
                                                        {!UseProduct1.Asset_Model_No__c}
                                                    </div>
                                                    <div class="slds-lookup__result-text">
                                                        {!UseProduct1.Asset_Model_No__c}</div>
                                                </div>
                                            </span>
                                        </li>
@@ -949,47 +568,24 @@
                            </div>
                        </div>
                        <!-- 使用产品2   UseProduct2__c  -->
                        <div
                            aura:id="UseProduct2_List"
                        <div aura:id="UseProduct2_List"
                            class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"
                            data-select="single"
                        >
                            data-select="single">
                            <!-- label="使用产品2" -->
                            使用产品2
                            <lightning:input
                                aura:id="UseProduct2_TEXT"
                                class="field"
                                value="{!v.UseProduct2}"
                                updateOn="keyup"
                                variant="label-hidden"
                            />
                            <lightning:input aura:id="UseProduct2_TEXT" class="field" value="{!v.UseProduct2}"
                                updateOn="keyup" variant="label-hidden" />
                            <div class="slds-lookup__menu" id="lookup-22">
                                <ul
                                    class="slds-lookup__list"
                                    role="listbox"
                                    style="max-height: 230px"
                                >
                                    <aura:iteration
                                        var="UseProduct2"
                                        items="{!v.UseProduct2List}"
                                    >
                                        <li
                                            role="presentation"
                                            onclick="{!c.seletUseProduct2Change}"
                                <ul class="slds-lookup__list" role="listbox" style="max-height:230px;">
                                    <aura:iteration var="UseProduct2" items="{!v.UseProduct2List}">
                                        <li role="presentation" onclick="{!c.seletUseProduct2Change}"
                                            data-accid="{!UseProduct2.Id}"
                                            data-accName="{!UseProduct2.Asset_Model_No__c}"
                                        >
                                            <span
                                                class="slds-lookup__item-action slds-media"
                                                id="lookup-option-498"
                                                role="option"
                                            >
                                            data-accName="{!UseProduct2.Asset_Model_No__c}">
                                            <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
                                                role="option">
                                                <div class="slds-media__body">
                                                    <div
                                                        class="slds-lookup__result-text"
                                                    >
                                                        {!UseProduct2.Asset_Model_No__c}
                                                    </div>
                                                    <div class="slds-lookup__result-text">
                                                        {!UseProduct2.Asset_Model_No__c}</div>
                                                </div>
                                            </span>
                                        </li>
@@ -998,47 +594,24 @@
                            </div>
                        </div>
                        <!-- 使用产品3   UseProduct3__c  -->
                        <div
                            aura:id="UseProduct3_List"
                        <div aura:id="UseProduct3_List"
                            class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"
                            data-select="single"
                        >
                            data-select="single">
                            <!-- label="使用产品3" -->
                            使用产品3
                            <lightning:input
                                aura:id="UseProduct3_TEXT"
                                class="field"
                                value="{!v.UseProduct3}"
                                updateOn="keyup"
                                variant="label-hidden"
                            />
                            <lightning:input aura:id="UseProduct3_TEXT" class="field" value="{!v.UseProduct3}"
                                updateOn="keyup" variant="label-hidden" />
                            <div class="slds-lookup__menu" id="lookup-33">
                                <ul
                                    class="slds-lookup__list"
                                    role="listbox"
                                    style="max-height: 230px"
                                >
                                    <aura:iteration
                                        var="UseProduct3"
                                        items="{!v.UseProduct3List}"
                                    >
                                        <li
                                            role="presentation"
                                            onclick="{!c.seletUseProduct3Change}"
                                <ul class="slds-lookup__list" role="listbox" style="max-height:230px;">
                                    <aura:iteration var="UseProduct3" items="{!v.UseProduct3List}">
                                        <li role="presentation" onclick="{!c.seletUseProduct3Change}"
                                            data-accid="{!UseProduct3.Id}"
                                            data-accName="{!UseProduct3.Asset_Model_No__c}"
                                        >
                                            <span
                                                class="slds-lookup__item-action slds-media"
                                                id="lookup-option-498"
                                                role="option"
                                            >
                                            data-accName="{!UseProduct3.Asset_Model_No__c}">
                                            <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
                                                role="option">
                                                <div class="slds-media__body">
                                                    <div
                                                        class="slds-lookup__result-text"
                                                    >
                                                        {!UseProduct3.Asset_Model_No__c}
                                                    </div>
                                                    <div class="slds-lookup__result-text">
                                                        {!UseProduct3.Asset_Model_No__c}</div>
                                                </div>
                                            </span>
                                        </li>
@@ -1047,298 +620,153 @@
                            </div>
                        </div>
                        <!-- 效果/进度  EffectProgress__c-->
                        <div
                            aura:id="product_category_select1"
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"
                        >
                        <div aura:id="product_category_select1"
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5">
                            {!v.fieldsmap.EffectProgress__c}
                            <ui:inputSelect
                                aura:id="select_EffectProgress"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_EffectProgress" class="slds-select" />
                        </div>
                        <hr />
                        <!-- 产品1同类耗材科室月使用量  ConsumptionOfConsumables__c-->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5">
                            {!v.fieldsmap.ConsumptionOfConsumables__c}
                            <!-- <ui:inputText aura:id="select_ConsumptionOfConsumables" class="slds-select"
                                change="{!c.select_ConsumptionOfConsumables}" /> -->
                            <lightning:input
                                type="text"
                                onchange="{!c.select_ConsumptionOfConsumables}"
                                aura:id="select_ConsumptionOfConsumables"
                                variant="label-hidden"
                            />
                            <lightning:input type="text" onchange="{!c.select_ConsumptionOfConsumables}"
                                aura:id="select_ConsumptionOfConsumables" variant="label-hidden" />
                        </div>
                        <!-- 术士分类   WarlockClassification__c   -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
                            {!v.fieldsmap.WarlockClassification__c}
                            <ui:inputSelect
                                aura:id="select_OtherBrandConsumables"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_OtherBrandConsumables" class="slds-select" />
                        </div>
                        <!-- 已采用其他品牌   ProductCcategory__c -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
                            {!v.fieldsmap.ProductCcategory__c}
                            <ui:inputSelect
                                aura:id="select_ProductCcategory"
                                class="slds-select"
                                change="{!c.selectpurposetype}"
                            />
                            <ui:inputSelect aura:id="select_ProductCcategory" class="slds-select"
                                change="{!c.selectpurposetype}" />
                        </div>
                        <!-- 其他品牌产品类别  -->
                        <div
                            aura:id="result"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
                        >
                        <div aura:id="result"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
                            {!v.fieldsmap.productCategories__c}
                            <ui:inputSelect
                                aura:id="select_productCategories"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_productCategories" class="slds-select" />
                        </div>
                        <!-- 产品用量   warlocksNumber__c   -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
                        >
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
                            {!v.fieldsmap.warlocksNumber__c}
                            <!-- <ui:inputText aura:id="select_warlocksNumber" class="slds-select"
                                change="{!c.select_warlocksNumber}" /> -->
                            <lightning:input
                                type="text"
                                onchange="{!c.select_warlocksNumber}"
                                aura:id="select_warlocksNumber"
                                variant="label-hidden"
                            />
                            <lightning:input type="text" onchange="{!c.select_warlocksNumber}"
                                aura:id="select_warlocksNumber" variant="label-hidden" />
                        </div>
                        <!-- 支援需求      WorkMark__c-->
                        <div style="padding-left: 12px">
                        <div style="padding-left: 12px;">
                            {!v.fieldsmap.WorkMark__c}
                            <lightning:input
                                type="checkbox"
                                aura:id="select_WorkMark"
                            />
                            <lightning:input type="checkbox" aura:id="select_WorkMark" />
                        </div>
                        <div
                            aura:id="input-opportunity-stage"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
                        >
                        <div aura:id="input-opportunity-stage"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
                            {!v.fieldsmap.StageName__c}
                            <ui:inputSelect
                                aura:id="select_stageName"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_stageName" class="slds-select" />
                        </div>
                        <div
                            aura:id="input-opportunity-amount1"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
                        >
                        <div aura:id="input-opportunity-amount1"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
                            {!v.fieldsmap.Amount__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/>  医院采购预算(不含税,元)-->
                            <lightning:inputField
                                value="{!v.oppdata.Amount__c}"
                                class=""
                            />
                            <lightning:inputField value="{!v.oppdata.Amount__c}" class="" />
                        </div>
                        <div
                            aura:id="input-opportunity-amount2"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
                        >
                        <div aura:id="input-opportunity-amount2"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
                            {!v.fieldsmap.OCMSale_Price__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/>      订货金额(不含税,元)  -->
                            <lightning:inputField
                                value="{!v.oppdata.OCMSale_Price__c}"
                                class=""
                            />
                            <lightning:inputField value="{!v.oppdata.OCMSale_Price__c}" class="" />
                        </div>
                        <div
                            aura:id="input-opportunity-date"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
                        >
                        <div aura:id="input-opportunity-date"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
                            {!v.fieldsmap.Close_Forecasted_Date__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/>    预测与OCSM签约日 -->
                            <lightning:inputField
                                value="{!v.oppdata.Close_Forecasted_Date__c}"
                                class=""
                            />
                            <lightning:inputField value="{!v.oppdata.Close_Forecasted_Date__c}" class="" />
                        </div>
                        <hr />
                    </div>
                </div>
                <div class="save_button_area">
                    <ui:button
                        aura:id="save_button"
                        label="保存并新建"
                        class="save_button slds-button slds-button--brand slds-order--3"
                        press="{!c.save_report}"
                    />
                    <ui:button aura:id="save_button" label="保存并新建"
                        class="save_button slds-button slds-button--brand slds-order--3" press="{!c.save_report}" />
                </div>
                <aura:renderIf isTrue="{!v.reports_now_count > 0}">
                    <div class="mt40 slds-box slds-theme--shade">
                        <div
                            class="slds-table--edit_container slds-is-relative"
                        >
                        <div class="slds-table--edit_container slds-is-relative">
                            <table
                                class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
                                role="grid"
                            >
                                role="grid">
                                <thead>
                                    <tr class="slds-line-height--reset">
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                            ></span>
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name"></span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >医院</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">医院</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.Department_Cateogy__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate"
                                                title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.doctor2__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__c}</span>
                                            <!-- 客户人员 -->
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.visitor_title__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate"
                                                title="Name">{!v.fieldsmap.visitor_title__c}</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.WorkRecord__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">{!v.fieldsmap.WorkRecord__c}</span>
                                        </th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <aura:iteration
                                        items="{!v.reports_now}"
                                        var="item"
                                        indexVar="index"
                                    >
                                        <tr
                                            aura:id="modal_data_list_tr"
                                            class="slds-hint-parent"
                                        >
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Department_Cateogy_text__c}"
                                                        >{!item.Name}</span
                                                    >
                                    <aura:iteration items="{!v.reports_now}" var="item" indexVar="index">
                                        <tr aura:id="modal_data_list_tr" class="slds-hint-parent">
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate"
                                                        title="{!item.Department_Cateogy_text__c}">{!item.Name}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Agency_Hospital__r.Name}"
                                                        >{!item.Agency_Hospital__r.Name}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate"
                                                        title="{!item.Agency_Hospital__r.Name}">{!item.Agency_Hospital__r.Name}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Department_Cateogy_text__c}"
                                                        >{!item.Department_Cateogy_text__c}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate"
                                                        title="{!item.Department_Cateogy_text__c}">{!item.Department_Cateogy_text__c}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.doctor2__r.Name}"
                                                        >{!item.doctor2__r.Name}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate"
                                                        title="{!item.doctor2__r.Name}">{!item.doctor2__r.Name}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.visitor_title__c}"
                                                        >{!item.visitor_title__c}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate"
                                                        title="{!item.visitor_title__c}">{!item.visitor_title__c}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.WorkRecord__c}"
                                                        >{!item.WorkRecord__c}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate"
                                                        title="{!item.WorkRecord__c}">{!item.WorkRecord__c}</span>
                                                </span>
                                            </td>
                                        </tr>
@@ -1352,82 +780,42 @@
        </div>
    </div>
    <div
        aura:id="modal_bg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div
        aura:id="modal_confirm"
        role="dialog"
        tabindex="-2"
        aria-labelledby="header43"
        class="disp_none slds-modal slds-fade-in-open"
    >
    <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <div aura:id="modal_confirm" role="dialog" tabindex="-2" aria-labelledby="header43"
        class="disp_none slds-modal slds-fade-in-open">
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <h2 id="header43" class="slds-text-heading--medium">
                    {!v.modal_confirm_title}
                </h2>
                <h2 id="header43" class="slds-text-heading--medium">{!v.modal_confirm_title}</h2>
            </div>
            <div class="slds-modal__content slds-p-around--medium">
                <p>{!v.modal_confirm_text}</p>
            </div>
            <div class="slds-modal__footer">
                <ui:button
                    label="是"
                    class="slds-button slds-button--brand"
                    press="{!c.yes_button}"
                />
                <ui:button
                    label="否"
                    class="slds-button slds-button--neutral"
                    press="{!c.no_button}"
                />
                <ui:button label="是" class="slds-button slds-button--brand" press="{!c.yes_button}" />
                <ui:button label="否" class="slds-button slds-button--neutral" press="{!c.no_button}" />
            </div>
        </div>
    </div>
    <div
        aura:id="modal_confirm_bg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_confirm_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <div
        aura:id="modal_newAC"
        role="dialog"
        tabindex="-3"
        aria-labelledby="headertest"
        class="disp_none slds-modal slds-fade-in-open"
    >
    <div aura:id="modal_newAC" role="dialog" tabindex="-3" aria-labelledby="headertest"
        class="disp_none slds-modal slds-fade-in-open">
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <h2 id="headertest" class="slds-text-heading--medium">
                    新建.拜访人
                </h2>
                <h2 id="headertest" class="slds-text-heading--medium">新建.拜访人</h2>
            </div>
            <div class="slds-modal__content slds-p-around--medium">
                <lightning:recordEditForm
                    aura:id="recordEditForm"
                    objectApiName="Agency_Contact__c"
                    onsuccess="{!c.handleSuccess}"
                    onload="{!c.showRequiredFields}"
                    onsubmit="{!c.handleSubmit}"
                >
                <lightning:recordEditForm aura:id="recordEditForm" objectApiName="Agency_Contact__c"
                    onsuccess="{!c.handleSuccess}" onload="{!c.showRequiredFields}" onsubmit="{!c.handleSubmit}">
                    <lightning:messages aura:id="OppMessage" />
                    <!-- onload="{!c.showRequiredFields}" -->
                    <aura:renderIf isTrue="{!v.truthy}">
                        <lightning:inputField
                            fieldName="Name"
                            aura:id="newOpportunityField"
                        />
                        <lightning:inputField
                            fieldName="Type__c"
                            aura:id="newOpportunityField"
                        />
                        <lightning:inputField
                            fieldName="Doctor_Division1__c"
                            aura:id="newOpportunityField"
                        />
                        <lightning:inputField fieldName="Name" aura:id="newOpportunityField" />
                        <lightning:inputField fieldName="Type__c" aura:id="newOpportunityField" />
                        <lightning:inputField fieldName="Doctor_Division1__c" aura:id="newOpportunityField" />
                    </aura:renderIf>
                    <br />
                    <br />
@@ -1435,21 +823,15 @@
                    <br />
                    <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="button"
                            label="保存"
                            onclick="{!c.handleSubmit}"
                        />
                        <lightning:button class="slds-m-top_small" type="button" label="取消"
                            onclick="{!c.createCancel}" />
                        <lightning:button class="slds-m-top_small" type="button" label="保存"
                            onclick="{!c.handleSubmit}" />
                    </div>
                </lightning:recordEditForm>
            </div>
        </div>
    </div>
</aura:component>
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css
@@ -28,7 +28,7 @@
.THIS .no_data_area {
    text-align: center;
    margin: 0.5em 0;
    margin: .5em 0;
}
.THIS.report_list_area {
@@ -153,7 +153,7 @@
}
.THIS .customRequired:before {
    content: '*';
    content: "*";
    margin: 0 0.125rem 0 0.125rem;
    color: rgb(194, 57, 52);
    float: left;
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js
@@ -38,8 +38,8 @@
    },
    showRequiredFields: function (component, event, helper) {
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
        $A.util.removeClass(component.find("newOpportunityField"), "none");
        $A.util.removeClass(component.find("newOpportunityField"), "none");
    },
    handleSuccess: function (component, event, helper) {
@@ -49,34 +49,29 @@
    handleSubmit: function (component, event, helper) {
        event.preventDefault(); // stop form submission
        var showValidationError = false;
        var fields = component.find('newOpportunityField');
        var fields = component.find("newOpportunityField");
        var vaildationFailReason = '';
        let agencyReport = Object.create(null);
        fields.forEach(function (field) {
            if (
                field.get('v.fieldName') === 'Type__c' &&
                $A.util.isEmpty(field.get('v.value'))
            ) {
            if (field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))) {
                showValidationError = true;
                vaildationFailReason = '分类不能为空!';
            } else if (
                field.get('v.fieldName') === 'Doctor_Division1__c' &&
                $A.util.isEmpty(field.get('v.value'))
            ) {
                vaildationFailReason = "分类不能为空!";
            } else if (field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))) {
                showValidationError = true;
                if (vaildationFailReason != '') {
                    vaildationFailReason += '医生区分(职务)不能为空!';
                    vaildationFailReason += "医生区分(职务)不能为空!";
                } else {
                    vaildationFailReason = '医生区分(职务)不能为空!';
                    vaildationFailReason = "医生区分(职务)不能为空!";
                }
            }
            //SWAG-CF58C3 fy start
            if (field.get('v.fieldName') === 'Name') {
                agencyReport['name'] = field.get('v.value');
            } else if (field.get('v.fieldName') === 'Type__c') {
                agencyReport['type'] = field.get('v.value');
            } else if (field.get('v.fieldName') === 'Doctor_Division1__c') {
                agencyReport['doctorDivision1'] = field.get('v.value');
            if (field.get("v.fieldName") === 'Name') {
                agencyReport['name'] = field.get("v.value");
            } else if (field.get("v.fieldName") === 'Type__c') {
                agencyReport['type'] = field.get("v.value");
            } else if (field.get("v.fieldName") === 'Doctor_Division1__c') {
                agencyReport['doctorDivision1'] = field.get("v.value");
            }
            //SWAG-CF58C3 fy end
        });
@@ -84,39 +79,26 @@
            //SWAG-CF58C3 fy start
            var agencyHospitalid = component.get('v.hospitalLinkId');
            //zhj MEBG新方案改造 2022-11-29 start
            debugger;
            debugger
            let hospitalName = '';
            //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid
            helper.CallBackAction(
                component,
                'searchAgencyDataId',
                {
            helper.CallBackAction(component, 'searchAgencyDataId', {
                    hospitalId: agencyHospitalid
                },
                function (data) {
                    if (data.getState() == 'SUCCESS') {
            }, 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;
                        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 += ',' + data.Data[i].AWS_Data_Id__c;
                                }
                                agencyContactIds =
                                    agencyContactIds.substring(1);
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            agencyContactIds = agencyContactIds.substring(1);
                            agencyReport['agencyContactIds'] = agencyContactIds;
                            } else {
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            agencyReport['agencyContactIds'] = agencyContactIds;
                            }
                            var arr = new Array();
                            arr.push(agencyReport);
@@ -127,29 +109,20 @@
                            var newUrl = component.get('v.AWSinsert') + 'V2';
                            component.set('v.login', true);
                            helper.insert_agencycontact(
                                component,
                                token,
                                newUrl,
                                requestData,
                                agencyHospitalid,
                                helper,
                                hospitalName
                            );
                        helper.insert_agencycontact(component, token, newUrl, requestData, agencyHospitalid, helper, hospitalName);
                        } else {
                            helper.ShowToast({
                                message: data.message,
                                type: 'error'
                            "message": data.message,
                            "type": "error"
                            });
                        }
                    } else {
                        helper.ShowToast({
                            message: 'searchAgency失败',
                            type: 'error'
                        "message": 'searchAgency失败',
                        "type": "error"
                        });
                    }
                }
            );
            })
            //zhj MEBG新方案改造 2022-11-29 end
            // var arr = new Array();
            // arr.push(agencyReport);
@@ -171,20 +144,12 @@
    yes_button: function (component, event, helper) {
        component.set('v.confirm_status', 1);
        helper.close_confirm(
            component,
            component.get('v.modal_confirm_title'),
            component.get('v.modal_confirm_text')
        );
        helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
    },
    no_button: function (component, event, helper) {
        component.set('v.confirm_status', 2);
        helper.close_confirm(
            component,
            component.get('v.modal_confirm_title'),
            component.get('v.modal_confirm_text')
        );
        helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
    },
    toggle_report: function (component, event, helper) {
@@ -200,13 +165,13 @@
    },
    select_agency_change: function (component, event, helper) {
        debugger;
        debugger
        helper.select_agency_change(component, event, helper);
    },
    hosChange: function (component, event, helper) {
        var hospital_name = event.getParam('value');
        var hospital_nameld = component.get('v.UseProduct1s');
        var hospital_name = event.getParam("value");
        var hospital_nameld = component.get("v.UseProduct1s");
        if (hospital_name.match(/(\S+\s)+/)) {
            if (hospital_nameld != hospital_name) {
                helper.searchHos(component, event, helper);
@@ -225,9 +190,9 @@
    },
    //使用产品1
    UseProduct1Change: function (component, event, helper) {
        var UseProduct1Name = event.getParam('value');
        var UseProduct1Nameold = component.get('v.UseProduct1s');
        debugger;
        var UseProduct1Name = event.getParam("value");
        var UseProduct1Nameold = component.get("v.UseProduct1s");
        debugger
        if (UseProduct1Name.match(/(\S+\s)+/)) {
            if (UseProduct1Name != UseProduct1Nameold) {
                helper.searchUseProduct1(component, event, helper);
@@ -245,8 +210,8 @@
    },
    //使用产品2
    UseProduct2Change: function (component, event, helper) {
        var UseProduct2Name = event.getParam('value');
        var UseProduct2Nameold = component.get('v.UseProduct2s');
        var UseProduct2Name = event.getParam("value");
        var UseProduct2Nameold = component.get("v.UseProduct2s");
        if (UseProduct2Name.match(/(\S+\s)+/)) {
            if (UseProduct2Name != UseProduct2Nameold) {
                helper.searchUseProduct2(component, event, helper);
@@ -267,8 +232,8 @@
    },
    //使用产品3
    UseProduct3Change: function (component, event, helper) {
        var UseProduct3Name = event.getParam('value');
        var UseProduct3Nameold = component.get('v.UseProduct3s');
        var UseProduct3Name = event.getParam("value");
        var UseProduct3Nameold = component.get("v.UseProduct3s");
        if (UseProduct3Name.match(/(\S+\s)+/)) {
            if (UseProduct3Name != UseProduct3Nameold) {
                helper.searchUseProduct3(component, event, helper);
@@ -284,6 +249,7 @@
    seletUseProduct3Change: function (component, event, helper) {
        helper.seletUseProduct3Change(component, event, helper);
    },
    select_department: function (component, event, helper) {
        helper.setOpportunity_cfilter(component);
@@ -306,39 +272,37 @@
        helper.readFile(component, helper, files[0]);
    },
    CreateRecord: function (component, event, helper) {
        var files = event.getSource().get('v.files');
        var files = event.getSource().get("v.files");
        helper.readFile(component, helper, files[0]);
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    processFileContent: function (component, event, helper) {
        helper.saveRecords(component, event, helper);
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    cancel: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain", true);
    },
    import: function (component, event, helper) {
        helper.showImport(component);
    },
    exportDate: function (component, event, helper) {
        var stockData = component.get('v.reports_date');
        var stockData = component.get("v.reports_date");
        console.log('导出数据' + stockData);
        var csv = helper.convertArrayOfObjectsToCSV(component, stockData);
        if (csv == null) {
            return;
        }
        if (csv == null) { return; }
        var universalBOM = '\uFEFF';
        var universalBOM = "\uFEFF";
        var hiddenElement = document.createElement('a');
        hiddenElement.href =
            'data:text/csv;charset=utf-8,' + encodeURI(universalBOM + csv);
        hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM + csv);
        hiddenElement.target = '_self'; //
        hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv]
        document.body.appendChild(hiddenElement); // Required for FireFox browser
        hiddenElement.click(); // using click() js function to download csv file
    },
    export_condition: function (component, event, helper) {
        helper.showExport(component);
@@ -349,15 +313,15 @@
    },
    export: function (component, event, helper) {
        console.log('进入export');
        var stockData = component.get('v.reports_date');
        var stockData = component.get("v.reports_date");
        console.log('查出的数据' + stockData);
    },
    close_import: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain", true);
        helper.close_import(component);
    },
    close_export: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain", true);
        helper.close_export(component);
    },
    select_ConsumptionOfConsumables: function (component, event, helper) {
@@ -385,4 +349,4 @@
        var errorDiv01 = component.find('errorDiv01');
        $A.util.addClass(errorDiv01, 'slds-hide');
    }
});
})
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js
Diff too large
force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp
@@ -1,30 +1,10 @@
<aura:component
    controller="WeeklyReportCmp"
    implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
    access="global"
>
<aura:component controller="WeeklyReportCmp" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" access="global" >
    <ltng:require styles="{!$Resource.multilineToastCSS}" /> 
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    <aura:handler
        event="c:strike_evt"
        action="{!c.createAopp}"
        name="strike_evt_addNewRecord"
    />
    <aura:attribute
        name="data"
        type="Agency_Report__c"
        default="{sobjectType:'Agency_Report__c'}"
    />
    <aura:attribute
        name="oppdata"
        type="Agency_Opportunity__c"
        default="{sobjectType:'Agency_Opportunity__c'}"
    />
    <aura:attribute
        name="acondata"
        type="Agency_Contact__c"
        default="{sobjectType:'Agency_Contact__c'}"
    />
    <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord"/>
    <aura:attribute name="data" type="Agency_Report__c" default="{sobjectType:'Agency_Report__c'}"/>
    <aura:attribute name="oppdata" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/>
    <aura:attribute name="acondata" type="Agency_Contact__c" default="{sobjectType:'Agency_Contact__c'}"/>
    <!-- <aura:attribute name="oppdata_old" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/> -->
    <aura:attribute name="Close_Forecasted_Date__c_o" type="Date" />
    <aura:attribute name="Amount__c_o" type="String" />
@@ -54,11 +34,7 @@
    <aura:attribute name="doctor_list" type="Map" />
    <aura:attribute name="doctor_title" type="String" />
    <aura:attribute name="opportunity_list" type="Map" />
    <aura:handler
        name="change"
        value="{!v.data.Opportunity__c}"
        action="{!c.opportunityChange}"
    />
    <aura:handler name="change" value="{!v.data.Opportunity__c}" action="{!c.opportunityChange}"/>
    <aura:attribute name="edit_copy_select_report_id" type="String" />
    <aura:attribute name="create_agency_report_id" type="String" />
    <aura:attribute name="reports" type="List" />
@@ -81,31 +57,15 @@
    <aura:handler name="change" value="{!v.data.Product_Category2__c}" action="{!c.productcategoryChange2}"/>
    <aura:handler name="change" value="{!v.data.Product_Category3__c}" action="{!c.productcategoryChange3}"/> -->
    <!-- <aura:handler name="change" value="{!v.oppdata.StageName__c}" action="{!c.stageNameChange}"/> -->
    <aura:attribute
        name="update_select_report_data_id"
        type="String"
        default=""
    />
    <aura:attribute name="update_select_report_data_id" type="String" default=""/>
    <!-- 批量添加周报 start-->
    <aura:attribute name="reports_date" type="List" />
    <!-- <aura:attribute name="reports_date1" type="Date" />
    <aura:attribute name="reports_date2" type="Date" /> -->
    <aura:attribute
        name="TableContent"
        type="String"
        description=" Show the Result class"
    />
    <aura:attribute
        name="TableContent2"
        type="String"
        description=" Show the Result class"
    />
    <aura:attribute
        name="TargetFileName"
        type="String"
        description="Name of the file"
    />
    <aura:attribute name="TableContent" type="String"  description=" Show the Result class"/>
    <aura:attribute name="TableContent2" type="String"  description=" Show the Result class"/>
    <aura:attribute name="TargetFileName" type="String"  description="Name of the file"/>
    <aura:attribute name="tableheaders" type="Object[]" />
    <aura:attribute name="fileContentData" type="String" />
    <aura:attribute name="filename" type="String" />
@@ -140,10 +100,7 @@
            <!-- add by Deloitte-Link 2023-6-19 -->
            <div class="weeklyReportSpinner">
                <div class="slds-spinner_container">
                    <div
                        class="slds-spinner--brand slds-spinner slds-spinner--medium"
                        role="alert"
                    >
                    <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
                        <span id="aa" class="slds-assistive-text">Loading</span>
                        <div class="slds-spinner__dot-a"></div>
                        <div class="slds-spinner__dot-b"></div>
@@ -155,169 +112,78 @@
    <div aura:id="report" id="report" class="contents_wrapper">
        <div class="slds-grid slds-wrap slds-grid--pull-padded">
            <div
                class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"
            >
            <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
                周
            </div>
            <div
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"
            >
                <ui:inputSelect
                    aura:id="select_date"
                    class="slds-select"
                    change="{!c.select_date_change}"
                />
            <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
                <ui:inputSelect aura:id="select_date" class="slds-select" change="{!c.select_date_change}"/>
            </div>
            <!-- 代理店担当者 -->
            <div
                class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"
            >
            <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
                {!v.fieldsmap.Person_In_Charge2__c}
            </div>
            <div
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"
            >
                <ui:inputSelect
                    aura:id="select_agency_person"
                    class="slds-select agency_person_select"
                    change="{!c.select_agency_change}"
                />
            <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
                <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select" change="{!c.select_agency_change}"/>
            </div>
            <div
                class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"
            >
                <ui:button
                    aura:id="new_button"
                    label="新建"
                    press="{!c.new_report}"
                    disabled="true"
                />
            <div class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
                <ui:button aura:id="new_button" label="新建" press="{!c.new_report}" disabled="true"/>
            </div>
            <div
                class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"
            >
                <ui:button
                    aura:id="copy_button"
                    label="复制"
                    press="{!c.copy_button}"
                    disabled="true"
                />
            <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
                <ui:button aura:id="copy_button" label="复制" press="{!c.copy_button}" disabled="true"/>
                <!-- <ui:button aura:id="import" label="导入" press="{!c.import}" /> -->
                <ui:button aura:id="import" label="导入" press="{!c.import}" />
                <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}"  style="position:absolute;filter:alpha(opacity=0);" size="1" hidden="true" />  -->
                <!-- <ui:button aura:id="import" label="导出" press="{!c.export}"/> -->
                <ui:button
                    aura:id="export"
                    label="导出"
                    press="{!c.export_condition}"
                />
                <ui:button aura:id="export" label="导出" press="{!c.export_condition}"/>
            </div>
        </div>
    </div>
    <div aura:id="report_list" class="report_list_area">
        <div class="slds-table--edit_container slds-is-relative">
            <table
                class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
                role="grid"
                style="width: 66.75rem"
            >
            <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" role="grid" style="width:66.75rem;">
                <thead>
                    <tr class="slds-line-height--reset">
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 250px; font-size: 13px"
                        >
                            <span class="slds-truncate" title="Name"
                                >周报编号</span
                            >
                        <th class="table_header slds-text-title--caps" style="width: 250px;font-size: 13px;">
                            <span class="slds-truncate" title="Name">周报编号</span>
                        </th>
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 100px; font-size: 13px"
                        >
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.Person_In_Charge2__c}</span
                            >
                        <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;">
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Person_In_Charge2__c}</span>
                        </th>
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 250px; font-size: 13px"
                        >
                        <th class="table_header slds-text-title--caps" style="width: 250px;font-size: 13px;">
                            <span class="slds-truncate" title="Name">医院</span>
                        </th>
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 100px; font-size: 13px"
                        >
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.Department_Cateogy__c}</span
                            >
                        <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;">
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
                        </th>
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 100px; font-size: 13px"
                        >
                        <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;">
                            <!-- PIPL update Yin Mingjie 21/02/2022 start
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__r}</span>
                            PIPL update Yin Mingjie 21/02/2022 end-->
                            <span
                                class="slds-truncate"
                                title="Name"
                                style="width: 100px; font-size: 13px"
                                >{!v.fieldsmap.Agency_Contact__c}</span
                            >
                            <span class="slds-truncate" title="Name" style="width: 100px;font-size: 13px;">{!v.fieldsmap.Agency_Contact__c}</span>
                        </th>
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 100px; font-size: 13px"
                        >
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.visitor_title__c}</span
                            >
                        <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;">
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.visitor_title__c}</span>
                        </th>
                        <th
                            class="table_header slds-text-title--caps"
                            style="width: 100px; font-size: 13px"
                        >
                            <span class="slds-truncate" title="Name"
                                >{!v.fieldsmap.Purpose_Type__c}</span
                            >
                        <th class="table_header slds-text-title--caps" style="width: 100px;font-size: 13px;">
                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Purpose_Type__c}</span>
                        </th>
                    </tr>
                </thead>
                <tbody>
                    <aura:iteration
                        items="{!v.reports}"
                        var="item"
                        indexVar="index"
                    >
                    <aura:iteration items="{!v.reports}" var="item" indexVar="index">
                        <tr class="slds-hint-parent">
                            <td role="gridcell" class="slds-cell-edit">
                                <ui:inputRadio
                                    class="report_radio"
                                    name="report_radio"
                                    label="{!item.Name}"
                                    change="{!c.change_report_radio}"
                                />
                                <lightning:buttonIcon
                                    class="edit_button"
                                    iconName="utility:edit"
                                    size="small"
                                    alternativeText="edit"
                                    value="{!index}"
                                    onclick="{!c.edit_button}"
                                />
                                <ui:inputRadio class="report_radio" name="report_radio" label="{!item.Name}" change="{!c.change_report_radio}"/>
                                <lightning:buttonIcon class="edit_button" iconName="utility:edit" size="small" alternativeText="edit" value="{!index}" onclick="{!c.edit_button}"/>
                            </td>
                            <td role="gridcell" class="slds-cell-edit">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.Person_In_Charge2__r.Name}"
                                    >
                                    <span class="slds-truncate" title="{!item.Person_In_Charge2__r.Name}">
                                        {!item.Person_In_Charge2__r.Name}
                                        <!-- <span class="decrypt">{!item.Person_In_Charge2__r.awsdata.lastName}</span> -->
                                    </span>
@@ -330,50 +196,28 @@
                            </th>
                            <td role="gridcell" class="slds-cell-edit">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.Department_Cateogy__c}"
                                        >{!item.Department_Cateogy__c}</span
                                    >
                                    <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Department_Cateogy__c}</span>
                                </span>
                            </td>
                            <td role="gridcell" class="slds-cell-edit">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.doctor2__r.Name}"
                                    >
                                        <span class="encrypt"
                                            >{!item.doctor2__r.Name}</span
                                        >
                                        <span class="decrypt"
                                            >{!item.doctor2__r.awsdata.name}</span
                                        >
                                    <span class="slds-truncate" title="{!item.doctor2__r.Name}">
                                        <span class="encrypt">{!item.doctor2__r.Name}</span>
                                        <span class="decrypt">{!item.doctor2__r.awsdata.name}</span>
                                    </span>
                                </span>
                            </td>
                            <td role="gridcell" class="slds-cell-edit">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.visitor_title__c}"
                                    >
                                        <span class="encrypt"
                                            >{!item.visitor_title__c}</span
                                        >
                                        <span class="decrypt"
                                            >{!item.doctor2__r.awsdata.doctorDivision1}</span
                                        >
                                    <span class="slds-truncate" title="{!item.visitor_title__c}">
                                        <span class="encrypt">{!item.visitor_title__c}</span>
                                        <span class="decrypt">{!item.doctor2__r.awsdata.doctorDivision1}</span>
                                    </span>
                                </span>
                            </td>
                            <td role="gridcell" class="slds-cell-edit">
                                <span class="slds-grid slds-grid--align-spread">
                                    <span
                                        class="slds-truncate"
                                        title="{!item.Purpose_Type__c}"
                                        >{!item.Purpose_Type__c}</span
                                    >
                                    <span class="slds-truncate" title="{!item.Purpose_Type__c}">{!item.Purpose_Type__c}</span>
                                </span>
                            </td>
                        </tr>
@@ -383,95 +227,50 @@
        </div>
        <aura:renderIf isTrue="{!v.report_count > 0}">
            <aura:set attribute="else">
                <div class="no_data_area">{!v.list_message}</div>
                <div class="no_data_area">
                    {!v.list_message}
                </div>
            </aura:set>
        </aura:renderIf>
    </div>
    <!--    <ui:button aura:id="test_button" label="test" class="fade animation_on" press="{!c.test}"/>-->
    <!-- 批量添加周报 start-->
    <div
        aura:id="modal_import"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
        aria-labelledby="headerTarget"
    >
    <div aura:id="modal_import" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
        <div class="slds-modal__container">
            <aura:renderIf isTrue="{!v.loginEdit}">
                <lightning:spinner
                    alternativeText="Loading"
                    size="medium"
                    style="width: 100%; height: 80%; top: 50px"
                />
                <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 80%;top:50px;" />
            </aura:renderIf>
            <div class="slds-modal__header">
                <h4 id="headerTarget" class="slds-float--left"></h4>
                <h2 id="headerTarget" class="slds-text-heading--medium">
                    周报批量导入
                </h2>
                <ui:button
                    aura:id="close_button"
                    label="关闭"
                    class="close_button slds-button slds-button--neutral slds-order--1"
                    press="{!c.close_import}"
                />
                <h2 id="headerTarget" class="slds-text-heading--medium">周报批量导入</h2>
                <ui:button aura:id="close_button" label="关闭" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_import}"/>
            </div>
            <div
                class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium"
            >
            <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium " >
                <aura:if isTrue="{!v.showMain}">
                    <div>
                        <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" value="导入" /> -->
                        <lightning:input
                            type="file"
                            class="file"
                            uara:id="file"
                            onchange="{!c.CreateRecord}"
                        />
                        <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" />
                        <!-- <ui:button label="Create Accounts" press="{!c.CreateRecord}"/> -->
                    </div>
                    <aura:set attribute="else">
                        <!-- <ui:outputRichText class="uiOutputRichText slds-m-around-large" value="{!v.TargetFileName}"/>  -->
                        <ui:outputRichText
                            class="uiOutputRichText slds-m--around-large"
                            value="{!v.TableContent}"
                        <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}"/>
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="保存" variant="brand" onclick="{!c.processFileContent}"
                        />
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="保存"
                                variant="brand"
                                onclick="{!c.processFileContent}"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.cancel}"
                            />
                            <lightning:button label="取消" variant="brand"
                                              onclick="{!c.cancel}" />
                        </div>
                        <!-- start DTT-zhj 增加错误信息table 2023-05-16-->
                        <aura:if isTrue="{!v.showErrorInfo}">
                            <div
                                class="slds-p-around--large slds-align--absolute-center"
                            >
                                <lightning:button
                                    label="导出错误信息"
                                    variant="brand"
                                    onclick="{!c.exportErrorInfo}"
                                />
                            <div class="slds-p-around--large slds-align--absolute-center">
                                <lightning:button label="导出错误信息" variant="brand" onclick="{!c.exportErrorInfo}" />
                            </div>
                            <div
                                class="slds-p-around--large slds-align--absolute-center"
                            >
                            <div class="slds-p-around--large slds-align--absolute-center">
                                <div style="height: 300px; overflow-x: scroll">
                                    <lightning:datatable
                                        keyField="id"
                                        data="{! v.errorData }"
                                        columns="{! v.errorColumns }"
                                        hideCheckboxColumn="true"
                                    />
                                    <lightning:datatable keyField="id" data="{! v.errorData }"
                                        columns="{! v.errorColumns }" hideCheckboxColumn="true" />
                                </div>
                            </div>
                        </aura:if>
@@ -481,78 +280,39 @@
            </div>
        </div>
    </div>
    <div
        aura:id="modal_importbg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_importbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <!-- 批量添加周报 end-->
    <!-- 批量导出周报 start-->
    <div
        aura:id="modal_export"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
    >
    <div aura:id="modal_export" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" >
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <h4 id="headerTarget" class="slds-float--left"></h4>
                <h2 id="headerTarget" class="slds-text-heading--medium">
                    周报批量导出
                </h2>
                <ui:button
                    aura:id="close_button"
                    label="关闭"
                    class="close_button slds-button slds-button--neutral slds-order--1"
                    press="{!c.close_export}"
                />
                <h2 id="headerTarget" class="slds-text-heading--medium">周报批量导出</h2>
                <ui:button aura:id="close_button" label="关闭" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_export}"/>
            </div>
            <div
                class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium"
            >
            <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium">
                <aura:if isTrue="{!v.showMain}">
                    <div class="slds-grid slds-wrap slds-grid--pull-padded">
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        ></div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                        </div>
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                            活动日开始日期
                            <lightning:input
                                type="Date"
                                class="slds-input slds-input_bare"
                                aura:id="input-report-date1"
                            />
                            <lightning:input type="Date" class="slds-input slds-input_bare " aura:id="input-report-date1" />
                        </div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                            活动日结束日期
                            <lightning:input
                                type="Date"
                                class="slds-input slds-input_bare"
                                aura:id="input-report-date2"
                            />
                            <lightning:input type="Date" class="slds-input slds-input_bare " aura:id="input-report-date2" />
                        </div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4"
                        ></div>
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
                        </div>
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="确认"
                                variant="brand"
                                onclick="{!c.select_repores_date}"
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="确认" variant="brand" onclick="{!c.select_repores_date}"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.close_export}"
                            />
                            <lightning:button label="取消" variant="brand"
                                                  onclick="{!c.close_export}" />
                        </div>
                    </div>
                    <!-- <div>
@@ -565,116 +325,54 @@
                                              onclick="{!c.close_export}" /> 
                    </div> -->
                    <aura:set attribute="else">
                        <ui:outputRichText
                            class="uiOutputRichText slds-m--around-large"
                            value="{!v.TableContent2}"
                        <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent2}"/>
                        <div class="slds-p-around--large slds-align--absolute-center">
                            <lightning:button label="确认" variant="brand" onclick="{!c.exportDate}"
                        />
                        <div
                            class="slds-p-around--large slds-align--absolute-center"
                        >
                            <lightning:button
                                label="确认"
                                variant="brand"
                                onclick="{!c.exportDate}"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.close_export}"
                            />
                            <lightning:button label="取消" variant="brand"
                                              onclick="{!c.close_export}" />
                        </div>
                    </aura:set>
                </aura:if>
            </div>
        </div>
    </div>
    <div
        aura:id="modal_exportbg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_exportbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <!-- 批量导出周报 end-->
    <div
        aura:id="modal_window"
        role="dialog"
        tabindex="-1"
        class="disp_none slds-modal slds-fade-in-open slds-modal--large"
        aria-labelledby="headerTarget"
    >
    <div aura:id="modal_window" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
        <div class="slds-modal__container">
            <aura:renderIf isTrue="{!v.loginEdit}">
                <lightning:spinner
                    alternativeText="Loading"
                    size="medium"
                    style="width: 100%; height: 80%; top: 50px"
                />
                <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 80%;top:50px;" />
            </aura:renderIf>
            <div class="slds-modal__header">
                <h4 id="headerTarget" class="slds-float--left"></h4>
                <h2 id="headerTarget" class="slds-text-heading--medium">
                    周报({!v.selected_date}&nbsp;{!v.selected_agency_person})
                </h2>
                <ui:button
                    aura:id="close_button"
                    label="关闭"
                    class="close_button slds-button slds-button--neutral slds-order--1"
                    press="{!c.toggle_report}"
                />
                <h2 id="headerTarget" class="slds-text-heading--medium">周报({!v.selected_date}&nbsp;{!v.selected_agency_person})</h2>
                <ui:button aura:id="close_button" label="关闭" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.toggle_report}"/>
            </div>
            <div class="slds-modal__content slds-grow slds-p-around--medium">
                <div class="slds-box slds-theme--shade">
                    <div class="slds-grid slds-wrap slds-grid--pull-padded">
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop" >
                            活动日
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
                            <!-- <force:inputField value="{!v.data.Report_Date__c}" aura:id="input-report-date"/> -->
                            <lightning:input
                                type="date"
                                value="{!v.data.Report_Date__c}"
                                aura:id="input-report-date"
                                variant="label-hidden"
                            />
                            <lightning:input type="date" value="{!v.data.Report_Date__c}" aura:id="input-report-date"
                                variant="label-hidden" />
                        </div>
                        <!-- 医院 -->
                        <div
                            aura:id="hospital_list"
                            class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5 marginTop"
                            data-select="single"
                        >
                        <div aura:id="hospital_list" class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5 marginTop" data-select="single">
                            <!-- <ui:inputText aura:id="hospital_input_text" label="医院" class="field" value="{!v.hospital}" updateOn="keyup"/> -->
                            医院
                            <lightning:input
                                aura:id="hospital_input_text"
                                class="field"
                                value="{!v.hospital}"
                                variant="label-hidden"
                                updateOn="keyup"
                            />
                            <lightning:input aura:id="hospital_input_text" class="field" value="{!v.hospital}" variant="label-hidden" updateOn="keyup"/>
                            <div class="slds-lookup__menu" id="lookup-66">
                                <ul class="slds-lookup__list" role="listbox">
                                    <aura:iteration
                                        var="hospital"
                                        items="{!v.hospitalList}"
                                    >
                                        <li
                                            role="presentation"
                                            onclick="{!c.selectHos}"
                                            data-accName="{!hospital.Hospital_Name_readonly__c}"
                                            data-accId="{!hospital.Hospital__c}"
                                        >
                                            <span
                                                class="slds-lookup__item-action slds-media"
                                                id="lookup-option-498"
                                                role="option"
                                            >
                                    <aura:iteration var="hospital" items="{!v.hospitalList}">
                                        <li role="presentation" onclick="{!c.selectHos}" data-accName="{!hospital.Hospital_Name_readonly__c}" data-accId="{!hospital.Hospital__c}">
                                            <span class="slds-lookup__item-action slds-media" id="lookup-option-498" role="option">
                                                <div class="slds-media__body">
                                                    <div
                                                        class="slds-lookup__result-text"
                                                    >
                                                        {!hospital.Hospital_Name_readonly__c}
                                                    </div>
                                                    <div class="slds-lookup__result-text">{!hospital.Hospital_Name_readonly__c}</div>
                                                </div>
                                            </span>
                                        </li>
@@ -684,70 +382,38 @@
                        </div>
                        <!-- 科室分类 -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop">
                            {!v.fieldsmap.Department_Cateogy__c}
                            <ui:inputSelect
                                aura:id="select_department"
                                class="slds-select"
                                change="{!c.select_department}"
                            />
                            <ui:inputSelect aura:id="select_department" class="slds-select" change="{!c.select_department}"/>
                        </div>
                        <!-- 先生 -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop">
                            {!v.fieldsmap.doctor2__c}
                            <ui:inputSelect
                                aura:id="select_doctor"
                                class="slds-select"
                                change="{!c.doctor_change}"
                            />
                            <ui:inputSelect aura:id="select_doctor" class="slds-select" change="{!c.doctor_change}"/>
                        </div>
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-12 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-12 marginTop">
                            <br />
                            <ui:button
                                label="新建"
                                class="slds-button"
                                press="{!c.createCon}"
                                disabled="true"
                                aura:id="new_con"
                            />
                            <ui:button label="新建" class="slds-button" press="{!c.createCon}" disabled="true" aura:id="new_con"/>
                        </div>
                        <!-- 职位 -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8 marginTop">
                            {!v.fieldsmap.visitor_title__c}
                            <div>{!v.doctor_title}</div>
                        </div>
                        <!-- 活动区分 -->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop">
                            {!v.fieldsmap.Purpose_Type__c}
                            <ui:inputSelect
                                aura:id="select_purpose_type"
                                class="slds-select"
                                change="{!c.select_purpose_type}"
                            />
                            <ui:inputSelect aura:id="select_purpose_type" class="slds-select" change="{!c.select_purpose_type}"/>
                        </div>
                        <!-- 询价 -->
                        <div
                            aura:id="input-opportunity-opp"
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12 marginTop"
                        >
                        <div aura:id="input-opportunity-opp" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12 marginTop">
                            {!v.fieldsmap.Opportunity__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
                            <!-- <force:inputField value="{!v.data.Opportunity__c}" aura:id="input-opportunity"/> -->
                            <c:strike_lookup
                                label=""
                            <c:strike_lookup label=""
                                object="Agency_Opportunity__c"
                                searchField="Name"
                                placeholder="搜索经销商询价..."
@@ -762,299 +428,128 @@
                                showRecentRecords="true"
                                value="{!v.data.Opportunity__c}"
                                filter="{!v.opportunity_cfilter}"
                                subTitleFormat="{0}+{1}+{2}"
                            />
                                    subTitleFormat="{0}+{1}+{2}"/>
                        </div>
                        <div
                            aura:id="input-opportunity-blank"
                            class="lds-p-horizontal--small slds-size--1-of-1 slds-medium-size--8-of-12 slds-large-size--8-of-12 marginTop"
                        ></div>
                        <div
                            aura:id="input-opportunity-stage"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"
                        >
                        <div aura:id="input-opportunity-blank" class="lds-p-horizontal--small slds-size--1-of-1 slds-medium-size--8-of-12 slds-large-size--8-of-12 marginTop">
                        </div>
                        <div aura:id="input-opportunity-stage" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop">
                            {!v.fieldsmap.StageName__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
                            <ui:inputSelect
                                aura:id="select_stageName"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_stageName" class="slds-select"/>
                            <!-- <force:inputField value="{!v.oppdata.StageName__c}" aura:id="input-oppstage" /> -->
                        </div>
                        <div
                            aura:id="input-opportunity-amount1"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"
                        >
                        <div aura:id="input-opportunity-amount1" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop">
                            {!v.fieldsmap.Amount__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
                            <force:inputField
                                value="{!v.oppdata.Amount__c}"
                                class=""
                            />
                            <force:inputField value="{!v.oppdata.Amount__c}" class=""/>
                        </div>
                        <div
                            aura:id="input-opportunity-amount2"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"
                        >
                        <div aura:id="input-opportunity-amount2" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop">
                            {!v.fieldsmap.OCMSale_Price__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
                            <force:inputField
                                value="{!v.oppdata.OCMSale_Price__c}"
                                class=""
                            />
                            <force:inputField value="{!v.oppdata.OCMSale_Price__c}" class=""/>
                        </div>
                        <div
                            aura:id="input-opportunity-date"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop"
                        >
                        <div aura:id="input-opportunity-date" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12 marginTop">
                            {!v.fieldsmap.Close_Forecasted_Date__c}
                            <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
                            <force:inputField
                                value="{!v.oppdata.Close_Forecasted_Date__c}"
                                class=""
                            />
                            <force:inputField value="{!v.oppdata.Close_Forecasted_Date__c}" class=""/>
                        </div>
                        <!-- 製品分類 -->
                        <div
                            aura:id="product_category_select1"
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"
                        >
                        <div aura:id="product_category_select1" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop">
                            {!v.fieldsmap.Product_Category1__c}
                            <!-- <force:inputField value="{!v.data.Product_Category1__c}" aura:id="input-product-category1"/> -->
                            <ui:inputSelect
                                aura:id="select_Product1"
                                class="slds-select"
                                change="{!c.productcategoryChange1}"
                            />
                            <ui:inputSelect aura:id="select_Product1" class="slds-select" change="{!c.productcategoryChange1}"/>
                        </div>
                        <div
                            aura:id="product_category_select2"
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"
                        >
                        <div aura:id="product_category_select2" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop">
                            {!v.fieldsmap.Product_Category2__c}
                            <!-- <force:inputField value="{!v.data.Product_Category2__c}" aura:id="input-product-category2"/> -->
                            <ui:inputSelect
                                aura:id="select_Product2"
                                class="slds-select"
                                change="{!c.productcategoryChange2}"
                            />
                            <ui:inputSelect aura:id="select_Product2" class="slds-select" change="{!c.productcategoryChange2}"/>
                        </div>
                        <div
                            aura:id="product_category_select3"
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"
                        >
                        <div aura:id="product_category_select3" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop">
                            {!v.fieldsmap.Product_Category3__c}
                            <!-- <force:inputField value="{!v.data.Product_Category3__c}" aura:id="input-product-category3"/> -->
                            <ui:inputSelect
                                aura:id="select_Product3"
                                class="slds-select"
                                change="{!c.productcategoryChange3}"
                            />
                            <ui:inputSelect aura:id="select_Product3" class="slds-select" change="{!c.productcategoryChange3}"/>
                        </div>
                        <!--SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start-->
                        <!-- 支援需求 change="{!c.SupportNeeds__c}"-->
                        <div
                            class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop"
                        >
                        <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6 marginTop">
                            {!v.fieldsmap.SupportNeeds__c}
                            <ui:inputSelect
                                aura:id="SupportNeeds__c"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="SupportNeeds__c" class="slds-select" />
                        </div>
                        <!--SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end-->
                        <div
                            aura:id="result"
                            class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop"
                        >
                        <div aura:id="result" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12 marginTop">
                            {!v.fieldsmap.Result__c}
                            <ui:inputSelect
                                aura:id="select_result"
                                class="slds-select"
                            />
                            <ui:inputSelect aura:id="select_result" class="slds-select"/>
                            <!-- <ui:inputText label="结果" class="bcolor" value="{!v.result}"/> -->
                        </div>
                    </div>
                </div>
                <div class="save_button_area">
                    <ui:button
                        aura:id="save_button"
                        label="保存并新建"
                        class="save_button slds-button slds-button--brand slds-order--3"
                        press="{!c.save_report}"
                    />
                    <ui:button aura:id="save_button" label="保存并新建" class="save_button slds-button slds-button--brand slds-order--3" press="{!c.save_report}"/>
                </div>
                <aura:renderIf isTrue="{!v.reports_now_count > 0}">
                    <div class="mt40 slds-box slds-theme--shade">
                        <div
                            class="slds-table--edit_container slds-is-relative"
                        >
                            <table
                                class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
                                role="grid"
                            >
                        <div class="slds-table--edit_container slds-is-relative">
                            <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" role="grid">
                                <thead>
                                    <tr class="slds-line-height--reset">
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                            ></span>
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name"></span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >医院</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">医院</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.Department_Cateogy__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.doctor2__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__c}</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.visitor_title__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">{!v.fieldsmap.visitor_title__c}</span>
                                        </th>
                                        <th
                                            class="table_header slds-text-title--caps"
                                        >
                                            <span
                                                class="slds-truncate"
                                                title="Name"
                                                >{!v.fieldsmap.Purpose_Type__c}</span
                                            >
                                        <th class="table_header slds-text-title--caps">
                                            <span class="slds-truncate" title="Name">{!v.fieldsmap.Purpose_Type__c}</span>
                                        </th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <aura:iteration
                                        items="{!v.reports_now}"
                                        var="item"
                                        indexVar="index"
                                    >
                                        <tr
                                            aura:id="modal_data_list_tr"
                                            class="slds-hint-parent"
                                        >
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Department_Cateogy__c}"
                                                        >{!item.Name}</span
                                                    >
                                    <aura:iteration items="{!v.reports_now}" var="item" indexVar="index">
                                        <tr aura:id="modal_data_list_tr" class="slds-hint-parent">
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Name}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Agency_Hospital__r.Name}"
                                                        >{!item.Agency_Hospital__r.Name}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate" title="{!item.Agency_Hospital__r.Name}">{!item.Agency_Hospital__r.Name}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Department_Cateogy__c}"
                                                        >{!item.Department_Cateogy__c}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Department_Cateogy__c}</span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.doctor2__r.Name}"
                                                    >
                                                        <span class="encrypt"
                                                            >{!item.doctor2__r.Name}</span
                                                        >
                                                        <span class="decrypt"
                                                            >{!item.doctor2NameOrigin}</span
                                                        >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate" title="{!item.doctor2__r.Name}">
                                                        <span class="encrypt">{!item.doctor2__r.Name}</span>
                                                        <span class="decrypt">{!item.doctor2NameOrigin}</span>
                                                    </span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.visitor_title__c}"
                                                    >
                                                        <span class="encrypt"
                                                            >{!item.visitor_title__c}</span
                                                        >
                                                        <span class="decrypt"
                                                            >{!item.visitorTitleOrigin}</span
                                                        >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate" title="{!item.visitor_title__c}">
                                                        <span class="encrypt">{!item.visitor_title__c}</span>
                                                        <span class="decrypt">{!item.visitorTitleOrigin}</span>
                                                    </span>
                                                </span>
                                            </td>
                                            <td
                                                role="gridcell"
                                                class="slds-cell-edit"
                                            >
                                                <span
                                                    class="slds-grid slds-grid--align-spread"
                                                >
                                                    <span
                                                        class="slds-truncate"
                                                        title="{!item.Purpose_Type__c}"
                                                        >{!item.Purpose_Type__c}</span
                                                    >
                                            <td role="gridcell" class="slds-cell-edit">
                                                <span class="slds-grid slds-grid--align-spread">
                                                    <span class="slds-truncate" title="{!item.Purpose_Type__c}">{!item.Purpose_Type__c}</span>
                                                </span>
                                            </td>
                                        </tr>
@@ -1067,89 +562,40 @@
            </div>
        </div>
    </div>
    <div
        aura:id="modal_bg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <div
        aura:id="modal_confirm"
        role="dialog"
        tabindex="-2"
        aria-labelledby="header43"
        class="disp_none slds-modal slds-fade-in-open"
    >
    <div aura:id="modal_confirm" role="dialog" tabindex="-2" aria-labelledby="header43" class="disp_none slds-modal slds-fade-in-open">
        <div class="slds-modal__container">
            <div class="slds-modal__header">
                <h2 id="header43" class="slds-text-heading--medium">
                    {!v.modal_confirm_title}
                </h2>
                <h2 id="header43" class="slds-text-heading--medium">{!v.modal_confirm_title}</h2>
            </div>
            <div class="slds-modal__content slds-p-around--medium">
                <p>{!v.modal_confirm_text}</p>
            </div>
            <div class="slds-modal__footer">
                <ui:button
                    label="是"
                    class="slds-button slds-button--brand"
                    press="{!c.yes_button}"
                />
                <ui:button
                    label="否"
                    class="slds-button slds-button--neutral"
                    press="{!c.no_button}"
                />
                <ui:button label="是" class="slds-button slds-button--brand" press="{!c.yes_button}"/>
                <ui:button label="否" class="slds-button slds-button--neutral" press="{!c.no_button}" />
            </div>
        </div>
    </div>
    <div
        aura:id="modal_confirm_bg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
    <div aura:id="modal_confirm_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
    <div
        aura:id="modal_newAC"
        role="dialog"
        tabindex="-3"
        aria-labelledby="headertest"
        class="disp_none slds-modal slds-fade-in-open"
    >
    <div aura:id="modal_newAC" role="dialog" tabindex="-3" aria-labelledby="headertest" class="disp_none slds-modal slds-fade-in-open">
        <div class="slds-modal__container">
            <aura:renderIf isTrue="{!v.loginEdit}">
                <lightning:spinner
                    alternativeText="Loading"
                    size="medium"
                    style="width: 100%; height: 80%; top: 50px"
                />
                <lightning:spinner alternativeText="Loading" size="medium" style="width: 100%; height: 80%;top:50px;" />
            </aura:renderIf>
            <div class="slds-modal__header">
                <h2 id="headertest" class="slds-text-heading--medium">
                    新建.客户人员
                </h2>
                <h2 id="headertest" class="slds-text-heading--medium">新建.客户人员</h2>
            </div>
            <div class="slds-modal__content slds-p-around--medium">
                <lightning:recordEditForm
                    aura:id="recordEditForm"
                    objectApiName="Agency_Contact__c"
                    onsuccess="{!c.handleSuccess}"
                    onload="{!c.showRequiredFields}"
                    onsubmit="{!c.handleSubmit}"
                >
                <lightning:recordEditForm aura:id="recordEditForm"  objectApiName="Agency_Contact__c" onsuccess="{!c.handleSuccess}" onload="{!c.showRequiredFields}" onsubmit="{!c.handleSubmit}">
                    <lightning:messages aura:id="OppMessage" />
                    <!-- onload="{!c.showRequiredFields}" -->
                    <aura:renderIf isTrue="{!v.truthy}">
                        <lightning:inputField
                            fieldName="Name"
                            aura:id="newOpportunityField"
                        />
                        <lightning:inputField
                            fieldName="Type__c"
                            aura:id="newOpportunityField"
                        />
                        <lightning:inputField
                            fieldName="Doctor_Division1__c"
                            aura:id="newOpportunityField"
                        />
                        <lightning:inputField fieldName="Name" aura:id="newOpportunityField" />
                        <lightning:inputField fieldName="Type__c" aura:id="newOpportunityField" />
                        <lightning:inputField fieldName="Doctor_Division1__c" aura:id="newOpportunityField" />
                        <!-- <lightning:inputField class="customRequired none" aura:id="Input_type__c" fieldName="Type__c"/>
                        <lightning:inputField class="customRequired none" aura:id="Input_Doctor_Division1__c" fieldName="Doctor_Division1__c"/> -->
                    </aura:renderIf>
@@ -1159,20 +605,15 @@
                    <br />
                    <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="button" label="取消" onclick="{!c.createCancel}"/>
                        <lightning:button class="slds-m-top_small" type="submit" label="保存" />
                    </div>
                </lightning:recordEditForm>
            </div>
        </div>
    </div>
</aura:component>
force-app/main/default/aura/WeeklyReport/WeeklyReport.css
@@ -21,7 +21,7 @@
}
.THIS .no_data_area {
    text-align: center;
    margin: 0.5em 0;
    margin: .5em 0;
}
.THIS.report_list_area {
    margin: 40px 0 20px 0px;
@@ -111,8 +111,7 @@
    display: none;
}
.THIS .slds-input:focus,
.THIS .slds-input:active {
.THIS .slds-input:focus, .THIS .slds-input:active {
    border-color: rgb(216, 221, 230);
    box-shadow: none;
}
@@ -121,7 +120,7 @@
    font-weight: 400;
}
.THIS .customRequired:before {
    content: '*';
     content: "*";
    margin: 0 0.125rem 0 0.125rem;
    color: rgb(194, 57, 52);
    float: left;
force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
@@ -1,12 +1,12 @@
({
    doInit: function (component, event, helper) {
        console.log('zhj 新方案weeklyReport');
        if (window.location.href.endsWith('weekly-report')) {
        if (window.location.href.endsWith("weekly-report")) {
            helper.doinit(component, event, helper);
        } else {
            helper.hideCmp(component, event, helper);
        }
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    createAopp: function (component, event, helper) {
@@ -16,7 +16,7 @@
            recordTypeId: '012100000006KW7'
        });
        addRecordEvent.fire();
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    new_report: function (component, event, helper) {
@@ -44,8 +44,8 @@
    },
    showRequiredFields: function (component, event, helper) {
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
        $A.util.removeClass(component.find("newOpportunityField"), "none");
        $A.util.removeClass(component.find("newOpportunityField"), "none");
    },
    handleSuccess: function (component, event, helper) {
@@ -63,7 +63,7 @@
        // vivek 添加验证 start
        // helper.handleFormSubmit(component);
        var showValidationError = false;
        var fields = component.find('newOpportunityField');
        var fields = component.find("newOpportunityField");
        var vaildationFailReason = '';
        // var vaildationFailReason2 = '';
        // var currentDate = new Date().toJSON().slice(0,10);
@@ -73,30 +73,25 @@
        // PIPL update Yin Mingjie 21/02/2022 end
        fields.forEach(function (field) {
            if (
                field.get('v.fieldName') === 'Type__c' &&
                $A.util.isEmpty(field.get('v.value'))
            ) {
            if(field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))){
                showValidationError = true;
                vaildationFailReason = '分类不能为空!';
            } else if (
                field.get('v.fieldName') === 'Doctor_Division1__c' &&
                $A.util.isEmpty(field.get('v.value'))
            ) {
                vaildationFailReason = "分类不能为空!";
            }else if(field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))){
                showValidationError = true;
                if (vaildationFailReason != '') {
                    vaildationFailReason += '医生区分(职务)不能为空!';
                    vaildationFailReason += "医生区分(职务)不能为空!";
                } else {
                    vaildationFailReason = '医生区分(职务)不能为空!';
                    vaildationFailReason = "医生区分(职务)不能为空!";
                }
            }
            // PIPL update Yin Mingjie 21/02/2022 start
            if (field.get('v.fieldName') === 'Name') {
                agencyReport['name'] = field.get('v.value');
            } else if (field.get('v.fieldName') === 'Type__c') {
                agencyReport['type'] = field.get('v.value');
            } else if (field.get('v.fieldName') === 'Doctor_Division1__c') {
                agencyReport['doctorDivision1'] = field.get('v.value');
            if(field.get("v.fieldName") === 'Name'){
                agencyReport['name'] = field.get("v.value");
            }else if(field.get("v.fieldName") === 'Type__c'){
                agencyReport['type'] = field.get("v.value");
            }else if(field.get("v.fieldName") === 'Doctor_Division1__c'){
                agencyReport['doctorDivision1'] = field.get("v.value");
            }
            // PIPL update Yin Mingjie 21/02/2022 end
        });
@@ -111,39 +106,26 @@
            var agencyHospitalid = component.get('v.hospitalLinkId');
            //zhj MEBG新方案改造 2022-11-29 start
            debugger;
            debugger
            let hospitalName = '';
            //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid
            helper.CallBackAction(
                component,
                'searchAgencyDataId',
                {
            helper.CallBackAction(component,'searchAgencyDataId',{
                    hospitalId: agencyHospitalid
                },
                function (data) {
                    if (data.getState() == 'SUCCESS') {
            },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;
                        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 += ','+data.Data[i].AWS_Data_Id__c;
                                }
                                agencyContactIds =
                                    agencyContactIds.substring(1);
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            agencyContactIds = agencyContactIds.substring(1);
                            agencyReport['agencyContactIds'] = agencyContactIds;
                            } else {
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            agencyReport['agencyContactIds'] = agencyContactIds;
                            }
                            var arr = new Array();
                            arr.push(agencyReport);
@@ -154,29 +136,20 @@
                            var newUrl = component.get('v.AWSinsert') + 'V2';
                            component.set('v.loginEdit', true);
                            helper.insert_agencycontact(
                                component,
                                token,
                                newUrl,
                                requestData,
                                agencyHospitalid,
                                helper,
                                hospitalName
                            );
                        helper.insert_agencycontact(component,token,newUrl,requestData,agencyHospitalid,helper,hospitalName);
                        } else {
                            helper.ShowToast({
                                message: data.message,
                                type: 'error'
                            "message" : data.message,
                            "type" : "error"
                            });
                        }
                    } else {
                        helper.ShowToast({
                            message: 'searchAgency失败',
                            type: 'error'
                        "message" : 'searchAgency失败',
                        "type" : "error"
                        });
                    }
                }
            );
            })
            //zhj MEBG新方案改造 2022-11-29 end
            // var arr = new Array();
            // arr.push(agencyReport);
@@ -205,20 +178,12 @@
    yes_button: function (component, event, helper) {
        component.set('v.confirm_status', 1);
        helper.close_confirm(
            component,
            component.get('v.modal_confirm_title'),
            component.get('v.modal_confirm_text')
        );
        helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
    },
    no_button: function (component, event, helper) {
        component.set('v.confirm_status', 2);
        helper.close_confirm(
            component,
            component.get('v.modal_confirm_title'),
            component.get('v.modal_confirm_text')
        );
        helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
    },
    toggle_report: function (component, event, helper) {
@@ -238,7 +203,7 @@
    },
    hosChange: function (component, event, helper) {
        var hospital_name = event.getParam('value');
        var hospital_name = event.getParam("value");
        if (hospital_name.match(/(\S+\s)+/)) {
            helper.searchHos(component, event, helper);
        } else {
@@ -290,20 +255,20 @@
        helper.readFile(component, helper, files[0]);
    },
    CreateRecord: function (component, event, helper) {
        var files = event.getSource().get('v.files');
        var files = event.getSource().get("v.files");
        // var fileInput = component.find("file").getElement();
        // var file = fileInput.files[0];
        helper.readFile(component, helper, files[0]);
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    processFileContent: function (component, event, helper) {
        helper.saveRecords(component, event, helper);
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    cancel: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain",true);
    },
    import: function (component, event, helper) {
@@ -312,23 +277,21 @@
        helper.showImport(component);
    },
    exportDate: function (component, event, helper) {
        var stockData = component.get('v.reports_date');
        var stockData = component.get("v.reports_date");
        console.log('导出数据' + stockData);
        var csv = helper.convertArrayOfObjectsToCSV(component, stockData);
        if (csv == null) {
            return;
        }
        if (csv == null){return;}
        // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####
        var universalBOM = '\uFEFF';
        var universalBOM = "\uFEFF";
        var hiddenElement = document.createElement('a');
        hiddenElement.href =
            'data:text/csv;charset=utf-8,' + encodeURI(universalBOM + csv);
        hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM+csv);
        hiddenElement.target = '_self'; //
        hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv]
        document.body.appendChild(hiddenElement); // Required for FireFox browser
        hiddenElement.click(); // using click() js function to download csv file
        // helper.showExport(component);
    },
    export_condition: function (component, event, helper) {
@@ -344,20 +307,20 @@
    },
    export: function (component, event, helper) {
        console.log('进入export');
        var stockData = component.get('v.reports_date');
        var stockData = component.get("v.reports_date");
        console.log('查出的数据' + stockData);
        // helper.showExportDate(component,stockData);
        // helper.showExport(component);
    },
    close_import: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain",true);
        helper.close_import(component);
    },
    close_export: function (component, event, helper) {
        component.set('v.showMain', true);
        component.set("v.showMain",true);
        helper.close_export(component);
    },
    exportErrorInfo: function (component, event, helper) {
        helper.exportErrorInfoHelper(component);
    }
});
    },
})
force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
@@ -12,66 +12,26 @@
                component.set('v.allselectlist', res.allselectlist);
                component.set('v.doclist', res.doclist);
                // PIPL update Yin Mingjie 21/02/2022 start
                component
                    .find('select_agency_person')
                    .set(
                        'v.options',
                        this.conv_selected(res.allselectlist.AgencyPerson__c)
                    );
                component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c));
                // this.search_contact(component, event, helper,res.allselectlist.AgencyPerson__c);
                // PIPL update Yin Mingjie 21/02/2022 end
                component
                    .find('select_department')
                    .set(
                        'v.options',
                        this.conv_selected(
                            res.allselectlist.Department_Cateogy__c
                        )
                    );
                component
                    .find('select_purpose_type')
                    .set(
                        'v.options',
                        this.conv_selected(res.allselectlist.Purpose_Type__c)
                    );
                component
                    .find('select_result')
                    .set(
                        'v.options',
                        this.conv_selected(res.allselectlist.Result__c)
                    );
                component
                    .find('select_stageName')
                    .set(
                        'v.options',
                        this.conv_selected(res.allselectlist.StageName__c)
                    );
                component.find('select_department').set('v.options', this.conv_selected(res.allselectlist.Department_Cateogy__c));
                component.find('select_purpose_type').set('v.options', this.conv_selected(res.allselectlist.Purpose_Type__c));
                component.find('select_result').set('v.options', this.conv_selected(res.allselectlist.Result__c));
                component.find('select_stageName').set('v.options', this.conv_selected(res.allselectlist.StageName__c));
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                component
                    .find('SupportNeeds__c')
                    .set(
                        'v.options',
                        this.conv_selected(res.allselectlist.SupportNeeds__c)
                    );
                 component.find('SupportNeeds__c').set('v.options', this.conv_selected(res.allselectlist.SupportNeeds__c));
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end
                component.set(
                    'v.selected_agency_person',
                    res.allselectlist.AgencyPerson__c[0].label
                );
                component.set('v.selected_agency_person', res.allselectlist.AgencyPerson__c[0].label);
                component.set('v.dialog_type', '新建');
                component.set('v.awsurl', res.awsurl); // 20220222 PI改造 by Bright
                component.set('v.contactawsurl', res.contactawsurl); // 20220222 PI改造 by Bright
                this.get_reports(
                    component,
                    event,
                    helper,
                    component.find('select_date').get('v.value'),
                    component.find('select_agency_person').get('v.value')
                );
                this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
                component.set('v.login', false);
            } else {
            }
            else{
                this.error('doinit failed.');
                component.set('v.login', false);
            }
@@ -95,18 +55,10 @@
        this.search_contact_url(component, 'Contact', (result) => {
            var token = result.token;
            var searchUrl = result.searchUrl;
            this.search_core(
                token,
                searchUrl,
                payload,
                (result) => {
            this.search_core(token,searchUrl,payload,(result)=>{
                    if (result.status == '0') {
                        if (result.object != null) {
                            this.to_contact_list(
                                result,
                                contactData,
                                component
                            );
                        this.to_contact_list(result,contactData,component);
                        } else {
                            component.set('v.loginEdit', false);
                        }
@@ -114,9 +66,8 @@
                        this.error('AWS search status1 : ' + result.status);
                        component.set('v.loginEdit', false);
                    }
                },
                component
            );
            },component);
        });
    },
@@ -145,14 +96,15 @@
    search_contact_url: function (component, sobject, callback) {
        var action = component.get('c.getAwsurl');
        action.setParams({
            sobj: sobject
            "sobj" : sobject,
        });
        action.setCallback(this, function (response) {
            var state = response.getState();
            if (state == 'SUCCESS') {
                var result = response.getReturnValue();
                if (callback) callback(result);
            } else {
            }
            else{
                this.error('AWS url/token error.');
                component.set('v.loginEdit', false);
            }
@@ -162,9 +114,9 @@
    // PIPL update Yin Mingjie 21/02/2022 end
    select_department: function (component, event, helper) {
        var dc = component.find('select_department').get('v.value');
        var dc = component.find("select_department").get("v.value");
        dc = dc ? '%' + dc + '%' : '';
        var purpose_type = component.find('select_purpose_type').get('v.value');
        var purpose_type = component.find("select_purpose_type").get("v.value");
        if (purpose_type) {
            if (purpose_type.substr(-3) == 'OPD') {
                purpose_type = 'OPD';
@@ -175,25 +127,22 @@
            }
        }
        if (dc != '' || purpose_type != '') {
            var action = component.get('c.getProductList');
            action.setParams({
                dc: dc,
                opdsis: purpose_type
                "dc" : dc,
                "opdsis" : purpose_type,
            });
            action.setCallback(this, function (response) {
                var state = response.getState();
                if (state == 'SUCCESS') {
                    var res = response.getReturnValue();
                    component
                        .find('select_Product1')
                        .set('v.options', JSON.parse(JSON.stringify(res)));
                    component
                        .find('select_Product2')
                        .set('v.options', JSON.parse(JSON.stringify(res)));
                    component
                        .find('select_Product3')
                        .set('v.options', JSON.parse(JSON.stringify(res)));
                } else {
                    component.find('select_Product1').set("v.options", JSON.parse(JSON.stringify(res)));
                    component.find('select_Product2').set("v.options", JSON.parse(JSON.stringify(res)));
                    component.find('select_Product3').set("v.options", JSON.parse(JSON.stringify(res)));
                }
                else{
                    this.error('getProductList failed.');
                }
            });
@@ -214,8 +163,8 @@
        var action = component.get('c.getReports');
        action.setParams({
            date_str: date_str,
            person_str: person_str
            "date_str" : date_str,
            "person_str" : person_str,
        });
        component.set('v.login', true);
@@ -236,10 +185,7 @@
                        dataIds.push(rep.doctor2__r.AWS_Data_Id__c);
                    }
                    if (
                        rep.Person_In_Charge2__r &&
                        rep.Person_In_Charge2__r.AWS_Data_Id__c
                    ) {
                    if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c) {
                        dataIds1.push(rep.Person_In_Charge2__r.AWS_Data_Id__c);
                    }
                }
@@ -247,45 +193,28 @@
                Foo = function () {
                    if (b && b1) {
                        for (const rep of res.reports) {
                            if (
                                rep.doctor2__r &&
                                rep.doctor2__r.AWS_Data_Id__c &&
                                mm.hasOwnProperty(rep.doctor2__r.AWS_Data_Id__c)
                            ) {
                                rep.doctor2__r.awsdata =
                                    mm[rep.doctor2__r.AWS_Data_Id__c];
                            if (rep.doctor2__r && rep.doctor2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.doctor2__r.AWS_Data_Id__c)) {
                                rep.doctor2__r.awsdata = mm[rep.doctor2__r.AWS_Data_Id__c];
                            }
                            if (
                                rep.Person_In_Charge2__r &&
                                rep.Person_In_Charge2__r.AWS_Data_Id__c &&
                                mm.hasOwnProperty(
                                    rep.Person_In_Charge2__r.AWS_Data_Id__c
                                )
                            ) {
                                rep.Person_In_Charge2__r.awsdata =
                                    mm[rep.Person_In_Charge2__r.AWS_Data_Id__c];
                            if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.Person_In_Charge2__r.AWS_Data_Id__c)) {
                                rep.Person_In_Charge2__r.awsdata = mm[rep.Person_In_Charge2__r.AWS_Data_Id__c];
                            }
                        }
                        $A.getCallback(() =>
                            component.set('v.reports', res.reports)
                        )();
                        $A.getCallback(()=>component.set('v.reports', res.reports))();
                    } else {
                        console.log('b=' + b + ',b1=' + b1 + ',continue');
                        setTimeout(Foo, 100);
                    }
                };
                }
                if (dataIds.length > 0) {
                    let awsurl = component.get('v.awsurl');
                    helper.search_core(
                        awsurl.token,
                        awsurl.searchUrl,
                        JSON.stringify({
                            dataIds: dataIds
                        }),
                        (result) => {
                    helper.search_core(awsurl.token,awsurl.searchUrl,JSON.stringify({
                        "dataIds":dataIds
                    }),(result)=>{
                            if (result.status == '0') {
                                for (const m of result.object) {
                                    mm[m.dataId] = m;
                                }
@@ -295,36 +224,29 @@
                                //this.error('AWS search status2 : ' + result.status);
                                this.success('请重新刷新页面进行解密');
                            }
                        },
                        component
                    );
                    },component);
                } else {
                    b = true;
                }
                if (dataIds1.length > 0) {
                    let contactawsurl = component.get('v.contactawsurl');
                    helper.search_core(
                        contactawsurl.token,
                        contactawsurl.searchUrl,
                        JSON.stringify({
                            dataIds: dataIds1
                        }),
                        (result) => {
                    helper.search_core(contactawsurl.token,contactawsurl.searchUrl,JSON.stringify({
                        "dataIds":dataIds1
                    }),(result)=>{
                            if (result.status == '0') {
                                for (const m of result.object) {
                                    mm[m.dataId] = m;
                                }
                                b1 = true;
                                Foo();
                            } else {
                                this.error(
                                    'AWS search status3 : ' + result.status
                                );
                            this.error('AWS search status3 : ' + result.status);
                            }
                        },
                        component
                    );
                    },component);
                } else {
                    b1 = true;
                }
@@ -335,13 +257,10 @@
                // 更新保存後のselect_data用
                var report_id = component.get('v.update_select_report_data_id');
                if (report_id != '') {
                if (report_id != "") {
                    for (i = 0; i < res.reports.length; i++) {
                        if (res.reports[i]['Id'] == report_id) {
                            component.set(
                                'v.select_report_data',
                                res.reports[i]
                            );
                            component.set('v.select_report_data', res.reports[i]);
                            break;
                        }
                    }
@@ -354,20 +273,15 @@
                    component.set('v.list_message', 'no_data');
                }
                component.set('v.login', false);
            } else {
            }
            else{
                this.error('get_reports failed.');
                component.set('v.login', false);
            }
        });
        $A.enqueueAction(action);
    },
    get_reports_edit: function (
        component,
        event,
        helper,
        date_str,
        person_str
    ) {
    get_reports_edit : function(component, event, helper, date_str, person_str) {
        if (!date_str) {
            return false;
        }
@@ -376,8 +290,8 @@
        var action = component.get('c.getReports');
        action.setParams({
            date_str: date_str,
            person_str: person_str
            "date_str" : date_str,
            "person_str" : person_str,
        });
        component.set('v.loginEdit', true);
@@ -398,10 +312,7 @@
                        dataIds.push(rep.doctor2__r.AWS_Data_Id__c);
                    }
                    if (
                        rep.Person_In_Charge2__r &&
                        rep.Person_In_Charge2__r.AWS_Data_Id__c
                    ) {
                    if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c) {
                        dataIds1.push(rep.Person_In_Charge2__r.AWS_Data_Id__c);
                    }
                }
@@ -409,45 +320,28 @@
                Foo = function () {
                    if (b && b1) {
                        for (const rep of res.reports) {
                            if (
                                rep.doctor2__r &&
                                rep.doctor2__r.AWS_Data_Id__c &&
                                mm.hasOwnProperty(rep.doctor2__r.AWS_Data_Id__c)
                            ) {
                                rep.doctor2__r.awsdata =
                                    mm[rep.doctor2__r.AWS_Data_Id__c];
                            if (rep.doctor2__r && rep.doctor2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.doctor2__r.AWS_Data_Id__c)) {
                                rep.doctor2__r.awsdata = mm[rep.doctor2__r.AWS_Data_Id__c];
                            }
                            if (
                                rep.Person_In_Charge2__r &&
                                rep.Person_In_Charge2__r.AWS_Data_Id__c &&
                                mm.hasOwnProperty(
                                    rep.Person_In_Charge2__r.AWS_Data_Id__c
                                )
                            ) {
                                rep.Person_In_Charge2__r.awsdata =
                                    mm[rep.Person_In_Charge2__r.AWS_Data_Id__c];
                            if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.Person_In_Charge2__r.AWS_Data_Id__c)) {
                                rep.Person_In_Charge2__r.awsdata = mm[rep.Person_In_Charge2__r.AWS_Data_Id__c];
                            }
                        }
                        $A.getCallback(() =>
                            component.set('v.reports', res.reports)
                        )();
                        $A.getCallback(()=>component.set('v.reports', res.reports))();
                    } else {
                        console.log('b=' + b + ',b1=' + b1 + ',continue');
                        setTimeout(Foo, 100);
                    }
                };
                }
                if (dataIds.length > 0) {
                    let awsurl = component.get('v.awsurl');
                    helper.search_core(
                        awsurl.token,
                        awsurl.searchUrl,
                        JSON.stringify({
                            dataIds: dataIds
                        }),
                        (result) => {
                    helper.search_core(awsurl.token,awsurl.searchUrl,JSON.stringify({
                        "dataIds":dataIds
                    }),(result)=>{
                            if (result.status == '0') {
                                for (const m of result.object) {
                                    mm[m.dataId] = m;
                                }
@@ -457,36 +351,29 @@
                                //this.error('AWS search status2 : ' + result.status);
                                this.success('请重新刷新页面进行解密');
                            }
                        },
                        component
                    );
                    },component);
                } else {
                    b = true;
                }
                if (dataIds1.length > 0) {
                    let contactawsurl = component.get('v.contactawsurl');
                    helper.search_core(
                        contactawsurl.token,
                        contactawsurl.searchUrl,
                        JSON.stringify({
                            dataIds: dataIds1
                        }),
                        (result) => {
                    helper.search_core(contactawsurl.token,contactawsurl.searchUrl,JSON.stringify({
                        "dataIds":dataIds1
                    }),(result)=>{
                            if (result.status == '0') {
                                for (const m of result.object) {
                                    mm[m.dataId] = m;
                                }
                                b1 = true;
                                Foo();
                            } else {
                                this.error(
                                    'AWS search status3 : ' + result.status
                                );
                            this.error('AWS search status3 : ' + result.status);
                            }
                        },
                        component
                    );
                    },component);
                } else {
                    b1 = true;
                }
@@ -497,13 +384,10 @@
                // 更新保存後のselect_data用
                var report_id = component.get('v.update_select_report_data_id');
                if (report_id != '') {
                if (report_id != "") {
                    for (i = 0; i < res.reports.length; i++) {
                        if (res.reports[i]['Id'] == report_id) {
                            component.set(
                                'v.select_report_data',
                                res.reports[i]
                            );
                            component.set('v.select_report_data', res.reports[i]);
                            break;
                        }
                    }
@@ -516,7 +400,8 @@
                    component.set('v.list_message', 'no_data');
                }
                component.set('v.loginEdit', false);
            } else {
            }
            else{
                this.error('get_reports failed.');
                component.set('v.loginEdit', false);
            }
@@ -525,13 +410,7 @@
    },
    select_date_change: function (component, event, helper) {
        this.get_reports(
            component,
            event,
            helper,
            component.find('select_date').get('v.value'),
            component.find('select_agency_person').get('v.value')
        );
        this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
        this.new_button_disabled(component, event, helper);
        component.set('v.select_report_data_radio', '');
@@ -539,19 +418,11 @@
    },
    select_agency_change: function (component, event, helper) {
        var select_value = component
            .find('select_agency_person')
            .get('v.value');
        var select_value = component.find('select_agency_person').get('v.value');
        var new_label = this.get_agency_person_name(component, select_value);
        component.set('v.selected_agency_person', new_label);
        this.get_reports(
            component,
            event,
            helper,
            component.find('select_date').get('v.value'),
            select_value
        );
        this.get_reports(component, event, helper, component.find('select_date').get('v.value'), select_value);
        this.new_button_disabled(component, event, helper);
        component.set('v.select_report_data_radio', '');
@@ -575,9 +446,7 @@
    new_button_disabled: function (component, event, helper) {
        var select_date = component.find('select_date').get('v.value');
        var select_agency = component
            .find('select_agency_person')
            .get('v.value');
        var select_agency = component.find('select_agency_person').get('v.value');
        if (select_date && select_agency) {
            component.find('new_button').set('v.disabled', false);
        } else {
@@ -593,10 +462,7 @@
            $A.util.removeClass(modal_window, 'disp_none');
            $A.util.removeClass(modal_bg, 'disp_none');
            component.set('v.loginEdit', true);
            if (
                component.get('v.mode') == 'edit' ||
                component.get('v.mode') == 'copy'
            ) {
            if (component.get('v.mode') == 'edit' || component.get('v.mode') == 'copy') {
                var select_data = '';
                if (component.get('v.mode') == 'edit') {
                    select_data = component.get('v.select_report_data');
@@ -607,76 +473,48 @@
                var reports = component.get('v.reports');
                var Agency_Hospital_text = '';
                var Agency_Hospital_parent_id = '';
                debugger;
                debugger
                // 医院名
                if (select_data['Agency_Hospital__c'] != '') {
                    for (var i = 0; i < reports.length; i++) {
                        if (
                            reports[i]['Agency_Hospital__c'] ==
                            select_data['Agency_Hospital__c']
                        ) {
                            Agency_Hospital_text =
                                reports[i]['Agency_Hospital__r']['Name'];
                            Agency_Hospital_parent_id =
                                reports[i]['Agency_Hospital__r']['Hospital__c'];
                        if (reports[i]['Agency_Hospital__c'] == select_data['Agency_Hospital__c']) {
                            Agency_Hospital_text = reports[i]['Agency_Hospital__r']['Name'];
                            Agency_Hospital_parent_id = reports[i]['Agency_Hospital__r']['Hospital__c'];
                        }
                    }
                    component.set('v.hospital', Agency_Hospital_text);
                    component.set('v.hospitalId', Agency_Hospital_parent_id);
                    component.set(
                        'v.hospitalLinkId',
                        select_data['Agency_Hospital__c']
                    );
                    component.set('v.hospitalLinkId', select_data['Agency_Hospital__c']);
                    component.find('new_con').set('v.disabled', false);
                }
                // 科室
                if (select_data['Department_Cateogy__c'] != '') {
                    this.set_selected(
                        component,
                        'select_department',
                        select_data['Department_Cateogy__c']
                    );
                    this.set_selected(component, 'select_department', select_data['Department_Cateogy__c']);
                }
                // 拜访人
                component.set(
                    'v.default_select_doctor_id',
                    select_data['doctor2__c']
                );
                component.set('v.default_select_doctor_id', select_data['doctor2__c']);
                this.set_doctor_list(component);
                // 活动区分
                if (select_data['Purpose_Type__c'] != '') {
                    this.set_selected(
                        component,
                        'select_purpose_type',
                        select_data['Purpose_Type__c']
                    );
                    this.set_selected(component, 'select_purpose_type', select_data['Purpose_Type__c']);
                    this.select_purpose_type(component);
                }
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                // 支援需求
                if (select_data['SupportNeeds__c'] != '') {
                    this.set_selected(
                        component,
                        'SupportNeeds__c',
                        select_data['SupportNeeds__c']
                    );
                    this.set_selected(component, 'SupportNeeds__c', select_data['SupportNeeds__c']);
                }
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end
                // 結果
                if (
                    select_data['Result__c'] != '' &&
                    typeof select_data['Result__c'] !== 'undefined'
                ) {
                    component
                        .find('select_result')
                        .set('v.value', select_data['Result__c']);
                if (select_data['Result__c'] != '' && typeof select_data['Result__c'] !== "undefined") {
                    component.find('select_result').set('v.value', select_data['Result__c']);
                }
                // 询价
                var report_id = component.get('v.edit_copy_select_report_id');
                if (report_id != '') {
                if (report_id != "") {
                    var select_opp = '';
                    var select_product_category1 = '';
                    var select_product_category2 = '';
@@ -684,27 +522,22 @@
                    var reportDate;
                    var i = 0;
                    for (i = 0; i < reports.length; i++) {
                        if (report_id == reports[i]['Id']) {
                            select_opp = reports[i]['Opportunity__c'];
                            select_product_category1 =
                                reports[i]['Product_Category1__c'];
                            select_product_category2 =
                                reports[i]['Product_Category2__c'];
                            select_product_category3 =
                                reports[i]['Product_Category3__c'];
                            reportDate = reports[i]['Report_Date__c'];
                        if (report_id == reports[i]["Id"]) {
                            select_opp = reports[i]["Opportunity__c"];
                            select_product_category1 = reports[i]["Product_Category1__c"];
                            select_product_category2 = reports[i]["Product_Category2__c"];
                            select_product_category3 = reports[i]["Product_Category3__c"];
                            reportDate = reports[i]["Report_Date__c"];
                            break;
                        }
                    }
                    // 询价
                    if (select_opp != null && select_opp != '') {
                        var select_opp_name =
                            component.get('v.reports')[i].OppName__c;
                        var select_opp_name = component.get('v.reports')[i].OppName__c;
                        component.set('v.data.Opportunity__c', select_opp);
                        if ($A.get('$Browser.formFactor') == 'DESKTOP') {
                            var values = [
                                {
                        if ($A.get("$Browser.formFactor") == 'DESKTOP') {
                            var values = [{
                                    type: 'Agency_Opportunity__c',
                                    id: select_opp,
                                    label: select_opp_name,
@@ -713,42 +546,23 @@
                                        backgroundColor: 'dc71d1',
                                        alt: 'Agency_Opportunity__c'
                                    }
                                }
                            ];
                            }];
                            component.set('v.data.Opportunity__c', select_opp);
                            // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
                        } else {
                            component
                                .find('input-opportunity')
                                .get('v.body')[0]
                                .set('v.selectedLabel', select_opp_name);
                            component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', select_opp_name);
                        }
                    }
                    // 产品区分
                    if (
                        select_product_category1 != null &&
                        select_product_category1 != ''
                    ) {
                        component
                            .find('select_Product1')
                            .set('v.value', select_product_category1);
                    if (select_product_category1 != null && select_product_category1 != '') {
                        component.find('select_Product1').set('v.value', select_product_category1);
                    }
                    if (
                        select_product_category2 != null &&
                        select_product_category2 != ''
                    ) {
                        component
                            .find('select_Product2')
                            .set('v.value', select_product_category2);
                    if (select_product_category2 != null && select_product_category2 != '') {
                        component.find('select_Product2').set('v.value', select_product_category2);
                    }
                    if (
                        select_product_category3 != null &&
                        select_product_category3 != ''
                    ) {
                        component
                            .find('select_Product3')
                            .set('v.value', select_product_category3);
                    if (select_product_category3 != null && select_product_category3 != '') {
                        component.find('select_Product3').set('v.value', select_product_category3);
                    }
                    if (reportDate != null) {
@@ -756,7 +570,7 @@
                        component.set('v.data.Report_Date__c', reportDate);
                    }
                    component.set('v.edit_copy_select_report_id', '');
                    component.set('v.edit_copy_select_report_id', "");
                }
            }
            setTimeout(function () {
@@ -768,63 +582,39 @@
            var select_report_data = component.get('v.select_report_data');
            var Report_Date__c = component.get('v.data.Report_Date__c');
            var Agency_Hospital__c = component.get('v.hospitalLinkId');
            var Department_Cateogy__c = component
                .find('select_department')
                .get('v.value');
            var Department_Cateogy__c = component.find('select_department').get('v.value');
            var doctor2__c = component.find('select_doctor').get('v.value');
            var Purpose_Type__c = component
                .find('select_purpose_type')
                .get('v.value');
            var SupportNeeds__c = component
                .find('SupportNeeds__c')
                .get('v.value');
            var Purpose_Type__c = component.find('select_purpose_type').get('v.value');
            var SupportNeeds__c = component.find('SupportNeeds__c').get('v.value');
            var Opportunity__c = component.get('v.data.Opportunity__c');
            var Product_Category1__c = component
                .find('select_Product1')
                .get('v.value');
            var Product_Category2__c = component
                .find('select_Product2')
                .get('v.value');
            var Product_Category3__c = component
                .find('select_Product3')
                .get('v.value');
            var Product_Category1__c = component.find('select_Product1').get('v.value');
            var Product_Category2__c = component.find('select_Product2').get('v.value');
            var Product_Category3__c = component.find('select_Product3').get('v.value');
            var Result__c = component.find('select_result').get('v.value');
            if (select_report_data !== null) {
                if (
                    typeof select_report_data['Opportunity__c'] === 'undefined'
                ) {
                    select_report_data['Opportunity__c'] = '';
                if (typeof select_report_data['Opportunity__c'] === "undefined") {
                    select_report_data['Opportunity__c'] = "";
                }
                if (
                    typeof select_report_data['Product_Category1__c'] ===
                    'undefined'
                ) {
                    select_report_data['Product_Category1__c'] = '';
                if (typeof select_report_data['Product_Category1__c'] === "undefined") {
                    select_report_data['Product_Category1__c'] = "";
                }
                if (
                    typeof select_report_data['Product_Category2__c'] ===
                    'undefined'
                ) {
                    select_report_data['Product_Category2__c'] = '';
                if (typeof select_report_data['Product_Category2__c'] === "undefined") {
                    select_report_data['Product_Category2__c'] = "";
                }
                if (
                    typeof select_report_data['Product_Category3__c'] ===
                    'undefined'
                ) {
                    select_report_data['Product_Category3__c'] = '';
                if (typeof select_report_data['Product_Category3__c'] === "undefined") {
                    select_report_data['Product_Category3__c'] = "";
                }
                if (typeof select_report_data['Result__c'] === 'undefined') {
                    select_report_data['Result__c'] = '';
                if (typeof select_report_data['Result__c'] === "undefined") {
                    select_report_data['Result__c'] = "";
                }
            }
            if (component.get('v.mode') == 'new') {
                var confirm_title = '警告!';
                var confirm_title = '警告!'
                var confirm_text = '放弃新建周报?';
                if (
                    !Report_Date__c &&
                if (!Report_Date__c &&
                    !Agency_Hospital__c &&
                    !Department_Cateogy__c &&
                    !doctor2__c &&
@@ -834,8 +624,8 @@
                    !Product_Category1__c &&
                    !Product_Category2__c &&
                    !Product_Category3__c &&
                    !Result__c
                ) {
                    !Result__c)
                {
                    this.allclear(component);
                    $A.util.addClass(modal_window, 'disp_none');
                    $A.util.addClass(modal_bg, 'disp_none');
@@ -843,27 +633,21 @@
                    this.close_confirm(component, confirm_title, confirm_text);
                }
            } else if (component.get('v.mode') == 'copy') {
                var confirm_title = '警告!';
                var confirm_title = '警告!'
                var confirm_text = '放弃新建周报?';
                if (
                    select_report_data['Report_Date__c'] == Report_Date__c &&
                    select_report_data['Agency_Hospital__c'] ==
                        Agency_Hospital__c &&
                    select_report_data['Department_Cateogy__c'] ==
                        Department_Cateogy__c &&
                if (select_report_data['Report_Date__c'] == Report_Date__c &&
                    select_report_data['Agency_Hospital__c'] == Agency_Hospital__c &&
                    select_report_data['Department_Cateogy__c'] == Department_Cateogy__c &&
                    select_report_data['doctor2__c'] == doctor2__c &&
                    select_report_data['Purpose_Type__c'] == Purpose_Type__c &&
                    select_report_data['SupportNeeds__c'] == SupportNeeds__c && //WAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加
                    select_report_data['Opportunity__c'] == Opportunity__c &&
                    select_report_data['Product_Category1__c'] ==
                        Product_Category1__c &&
                    select_report_data['Product_Category2__c'] ==
                        Product_Category2__c &&
                    select_report_data['Product_Category3__c'] ==
                        Product_Category3__c &&
                    select_report_data['Result__c'] == Result__c
                ) {
                    select_report_data['Product_Category1__c'] == Product_Category1__c &&
                    select_report_data['Product_Category2__c'] == Product_Category2__c &&
                    select_report_data['Product_Category3__c'] == Product_Category3__c &&
                    select_report_data['Result__c'] == Result__c)
                {
                    this.allclear(component);
                    $A.util.addClass(modal_window, 'disp_none');
                    $A.util.addClass(modal_bg, 'disp_none');
@@ -871,27 +655,21 @@
                    this.close_confirm(component, confirm_title, confirm_text);
                }
            } else if (component.get('v.mode') == 'edit') {
                var confirm_title = '警告!';
                var confirm_title = '警告!'
                var confirm_text = '放弃编辑周报?';
                if (
                    select_report_data['Report_Date__c'] == Report_Date__c &&
                    select_report_data['Agency_Hospital__c'] ==
                        Agency_Hospital__c &&
                    select_report_data['Department_Cateogy__c'] ==
                        Department_Cateogy__c &&
                if (select_report_data['Report_Date__c'] == Report_Date__c &&
                    select_report_data['Agency_Hospital__c'] == Agency_Hospital__c &&
                    select_report_data['Department_Cateogy__c'] == Department_Cateogy__c &&
                    select_report_data['doctor2__c'] == doctor2__c &&
                    select_report_data['Purpose_Type__c'] == Purpose_Type__c &&
                    select_report_data['SupportNeeds__c'] == SupportNeeds__c && //WAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加
                    select_report_data['Opportunity__c'] == Opportunity__c &&
                    select_report_data['Product_Category1__c'] ==
                        Product_Category1__c &&
                    select_report_data['Product_Category2__c'] ==
                        Product_Category2__c &&
                    select_report_data['Product_Category3__c'] ==
                        Product_Category3__c &&
                    select_report_data['Result__c'] == Result__c
                ) {
                    select_report_data['Product_Category1__c'] == Product_Category1__c &&
                    select_report_data['Product_Category2__c'] == Product_Category2__c &&
                    select_report_data['Product_Category3__c'] == Product_Category3__c &&
                    select_report_data['Result__c'] == Result__c)
                {
                    this.allclear(component);
                    $A.util.addClass(modal_window, 'disp_none');
                    $A.util.addClass(modal_bg, 'disp_none');
@@ -899,6 +677,7 @@
                    this.close_confirm(component, confirm_title, confirm_text);
                }
            }
        }
    },
@@ -922,7 +701,7 @@
            $A.util.addClass(modal_confirm_bg, 'disp_none');
            component.set('v.mode', '');
            this.allclear(component);
            component.set('v.reports_now', '');
            component.set('v.reports_now', "");
            component.set('v.reports_now_count', 0);
            component.set('v.confirm_status', 0);
        } else if (confirm_status == 2) {
@@ -939,19 +718,12 @@
        component.set('v.mode', 'new');
        component.set('v.dialog_type', '新建');
        var select_date = component.find('select_date').get('v.value');
        var select_agency = component
            .find('select_agency_person')
            .get('v.value');
        var select_agency = component.find('select_agency_person').get('v.value');
        component.set('v.selected_date', select_date);
        var name = component.get('v.selected_agency_person');
        var ret = this.create_report_header(
            component,
            name,
            select_agency,
            select_date
        );
        var ret = this.create_report_header(component, name, select_agency, select_date);
        // PIPL update Yin Mingjie 21/02/2022 start
        this.set_aws_url(component, 'Agency_Contact__c');
        this.set_aws_url(component,'Agency_Contact__c')
        // PIPL update Yin Mingjie 21/02/2022 end
    },
@@ -963,17 +735,8 @@
        component.set('v.loadOpp', true);
        // 週
        var now = new Date();
        var start_day = new Date(
            now.getFullYear(),
            now.getMonth(),
            now.getDate() - now.getDay() + 1
        );
        var select_date =
            start_day.getFullYear() +
            '/' +
            (start_day.getMonth() + 1) +
            '/' +
            start_day.getDate();
        var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1));
        var select_date = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate();
        this.set_selected(component, 'select_date', select_date);
        component.set('v.selected_date', select_date);
@@ -990,12 +753,7 @@
        component.set('v.edit_copy_select_report_id', select_report_data['Id']);
        component.set('v.select_report_data', select_report_data);
        var ret = this.create_report_header(
            component,
            name,
            select_agency,
            select_date
        );
        var ret = this.create_report_header(component, name, select_agency, select_date);
    },
    change_report_radio: function (component, event, helper) {
@@ -1014,19 +772,14 @@
        this.allclear(component);
        component.set('v.loadOpp', true);
        var index = event.getSource().get('v.value');
        component.set(
            'v.select_report_data',
            component.get('v.reports')[index]
        );
        component.set('v.select_report_data', component.get('v.reports')[index]);
        component.set('v.mode', 'edit');
        component.set('v.dialog_type', '编辑');
        var select_date = component.get('v.reports')[index].Submit_date__c;
        var select_agency =
            component.get('v.reports')[index].Person_In_Charge2__c;
        var select_agency = component.get('v.reports')[index].Person_In_Charge2__c;
        var text_tmp = select_date.split('-');
        var select_date_text =
            text_tmp[0] + '/' + Number(text_tmp[1]) + '/' + Number(text_tmp[2]);
        var select_date_text = text_tmp[0] + '/' + Number(text_tmp[1]) + '/' + Number(text_tmp[2]);
        component.set('v.selected_date', select_date_text);
        var name = component.get('v.reports')[index].Person_In_Charge2__r.Name;
@@ -1036,20 +789,13 @@
        var new_label = this.get_agency_person_name(component, select_agency);
        component.set('v.selected_agency_person', new_label);
        component.set(
            'v.edit_copy_select_report_id',
            component.get('v.reports')[index].Id
        );
        component.set('v.edit_copy_select_report_id', component.get('v.reports')[index].Id);
        var ret = this.create_report_header(
            component,
            name,
            select_agency,
            select_date
        );
        var ret = this.create_report_header(component, name, select_agency, select_date);
    },
    save_report: function (component, event, helper) {
        // 20220222 PI改造  by Bright--start
        let doctor2Name = '';
        let visitortitle = '';
@@ -1061,55 +807,43 @@
        }
        // 20220222 PI改造  by Bright--end
        component.find('save_button').set('v.disabled', true);
        var Report_Date__c = component.get('v.data.Report_Date__c');
        // alert('Report_Date__c'+Report_Date__c);
        var Person_In_Charge2__c = '';
        var Submit_date__c = '';
        var Person_In_Charge2__c = "";
        var Submit_date__c = "";
        if (component.get('v.mode') == 'edit') {
            // 周 Submit_date__c
            Submit_date__c = component.get(
                'v.select_report_data'
            ).Submit_date__c;
            Submit_date__c = component.get('v.select_report_data').Submit_date__c;
            // alert('Submit_date__c'+Submit_date__c);
            // 担当 Person_In_Charge2__c
            Person_In_Charge2__c = component.get(
                'v.select_report_data'
            ).Person_In_Charge2__c;
            Person_In_Charge2__c = component.get('v.select_report_data').Person_In_Charge2__c;
        } else {
            // 周 Submit_date__c
            Submit_date__c = this.get_date_string(
                component.find('select_date').get('v.value')
            );
            Submit_date__c = this.get_date_string(component.find('select_date').get('v.value'));
            // alert('Submit_date__c'+Submit_date__c);
            // 担当 Person_In_Charge2__c
            Person_In_Charge2__c = component
                .find('select_agency_person')
                .get('v.value');
            Person_In_Charge2__c = component.find('select_agency_person').get('v.value');
        }
        // Agency_Report_Header__c
        var Agency_Report_Header__c = component.get(
            'v.agency_report_header_id'
        );
        var Agency_Report_Header__c = component.get('v.agency_report_header_id');
        // 医院 Agency_Hospital__c (Agency_Hospital_Link__c)
        var Agency_Hospital__c = component.get('v.hospitalLinkId');
        // 科室 Department_Cateogy__c
        var Department_Cateogy__c = component
            .find('select_department')
            .get('v.value');
        var Department_Cateogy__c = component.find('select_department').get('v.value');
        // 拜访人 doctor2__c
        var doctor2__c = component.find('select_doctor').get('v.value');
        // 活动区分 Purpose_Type__c
        var Purpose_Type__c = component
            .find('select_purpose_type')
            .get('v.value');
        var Purpose_Type__c = component.find('select_purpose_type').get('v.value');
        //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
        // 支援需求 SupportNeeds__c
        var SupportNeeds__c = component.find('SupportNeeds__c').get('v.value');
@@ -1118,35 +852,19 @@
        var Opportunity__c = component.get('v.data.Opportunity__c');
        var StageName__c = component.find('select_stageName').get('v.value');
        var Amount__c =
            component.get('v.oppdata.Amount__c') != null
                ? component.get('v.oppdata.Amount__c').toString()
                : '';
        var OCMSale_Price__c =
            component.get('v.oppdata.OCMSale_Price__c') != null
                ? component.get('v.oppdata.OCMSale_Price__c').toString()
                : '';
        var Close_Forecasted_Date__c = component.get(
            'v.oppdata.Close_Forecasted_Date__c'
        );
        var Amount__c = component.get('v.oppdata.Amount__c') != null ? component.get('v.oppdata.Amount__c').toString() : '';
        var OCMSale_Price__c = component.get('v.oppdata.OCMSale_Price__c') != null ? component.get('v.oppdata.OCMSale_Price__c').toString() : '';
        var Close_Forecasted_Date__c = component.get('v.oppdata.Close_Forecasted_Date__c');
        var StageName__c_o = component.get('v.StageName__c_o');
        var Amount__c_o = component.get('v.Amount__c_o');
        var OCMSale_Price__c_o = component.get('v.OCMSale_Price__c_o');
        var Close_Forecasted_Date__c_o = component.get(
            'v.Close_Forecasted_Date__c_o'
        );
        var Close_Forecasted_Date__c_o = component.get('v.Close_Forecasted_Date__c_o');
        if (StageName__c_o == undefined) StageName__c_o = '';
        if (Amount__c_o == undefined) Amount__c_o = '';
        if (OCMSale_Price__c_o == undefined) OCMSale_Price__c_o = '';
        if (Close_Forecasted_Date__c_o == undefined)
            Close_Forecasted_Date__c_o = '';
        if (
            StageName__c == StageName__c_o &&
            OCMSale_Price__c_o == OCMSale_Price__c &&
            Amount__c == Amount__c_o &&
            Close_Forecasted_Date__c == Close_Forecasted_Date__c_o
        ) {
        if (Close_Forecasted_Date__c_o == undefined) Close_Forecasted_Date__c_o = '';
        if (StageName__c == StageName__c_o && OCMSale_Price__c_o == OCMSale_Price__c && Amount__c == Amount__c_o && Close_Forecasted_Date__c == Close_Forecasted_Date__c_o) {
            StageName__c = '';
            Amount__c = '';
            OCMSale_Price__c = '';
@@ -1154,71 +872,35 @@
        }
        // 产品区分 Product_Category__c (ProductTypes__c)
        var Product_Category1__c = component
            .find('select_Product1')
            .get('v.value');
        var Product_Category2__c = component
            .find('select_Product2')
            .get('v.value');
        var Product_Category3__c = component
            .find('select_Product3')
            .get('v.value');
        var Product_Category1__c = component.find('select_Product1').get('v.value');
        var Product_Category2__c = component.find('select_Product2').get('v.value');
        var Product_Category3__c = component.find('select_Product3').get('v.value');
        // 結果 Result__c
        var Result__c = component.find('select_result').get('v.value');
        // バリデーション
        var error = [];
        if (!Report_Date__c) {
            error.push('活动日 不存在');
        }
        if (!Submit_date__c) {
            error.push('周 不存在');
        }
        if (!Report_Date__c) { error.push("活动日 不存在"); }
        if (!Submit_date__c) { error.push("周 不存在"); }
        var rDate = new Date(Report_Date__c);
        var sDate = new Date(Submit_date__c);
        sDate.setDate(sDate.getDate() - 1);
        if (rDate < sDate) {
            error.push('活动日必须是本周!');
        }
        if (rDate < sDate) {error.push('活动日必须是本周!'); }
        sDate.setDate(sDate.getDate() + 7);
        if (rDate >= sDate) {
            error.push('活动日必须是本周!');
        }
        if (rDate >= sDate) {error.push('活动日必须是本周!'); }
        if (!Person_In_Charge2__c) {
            error.push('担当 不存在');
        }
        if (!Agency_Report_Header__c) {
            this.error('Report Header Id 不存在');
        }
        if (!Agency_Hospital__c) {
            error.push('医院 不存在');
        }
        if (!Department_Cateogy__c) {
            error.push('科室 不存在');
        }
        if (!doctor2__c) {
            error.push('拜访人 不存在');
        }
        if (!Purpose_Type__c) {
            error.push('活动区分 不存在');
        }
        if (!Person_In_Charge2__c) { error.push("担当 不存在"); }
        if (!Agency_Report_Header__c) { this.error("Report Header Id 不存在"); }
        if (!Agency_Hospital__c) { error.push("医院 不存在"); }
        if (!Department_Cateogy__c) { error.push("科室 不存在"); }
        if (!doctor2__c) { error.push("拜访人 不存在"); }
        if (!Purpose_Type__c) { error.push("活动区分 不存在"); }
        // if (!SupportNeeds__c) { error.push("支援需求 不存在"); }
        if (!Opportunity__c) {
            Opportunity__c = '';
        }
        if (!Product_Category1__c) {
            error.push('产品区分1 不存在');
        }
        if (
            Purpose_Type__c &&
            (Purpose_Type__c.substr(-3) == 'SIS' ||
                Purpose_Type__c.substr(-3) == 'OPD')
        ) {
            if (!Result__c) {
                error.push('结果 不存在');
            }
        if (!Opportunity__c) { Opportunity__c = ""; }
        if (!Product_Category1__c) { error.push("产品区分1 不存在"); }
        if (Purpose_Type__c && (Purpose_Type__c.substr(-3) == 'SIS' || Purpose_Type__c.substr(-3) == 'OPD')) {
            if (!Result__c) { error.push("结果 不存在"); }
        }
        for (var i = 0; i < error.length; i++) {
            this.warning(error[i]);
@@ -1228,35 +910,36 @@
            return false;
        }
        // 保存処理
        component.set('v.loginEdit', true);
        if (component.get('v.mode') == 'edit') {
            var Agency_Report__c = component.get('v.select_report_data').Id;
            var action = component.get('c.editAgencyReport');
            debugger;
            debugger
            // alert("Purpose_Type:"+Purpose_Type__c+","+"SupportNeedsc:"+SupportNeeds__c);
            action.setParams({
                Agency_Report_Id: Agency_Report__c,
                Department_Cateogy: Department_Cateogy__c,
                Purpose_Type: Purpose_Type__c,
                "Agency_Report_Id" : Agency_Report__c,
                "Department_Cateogy" : Department_Cateogy__c,
                "Purpose_Type" : Purpose_Type__c,
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                SupportNeedsc: SupportNeeds__c,
                 "SupportNeedsc" : SupportNeeds__c,
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end
                Agency_Report_Header: Agency_Report_Header__c,
                Agency_Hospital: Agency_Hospital__c,
                Person_In_Charge2: Person_In_Charge2__c,
                doctor: doctor2__c,
                Submit_date: Submit_date__c,
                Product_Category1: Product_Category1__c,
                Product_Category2: Product_Category2__c,
                Product_Category3: Product_Category3__c,
                Result: Result__c,
                Opportunity: Opportunity__c,
                StageName: StageName__c,
                oppAmount: Amount__c,
                oppOCMPrice: OCMSale_Price__c,
                Close_Forecasted_Date: Close_Forecasted_Date__c,
                Report_Date: Report_Date__c
                "Agency_Report_Header" : Agency_Report_Header__c,
                "Agency_Hospital" : Agency_Hospital__c,
                "Person_In_Charge2" : Person_In_Charge2__c,
                "doctor" : doctor2__c,
                "Submit_date" : Submit_date__c,
                "Product_Category1" : Product_Category1__c,
                "Product_Category2" : Product_Category2__c,
                "Product_Category3" : Product_Category3__c,
                "Result" : Result__c,
                "Opportunity" : Opportunity__c,
                "StageName" : StageName__c,
                "oppAmount" : Amount__c,
                "oppOCMPrice" : OCMSale_Price__c,
                "Close_Forecasted_Date" : Close_Forecasted_Date__c,
                "Report_Date" : Report_Date__c,
            });
            action.setCallback(this, function (response) {
@@ -1266,36 +949,23 @@
                    var report_id = response.getReturnValue();
                    component.set('v.create_agency_report_id', report_id);
                    var select_agency_list =
                        component.get('v.allselectlist').AgencyPerson__c;
                    var select_agency_list = component.get('v.allselectlist').AgencyPerson__c;
                    for (var i = 0; i < select_agency_list.length; i++) {
                        if (
                            select_agency_list[i].value ==
                            component.get('v.select_report_data')
                                .Person_In_Charge2__c
                        ) {
                        if (select_agency_list[i].value == component.get('v.select_report_data').Person_In_Charge2__c) {
                            select_agency_list[i].selected = true;
                        } else {
                            select_agency_list[i].selected = false;
                        }
                    }
                    component
                        .find('select_agency_person')
                        .set('v.options', select_agency_list);
                    component.find('select_agency_person').set('v.options', select_agency_list);
                    component.set('v.update_select_report_data_id', report_id);
                    this.get_reports_edit(
                        component,
                        event,
                        helper,
                        component.get('v.select_report_data').Submit_date__c,
                        component.get('v.select_report_data')
                            .Person_In_Charge2__c
                    );
                    this.get_reports_edit(component, event, helper, component.get('v.select_report_data').Submit_date__c, component.get('v.select_report_data').Person_In_Charge2__c);
                    component.find('save_button').set('v.disabled', false);
                    component.set('v.loginEdit', false);
                } else {
                }
                else{
                    // var error = response.getError();
                    // alert(JSON.stringify(error));
                    // alert(JSON.stringify(error[0].fieldErrors));
@@ -1318,26 +988,26 @@
            debugger;
            // alert(SupportNeeds__c);
            action.setParams({
                Department_Cateogy: Department_Cateogy__c,
                Purpose_Type: Purpose_Type__c,
                "Department_Cateogy" : Department_Cateogy__c,
                "Purpose_Type" : Purpose_Type__c,
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                SupportNeedsc: SupportNeeds__c,
                "SupportNeedsc" : SupportNeeds__c,
                //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end
                Agency_Report_Header: Agency_Report_Header__c,
                Agency_Hospital: Agency_Hospital__c,
                Person_In_Charge2: Person_In_Charge2__c,
                doctor: doctor2__c,
                Submit_date: Submit_date__c,
                Product_Category1: Product_Category1__c,
                Product_Category2: Product_Category2__c,
                Product_Category3: Product_Category3__c,
                Result: Result__c,
                Opportunity: Opportunity__c,
                StageName: StageName__c,
                oppAmount: Amount__c,
                oppOCMPrice: OCMSale_Price__c,
                Close_Forecasted_Date: Close_Forecasted_Date__c,
                Report_Date: Report_Date__c
                "Agency_Report_Header" : Agency_Report_Header__c,
                "Agency_Hospital" : Agency_Hospital__c,
                "Person_In_Charge2" : Person_In_Charge2__c,
                "doctor" : doctor2__c,
                "Submit_date" : Submit_date__c,
                "Product_Category1" : Product_Category1__c,
                "Product_Category2" : Product_Category2__c,
                "Product_Category3" : Product_Category3__c,
                "Result" : Result__c,
                "Opportunity" : Opportunity__c,
                "StageName" : StageName__c,
                "oppAmount" : Amount__c,
                "oppOCMPrice" : OCMSale_Price__c,
                "Close_Forecasted_Date" : Close_Forecasted_Date__c,
                "Report_Date" : Report_Date__c,
            });
            action.setCallback(this, function (response) {
@@ -1347,18 +1017,12 @@
                    var report_id = response.getReturnValue();
                    component.set('v.create_agency_report_id', report_id);
                    this.get_reports_edit(
                        component,
                        event,
                        helper,
                        component.find('select_date').get('v.value'),
                        component.find('select_agency_person').get('v.value')
                    );
                    this.get_reports_edit(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
                    // モーダルウィンドウ内の一覧用
                    var action2 = component.get('c.getReportsById');
                    action2.setParams({
                        report_id: report_id
                        "report_id" : report_id,
                    });
                    action2.setCallback(this, function (response) {
                        var state = response.getState();
@@ -1366,7 +1030,7 @@
                            var res = response.getReturnValue();
                            var reports_now = component.get('v.reports_now');
                            var reports_now_count = 0;
                            if (reports_now.length > 0 && reports_now != '') {
                            if (reports_now.length > 0 && reports_now != "") {
                                reports_now_count = reports_now.length;
                            }
@@ -1385,18 +1049,13 @@
                                });
                                component.set('v.reports_now', reports_now);
                                component.set(
                                    'v.reports_now_count',
                                    reports_now.length
                                );
                                var data_list =
                                    component.find('modal_data_list_tr');
                                component.set('v.reports_now_count', reports_now.length);
                                var data_list = component.find('modal_data_list_tr');
                            }
                        } else {
                        }
                        else{
                            this.error('get_reports_now failed.');
                            component
                                .find('save_button')
                                .set('v.disabled', false);
                            component.find('save_button').set('v.disabled', false);
                            component.set('v.loginEdit', false);
                        }
                    });
@@ -1405,7 +1064,8 @@
                    this.allclear(component);
                    component.find('save_button').set('v.disabled', false);
                    component.set('v.loginEdit', false);
                } else {
                }
                else{
                    var error = response.getError();
                    // alert(JSON.stringify(error));
                    this.error('saveAgencyReport failed.');
@@ -1425,31 +1085,10 @@
        component.find('new_con').set('v.disabled', true);
        component.find('select_doctor').set('v.options', clear);
        component.set('v.doctor_title', '');
        component
            .find('select_department')
            .set(
                'v.options',
                this.conv_selected(
                    component.get('v.allselectlist.Department_Cateogy__c')
                )
            );
        component
            .find('select_purpose_type')
            .set(
                'v.options',
                this.conv_selected(
                    component.get('v.allselectlist.Purpose_Type__c')
                )
            );
        component.find('select_department').set('v.options', this.conv_selected(component.get('v.allselectlist.Department_Cateogy__c')));
        component.find('select_purpose_type').set('v.options', this.conv_selected(component.get('v.allselectlist.Purpose_Type__c')));
        //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
        component
            .find('SupportNeeds__c')
            .set(
                'v.options',
                this.conv_selected(
                    component.get('v.allselectlist.SupportNeeds__c')
                )
            );
        component.find('SupportNeeds__c').set('v.options', this.conv_selected(component.get('v.allselectlist.SupportNeeds__c')));
        //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 end
        // ToDo需要测试手机上能运行不
        component.set('v.data.Opportunity__c', '');
@@ -1467,23 +1106,11 @@
        component.set('v.Amount__c_o', '');
        component.set('v.OCMSale_Price__c_o', '');
        component.set('v.StageName__c_o', '');
        $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-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'
        );
        $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);
@@ -1505,82 +1132,24 @@
        var ret_obj = [];
        var now = new Date();
        for (var i = 0; i < count; i++) {
            var start_day = new Date(
                now.getFullYear(),
                now.getMonth(),
                now.getDate() - now.getDay() + 1 - i * 7
            );
            var end_day = new Date(
                now.getFullYear(),
                now.getMonth(),
                now.getDate() + (7 - now.getDay()) - i * 7
            );
            var start_day_show = new Date(
                now.getFullYear(),
                now.getMonth(),
                now.getDate() - now.getDay() - i * 7
            );
            var end_day_show = new Date(
                now.getFullYear(),
                now.getMonth(),
                now.getDate() + (6 - now.getDay()) - i * 7
            );
            var date_text =
                start_day.getFullYear() +
                '/' +
                (start_day.getMonth() + 1) +
                '/' +
                start_day.getDate() +
                '~' +
                end_day.getFullYear() +
                '/' +
                (end_day.getMonth() + 1) +
                '/' +
                end_day.getDate();
            var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1 - (i * 7)));
            var end_day = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (7 - now.getDay()) - (i * 7));
            var start_day_show = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() - (i * 7)));
            var end_day_show = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (6 - now.getDay()) - (i * 7));
            var date_text = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate() + '~' + end_day.getFullYear() + '/' + (end_day.getMonth() + 1) + '/' + end_day.getDate();
            if (i == 0) {
                ret_obj.push({
                    selected: true,
                    value:
                        start_day.getFullYear() +
                        '/' +
                        (start_day.getMonth() + 1) +
                        '/' +
                        start_day.getDate(),
                    label:
                        start_day_show.getFullYear() +
                        '/' +
                        (start_day_show.getMonth() + 1) +
                        '/' +
                        start_day_show.getDate() +
                        '~' +
                        end_day_show.getFullYear() +
                        '/' +
                        (end_day_show.getMonth() + 1) +
                        '/' +
                        end_day_show.getDate()
                    value : start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate(),
                    label : start_day_show.getFullYear() + '/' + (start_day_show.getMonth() + 1) + '/' + start_day_show.getDate() + '~' + end_day_show.getFullYear() + '/' + (end_day_show.getMonth() + 1) + '/' + end_day_show.getDate(),
                });
            } else {
                ret_obj.push({
                    selected: false,
                    value:
                        start_day.getFullYear() +
                        '/' +
                        (start_day.getMonth() + 1) +
                        '/' +
                        start_day.getDate(),
                    label:
                        start_day_show.getFullYear() +
                        '/' +
                        (start_day_show.getMonth() + 1) +
                        '/' +
                        start_day_show.getDate() +
                        '~' +
                        end_day_show.getFullYear() +
                        '/' +
                        (end_day_show.getMonth() + 1) +
                        '/' +
                        end_day_show.getDate()
                    value : start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate(),
                    label : start_day_show.getFullYear() + '/' + (start_day_show.getMonth() + 1) + '/' + start_day_show.getDate() + '~' + end_day_show.getFullYear() + '/' + (end_day_show.getMonth() + 1) + '/' + end_day_show.getDate(),
                });
            }
        }
@@ -1607,10 +1176,10 @@
        var action = component.get('c.createReportHeader');
        action.setParams({
            name: name,
            s_date: s_date,
            s_agency: s_agency,
            head_key: head_key
            "name" : name,
            "s_date" : s_date,
            "s_agency" : s_agency,
            "head_key" : head_key,
        });
        component.set('v.login', true);
@@ -1621,7 +1190,8 @@
                component.set('v.agency_report_header_id', res);
                component.set('v.login', false);
                this.toggle_report(component);
            } else {
            }
            else{
                this.error('createReportHeader callback failed.');
                component.set('v.login', false);
            }
@@ -1630,10 +1200,10 @@
    },
    create_header_input_key: function (agency_id, s_date) {
        if (typeof s_date != 'string') {
        if (typeof(s_date) != 'string') {
            s_date = this.get_date_string(s_date);
            if (s_date == false) {
                this.error('get_date_string in create_header_input_key.');
                this.error('get_date_string in create_header_input_key.')
                return false;
            }
        }
@@ -1642,7 +1212,7 @@
        }
        s_date = s_date.replace(/-/g, '');
        var headkey = agency_id + ':' + s_date;
        var headkey = agency_id + ":" + s_date;
        return headkey;
    },
@@ -1657,7 +1227,7 @@
    // create yyyy-mm-dd string
    get_date_string: function (val) {
        if (typeof val == 'string') {
        if (typeof(val) == 'string') {
            if (val.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) {
                val = val.replace(/[\/]/g, '-');
                var tmp = val.split('-');
@@ -1695,14 +1265,14 @@
    },
    searchHos: function (component, event, helper) {
        var hospital_name = event.getParam('value');
        var action = component.get('c.getHospitalList');
        var hospital_name = event.getParam("value");
        var action = component.get("c.getHospitalList");
        debugger;
        action.setParams({ hospital_name: hospital_name });
        action.setParams({"hospital_name": hospital_name});
        action.setCallback(this, function (response) {
            var state = response.getState();
            if (state === 'SUCCESS') {
            if(state === "SUCCESS") {
                var hospital_list = component.find('hospital_list');
                var hosList = response.getReturnValue();
                if (hosList.length > 0) {
@@ -1710,7 +1280,7 @@
                } else {
                    $A.util.removeClass(hospital_list, 'slds-is-open');
                }
                component.set('v.hospitalList', response.getReturnValue());
                component.set("v.hospitalList", response.getReturnValue());
            } else {
                $A.util.removeClass(hospital_list, 'slds-is-open');
            }
@@ -1724,7 +1294,7 @@
    },
    selectHos: function (component, event, helper) {
        debugger;
        debugger
        var hospital_list = component.find('hospital_list');
        $A.util.removeClass(hospital_list, 'slds-is-open');
        var accname = event.currentTarget.dataset.accname;
@@ -1737,20 +1307,15 @@
                component.find('new_con').set('v.disabled', false);
            }
        }
        component.set('v.hospital', accname);
        component.set('v.hospitalId', accid);
        component.set("v.hospital", accname);
        component.set("v.hospitalId", accid);
        this.set_doctor_list(component);
        this.opportunityChange(component, event, helper);
    },
    select_purpose_type: function (component) {
        var purpose_type = component.find('select_purpose_type').get('v.value');
        if (
            (purpose_type != null &&
                purpose_type != undefined &&
                purpose_type.substr(-3) == 'OPD') ||
            purpose_type.substr(-3) == 'SIS'
        ) {
        if (purpose_type != null && purpose_type != undefined && purpose_type.substr(-3) == 'OPD' || purpose_type.substr(-3) == 'SIS') {
            var result = component.find('result');
            $A.util.removeClass(result, 'disp_none');
        } else {
@@ -1767,10 +1332,7 @@
        var flg = false;
        for (var i = 0; i < doctor_list.length; i++) {
            if (doctor_list[i].value == doctor_value) {
                component.set(
                    'v.doctor_title',
                    doctor_list[i].Doctor_Division1__c
                );
                component.set('v.doctor_title', doctor_list[i].Doctor_Division1__c);
                flg = true;
                break;
            }
@@ -1783,7 +1345,7 @@
    set_aws_url: function (component, sobject) {
        var action = component.get('c.getAwsurl');
        action.setParams({
            sobj: sobject
            "sobj" : sobject,
        });
        action.setCallback(this, function (response) {
            var state = response.getState();
@@ -1793,7 +1355,8 @@
                component.set('v.AWSinsert', awsmap.newUrl);
                component.set('v.AWSsearch', awsmap.searchUrl);
                component.set('v.AWStransactionURL', awsmap.transactionURL);
            } else {
            }
            else{
                this.error('AWS url/token error.');
                component.set('v.loginEdit', false);
            }
@@ -1801,15 +1364,8 @@
        $A.enqueueAction(action);
    },
    insert_agencycontact: function (
        component,
        token,
        newUrl,
        payload,
        agencyHospitalid,
        helper,
        hospitalName
    ) {
    insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper,hospitalName) {
        // AWSService.insert(newUrl,payload,function(result){
        //     if(result.status == '0'){
        //         $A.getCallback(function(){
@@ -1830,55 +1386,41 @@
                'Content-Type': 'application/json',
                'pi-token': token
            }
        })
            .then((data) => {
        }).then((data) => {
                return data.json();
            })
            .then((result) => {
        }).then((result) => {
                if (result.status == '0') {
                    $A.getCallback(function () {
                        helper.to_agencycontact(
                            component,
                            result,
                            agencyHospitalid
                        );
                    helper.to_agencycontact(component,result,agencyHospitalid);
                    })();
                } else {
                    console.log('AWS status error:' + result);
                console.log('AWS status error:' + result)
                    component.set('v.loginEdit', false);
                    if (result.status == '129') {
                        component
                            .find('OppMessage')
                            .setError(
                                '该客户人员名字已存在,在' +
                                    hospitalName +
                                    '医院,请修改'
                            );
                    component.find('OppMessage').setError('该客户人员名字已存在,在'+hospitalName+'医院,请修改');
                    } else {
                        component
                            .find('OppMessage')
                            .setError('AWS insert error.');
                    component.find('OppMessage').setError('AWS insert error.');
                    }
                }
            })
            .catch((error) => {
                console.log('AWS insert error:' + error);
        }).catch(error => {
            console.log('AWS insert error:' + error)
                component.set('v.loginEdit', false);
                component.find('OppMessage').setError('AWS insert error.');
            });
    },
    to_agencycontact: function (component, result, agencyHospitalid) {
        var action = component.get('c.saveAgencyContact');
        action.setParams({
            name: result.object[0].name,
            "name" : result.object[0].name,
            //"nameEncrypt" : result.object[0].nameEncrypt,
            type: result.object[0].type,
            "type" : result.object[0].type,
            //"typeEncrypt" : result.object[0].typeEncrypt,
            doctorDivision1: result.object[0].doctorDivision1,
            "doctorDivision1" : result.object[0].doctorDivision1,
            //"doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt,
            agencyHospitalid: agencyHospitalid,
            awsid: result.object[0].dataId
            "agencyHospitalid" : agencyHospitalid,
            "awsid" : result.object[0].dataId,
        });
        action.setCallback(this, function (response) {
            var state = response.getState();
@@ -1895,12 +1437,7 @@
                    data['sfRecordId'] = '';
                    data['txId'] = result.txId;
                    this.to_confirm(
                        component,
                        token,
                        confirmUrl,
                        JSON.stringify(data)
                    );
                    this.to_confirm(component,token,confirmUrl,JSON.stringify(data));
                } else if (acMap.errormsg != '') {
                    this.error(acMap.errormsg);
                    component.set('v.loginEdit', false);
@@ -1908,7 +1445,8 @@
                    this.error('agency contact insert id error.');
                    component.set('v.loginEdit', false);
                }
            } else {
            }
            else{
                this.error('agency contact insert error.');
                component.set('v.loginEdit', false);
            }
@@ -1924,18 +1462,12 @@
                'Content-Type': 'application/json',
                'pi-token': token
            }
        })
            .then((data) => {
        }).then((data) => {
                return data.json();
            })
            .then((result) => {
                if (
                    result.status == '0' &&
                    result.hasOwnProperty('success') &&
                    result.success
                ) {
        }).then((result) => {
            if(result.status == '0' && result.hasOwnProperty('success') && result.success){
                    component.set('v.truthy', false);
                    var modal_newAC = component.find('modal_newAC');
                var modal_newAC = component.find('modal_newAC')
                    $A.util.addClass(modal_newAC, 'disp_none');
                    this.success('.客户人员已创建。');
                    this.set_doctor_list(component);
@@ -1943,8 +1475,7 @@
                    this.error('AWS confirm error.');
                    component.set('v.loginEdit', false);
                }
            })
            .catch((error) => {
        }).catch(error => {
                this.error('AWS confirm error.');
                component.set('v.loginEdit', false);
            });
@@ -1957,7 +1488,7 @@
            component.set('v.loginEdit', true);
            var action = component.get('c.getDoctorList');
            action.setParams({
                hospital_id: hospital_id
                "hospital_id" : hospital_id,
            });
            action.setCallback(this, function (response) {
                var state = response.getState();
@@ -1992,7 +1523,8 @@
                    component.set('v.login',false);
                    */
                    // PIPL update Yin Mingjie 21/02/2022 end
                } else {
                }
                else{
                    this.error('set_doctor_list failed.');
                    component.set('v.loginEdit', false);
                }
@@ -2008,9 +1540,7 @@
        var dataArr = new Array();
        for (const key in retMap) {
            if (key == 'sre') {
                continue;
            }
            if (key == 'sre') {continue;}
            dataArr.push(key);
        }
        if (dataArr.length == 0) {
@@ -2024,27 +1554,15 @@
        this.search_agency_contact(token, searchUrl, data, retMap, component);
    },
    search_agency_contact: function (
        token,
        searchUrl,
        payload,
        retMap,
        component
    ) {
        this.search_core(
            token,
            searchUrl,
            payload,
            (result) => {
    search_agency_contact : function(token,searchUrl,payload,retMap,component) {
        this.search_core(token,searchUrl,payload,(result)=>{
                if (result.status == '0') {
                    this.to_doctor_list(result, retMap, component);
                } else {
                    this.error('AWS search status4 : ' + result.status);
                    component.set('v.loginEdit', false);
                }
            },
            component
        );
        },component);
        // fetch(searchUrl, {
        //     method: 'POST',
        //     body: payload,
@@ -2072,15 +1590,12 @@
                'Content-Type': 'application/json',
                'pi-token': token
            }
        })
            .then((data) => {
        }).then((data) => {
                return data.json();
            })
            .then((result) => {
        }).then((result) => {
                component.set('v.loginEdit', false);
                if (callback) callback(result);
            })
            .catch((error) => {
        }).catch(error => {
                console.log('error = ' + JSON.stringify(error));
                this.error('AWS search error.');
                component.set('v.loginEdit', false);
@@ -2145,77 +1660,32 @@
    // },
    opportunityChange: function (component, event, helper) {
        debugger;
        debugger
        var opp_id = component.get('v.data.Opportunity__c');
        if (opp_id == '') {
            $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'
            );
            $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');
        } else if (opp_id == 'MALFORMED_ID') {
            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'
            );
        } else if (opp_id != '') {
            $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');
        } else if (opp_id != "") {
            var hospital_link_id = component.get('v.hospitalLinkId');
            if (hospital_link_id == '') {
                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'
                );
                $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);
@@ -2224,12 +1694,10 @@
                // }
                return false;
            }
            var action = component.get(
                'c.selectOpportunityByIdAndHospitalLinkId'
            );
            var action = component.get('c.selectOpportunityByIdAndHospitalLinkId');
            action.setParams({
                opportunity_id: opp_id,
                agency_hospital_link_id: component.get('v.hospitalLinkId')
                "opportunity_id" : opp_id,
                "agency_hospital_link_id" : component.get('v.hospitalLinkId'),
            });
            component.set('v.loginEdit', true);
@@ -2243,26 +1711,11 @@
                        }
                        // 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'
                        );
                        $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);
@@ -2295,49 +1748,23 @@
                    else {
                        component.set('v.loadOpp', false);
                        component.set('v.oppdata', res[0]);
                        this.set_selected(
                            component,
                            'select_stageName',
                            res[0].StageName__c
                        );
                        component.set(
                            'v.Close_Forecasted_Date__c_o',
                            res[0].Close_Forecasted_Date__c
                        );
                        this.set_selected(component, 'select_stageName', res[0].StageName__c);
                        component.set('v.Close_Forecasted_Date__c_o', res[0].Close_Forecasted_Date__c);
                        component.set('v.Amount__c_o', res[0].Amount__c);
                        component.set(
                            'v.OCMSale_Price__c_o',
                            res[0].OCMSale_Price__c
                        );
                        component.set('v.OCMSale_Price__c_o', res[0].OCMSale_Price__c);
                        component.set('v.StageName__c_o', res[0].StageName__c);
                        $A.util.removeClass(
                            component.find('input-opportunity-stage'),
                            'disp_none'
                        );
                        $A.util.removeClass(
                            component.find('input-opportunity-amount1'),
                            'disp_none'
                        );
                        $A.util.removeClass(
                            component.find('input-opportunity-amount2'),
                            'disp_none'
                        );
                        $A.util.removeClass(
                            component.find('input-opportunity-date'),
                            'disp_none'
                        );
                        $A.util.addClass(
                            component.find('input-opportunity-blank'),
                            'disp_none'
                        );
                        $A.util.removeClass(component.find('input-opportunity-stage'), 'disp_none');
                        $A.util.removeClass(component.find('input-opportunity-amount1'), 'disp_none');
                        $A.util.removeClass(component.find('input-opportunity-amount2'), 'disp_none');
                        $A.util.removeClass(component.find('input-opportunity-date'), 'disp_none');
                        $A.util.addClass(component.find('input-opportunity-blank'), 'disp_none');
                    }
                    component.set('v.loginEdit', false);
                } else {
                    this.error(
                        'selectOpportunityByIdAndHospitalLinkId failed.'
                    );
                }
                else{
                    this.error('selectOpportunityByIdAndHospitalLinkId failed.');
                    component.set('v.loginEdit', false);
                }
            });
@@ -2346,61 +1773,37 @@
    },
    productcategoryChange1: function (component, event, helper) {
        var product_category_id = component
            .find('select_Product1')
            .get('v.value');
        var product_category_id = component.find('select_Product1').get('v.value');
        var pcId1 = component.find('select_Product2').get('v.value');
        var pcId2 = component.find('select_Product3').get('v.value');
        var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
        var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
        var p0bool =
            product_category_id != '' &&
            product_category_id != null &&
            product_category_id != undefined;
        if (
            (p1bool && p0bool && product_category_id == pcId1) ||
            (p2bool && p0bool && product_category_id == pcId2)
        ) {
        var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
        if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
            this.warning('不能选择同样的产品区分');
            component.find('select_Product1').set('v.value', '');
        }
    },
    productcategoryChange2: function (component, event, helper) {
        var product_category_id = component
            .find('select_Product2')
            .get('v.value');
        var product_category_id = component.find('select_Product2').get('v.value');
        var pcId1 = component.find('select_Product1').get('v.value');
        var pcId2 = component.find('select_Product3').get('v.value');
        var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
        var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
        var p0bool =
            product_category_id != '' &&
            product_category_id != null &&
            product_category_id != undefined;
        if (
            (p1bool && p0bool && product_category_id == pcId1) ||
            (p2bool && p0bool && product_category_id == pcId2)
        ) {
        var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
        if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
            this.warning('不能选择同样的产品区分');
            component.find('select_Product2').set('v.value', '');
        }
    },
    productcategoryChange3: function (component, event, helper) {
        var product_category_id = component
            .find('select_Product3')
            .get('v.value');
        var product_category_id = component.find('select_Product3').get('v.value');
        var pcId1 = component.find('select_Product1').get('v.value');
        var pcId2 = component.find('select_Product2').get('v.value');
        var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
        var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
        var p0bool =
            product_category_id != '' &&
            product_category_id != null &&
            product_category_id != undefined;
        if (
            (p1bool && p0bool && product_category_id == pcId1) ||
            (p2bool && p0bool && product_category_id == pcId2)
        ) {
        var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
        if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
            this.warning('不能选择同样的产品区分');
            component.find('select_Product3').set('v.value', '');
        }
@@ -2438,42 +1841,42 @@
    },
    success: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '成功!',
            message: message,
            type: 'success',
            duration: '5000'
            "title" : "成功!",
            "message" : message,
            "type" : "success",
            "duration" : "5000"
        });
        toastEvent.fire();
    },
    warning: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '警告!',
            message: message,
            type: 'warning',
            duration: '10000'
            "title": "警告!",
            "message": message,
            "type":"warning",
            "duration" : "10000"
        });
        toastEvent.fire();
    },
    error: function (message) {
        // $('toastMessage.forceToastManager').css('white-space', 'pre-wrap');
        var toastEvent = $A.get('e.force:showToast');
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams({
            title: '错误!',
            message: message,
            type: 'error',
            duration: 'sticky'
            "title": "错误!",
            "message": message,
            "type":"error",
            "duration" : "sticky"
        });
        toastEvent.fire();
    },
    createCon: function (component, event, helper) {
        var modal_newAC = component.find('modal_newAC');
        var modal_newAC = component.find('modal_newAC')
        $A.util.removeClass(modal_newAC, 'disp_none');
        component.set('v.truthy', true);
        // var modal_newAC = component.find('modal_newAC')
@@ -2504,8 +1907,8 @@
    // vivek end 添加验证
    hideCmp: function (component, event, helper) {
        var div1 = component.find('report');
        var div2 = component.find('report_list');
        var div1 = component.find('report')
        var div2 = component.find('report_list')
        $A.util.addClass(div1, 'disp_none');
        $A.util.addClass(div2, 'disp_none');
    },
@@ -2515,7 +1918,7 @@
        var displayValue = event.getParams().response.fields.Name.value;
        event.setParams({});
        component.set('v.truthy', false);
        var modal_newAC = component.find('modal_newAC');
        var modal_newAC = component.find('modal_newAC')
        $A.util.addClass(modal_newAC, 'disp_none');
        this.success('.客户人员已创建。');
        this.set_doctor_list(component);
@@ -2523,26 +1926,22 @@
    createCancel: function (component, event, helper) {
        component.set('v.truthy', false);
        var modal_newAC = component.find('modal_newAC');
        var modal_newAC = component.find('modal_newAC')
        $A.util.addClass(modal_newAC, 'disp_none');
    },
    setOpportunity_cfilter: function (component) {
        debugger;
        debugger
        var hosId = component.get('v.hospitalId');
        var Department_Cateogy__c = component
            .find('select_department')
            .get('v.value');
        var Department_Cateogy__c = component.find('select_department').get('v.value');
        var opportunity_cfilter = '';
        if (hosId != '' && hosId != null) {
            opportunity_cfilter =
                ' Agency_Hospital__r.Hospital__c=' + "'" + hosId + "'";
            opportunity_cfilter = ' Agency_Hospital__r.Hospital__c=' + '\'' + hosId + '\'';
        }
        if (Department_Cateogy__c != '' && Department_Cateogy__c != null) {
            if (opportunity_cfilter != '' && opportunity_cfilter != null) {
                opportunity_cfilter += ' AND ';
            }
            opportunity_cfilter +=
                'Department_Cateogy__c=' + "'" + Department_Cateogy__c + "'";
            opportunity_cfilter += 'Department_Cateogy__c=' + '\'' + Department_Cateogy__c + '\'';
        }
        component.set('v.opportunity_cfilter', opportunity_cfilter);
        component.set('v.data.Opportunity__c', null);
@@ -2553,6 +1952,7 @@
        if (!file.name.match(/\.(csv||CSV)$/)) {
            return alert('only support csv files');
        } else {
            reader = new FileReader();
            reader.onerror = function errorHandler(evt) {
                switch (evt.target.error.code) {
@@ -2566,30 +1966,23 @@
                        break; // noop
                    default:
                        alert('An error occurred reading this file.');
                }
            };
            }
            //reader.onprogress = updateProgress;
            reader.onabort = function (e) {
                alert('File read cancelled');
            };
            reader.onloadstart = function (e) {
                var output =
                    '<ui type="disc"><li><strong>' +
                    file.name +
                    '</strong> (' +
                    file.type +
                    ')- ' +
                    file.size +
                    'bytes, last modified: ' +
                    file.lastModifiedDate.toLocaleDateString() +
                    '</li></ui>';
                component.set('v.filename', file.name);
                component.set('v.TargetFileName', output);
                var output = '<ui type=\"disc\"><li><strong>'+file.name +'</strong> ('+file.type+')- '+file.size+'bytes, last modified: '+file.lastModifiedDate.toLocaleDateString()+'</li></ui>';
                component.set("v.filename",file.name);
                component.set("v.TargetFileName",output);
            };
            reader.onload = function (e) {
                var data = e.target.result;
                component.set('v.fileContentData', data);
                console.log('file data' + JSON.stringify(data));
                component.set("v.fileContentData",data);
                console.log("file data"+JSON.stringify(data));
                // console.log("file data"+encodeURI(JSON.stringify(data),"utf-8"));
                var allTextLines = data.split(/\r\n|\n/);
                var dataRows = allTextLines.length - 1;
@@ -2597,63 +1990,64 @@
                // console.log("Rows length::"+dataRows);
                var numOfRows = component.get('v.NumOfRecords');
                if (
                    dataRows > numOfRows + 1 ||
                    dataRows == 1 ||
                    dataRows == 0
                ) {
                    alert('File Rows between 1 to ' + numOfRows + ' .');
                    component.set('v.showMain', true);
                } else {
                    var numOfRows=component.get("v.NumOfRecords");
                    if(dataRows > numOfRows+1 || dataRows == 1 || dataRows== 0){
                     alert("File Rows between 1 to "+numOfRows+" .");
                    component.set("v.showMain",true);
                }
                else{
                    var lines = [];
                    var filecontentdata;
                    var content =
                        '<table class="table slds-table slds-table--bordered slds-table--cell-buffer">';
                    content += '<thead><tr class="slds-text-title--caps">';
                    content += '<th scope="col">' + '行号' + '</th>';
                    var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
                    content += "<thead><tr class=\"slds-text-title--caps\">";
                    content += '<th scope=\"col"\>'+'行号'+'</th>';
                    for (i = 0; i < headers.length; i++) {
                        content += '<th scope="col">' + headers[i] + '</th>';
                        content += '<th scope=\"col"\>'+headers[i]+'</th>';
                    }
                    content += '</tr></thead>';
                    content += "</tr></thead>";
                    for (var i = 1; i < allTextLines.length; i++) {
                        filecontentdata = allTextLines[i].split(',');
                        if (filecontentdata[0] != '') {
                            content += '<tr>';
                            content += '<td>' + i + '</td>';
                            content +="<tr>";
                            content +="<td>"+i+"</td>";
                            for (var j = 0; j < filecontentdata.length; j++) {
                                content +=
                                    '<td>' + filecontentdata[j] + '</td>';
                                content +='<td>'+filecontentdata[j]+'</td>';
                            }
                            content += '</tr>';
                            content +="</tr>";
                        }
                    }
                    content += '</table>';
                    content += "</table>";
                    console.log(content);
                    component.set('v.TableContent', content);
                    component.set('v.showMain', false);
                    component.set("v.TableContent",content);
                    component.set("v.showMain",false);
                }
            };
            }
            reader.readAsText(file, 'gb2312');
        }
        var reader = new FileReader();
        reader.onloadend = function () {};
        reader.onloadend = function() {
        };
        reader.readAsDataURL(file);
    },
    saveRecords: function (component, event, helper) {
        debugger;
        debugger
        component.set('v.loginEdit', true);
        //fy 导入 20220424 start
        var action1 = component.get('c.processDataAWSId');
        var action1 = component.get("c.processDataAWSId");
        action1.setParams({
            fileData: component.get('v.fileContentData')
            fileData : component.get("v.fileContentData"),
        });
        debugger;
        debugger
        action1.setCallback(this, function (response) {
            console.log('response = ' + JSON.stringify(response));
            var state = response.getState();
            if (state === 'SUCCESS') {
            if (state === "SUCCESS") {
                var ress = response.getReturnValue();
                console.log('ress = ' + JSON.stringify(ress));
                if (ress) {
@@ -2663,14 +2057,11 @@
                        console.log('res = ' + JSON.stringify(res));
                        var dataArr = new Array();
                        var dataMap = new Map();
                        res.forEach((item) => {
                        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.AWS_Data_Id__c
                                ); //zhj 新方案改造 2022-12-21
                                dataMap.set(item.AWS_Data_Id__c,item.AWS_Data_Id__c);       //zhj 新方案改造 2022-12-21
                            }
                        });
                        let obj = Object.create(null);
@@ -2678,22 +2069,12 @@
                        var payload = JSON.stringify(obj);
                        console.log('payload zhj = ' + JSON.stringify(payload));
                        this.search_contact_url(
                            component,
                            'Agency_Contact__c',
                            (result) => {
                        this.search_contact_url(component, 'Agency_Contact__c', (result)=>{
                                var token = result.token;
                                var searchUrl = result.searchUrl;
                                this.search_core(
                                    token,
                                    searchUrl,
                                    payload,
                                    (result) => {
                            this.search_core(token,searchUrl,payload,(result)=>{
                                        if (result.status == '0') {
                                            if (
                                                result.object != null &&
                                                result.object.length != 0
                                            ) {
                                    if(result.object != null&&result.object.length != 0){
                                                // var resultjson = JSON.stringify(result.object);
                                                // if(resultjson){
                                                //     debugger
@@ -2701,41 +2082,25 @@
                                                //     component.set('v.login',true);
                                                //     this.ImportMethod(component,resultjson);
                                                // }
                                                component.set(
                                                    'v.loginEdit',
                                                    true
                                                );
                                                this.saveRecordsEditFile(
                                                    component,
                                                    dataMap,
                                                    result.object,
                                                    helper
                                                );
                                        component.set('v.loginEdit',true);
                                        this.saveRecordsEditFile(component,dataMap,result.object,helper);
                                            } else {
                                                this.error('AWS 查询数据为空 ');
                                                component.set(
                                                    'v.loginEdit',
                                                    false
                                                );
                                            }
                                        } else {
                                            this.error(
                                                'AWS search status6 : ' +
                                                    result.status
                                            );
                                            component.set('v.loginEdit', false);
                                        }
                                    },
                                    component
                                );
                                }else{
                                    this.error('AWS search status6 : ' + result.status);
                                    component.set('v.loginEdit',false);
                                }
                            },component);
                                //     var resultjson =null;
                                // this.ImportMethod(component,resultjson);
                            }
                        );
                        });
                        // var resultjson =null;
                        // this.ImportMethod(component,resultjson);
                    } else {
                        this.error(valur[1] + '\n' + '请修改后重新上传');
                        this.error(valur[1]+'\n'+"请修改后重新上传");
                    }
                }
            }
@@ -2797,16 +2162,15 @@
        //     }
        // });
        // $A.enqueueAction(action);
    },
    isNumber: function (str) {
    },isNumber: function(str) {
        return /^\d+$/.test(str);
    },
    ImportMethod: function (component, fileStr) {
        debugger;
        var actionss = component.get('c.processData');
    },ImportMethod : function(component,fileStr){
        debugger
        var actionss = component.get("c.processData");
        var selectDate = component.find('select_date').get('v.value');
        var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic
        var sss = component.get('v.fileContentData');
        var sss=component.get("v.fileContentData");
        actionss.setParams({
            // fileData : component.get("v.fileContentData"),
            fileData: fileStr,
@@ -2818,96 +2182,48 @@
        actionss.setCallback(this, function (response) {
            console.log('002');
            var state = response.getState();
            if (state === 'SUCCESS') {
                if (state === "SUCCESS") {
                var res = response.getReturnValue();
                var res1 = '';
                console.log('[[[[[[' + res);
                    console.log("[[[[[["+res);
                if (res != 'success') {
                    var ress = res.split('=');
                    console.log(ress);
                    let errorDatas = [];
                    let errorDataRow = [];
                    debugger;
                    var fileContentData = component
                        .get('v.fileContentData')
                        .split('\n');
                        debugger
                        var fileContentData = component.get("v.fileContentData").split('\n');
                    for (var i = 0; i < ress.length; i++) {
                        res1 += ress[i].substr(7) + '\n';
                        if (ress[i] != '') {
                            let errorData = {};
                            if (
                                !this.isNumber(
                                    ress[i].substr(7).substring(1, 2)
                                )
                            ) {
                                continue;
                                let errorData = {}
                                if(!this.isNumber(ress[i].substr(7).substring(1, 2))){
                                    continue
                            }
                            let index = errorDataRow.indexOf(
                                ress[i].substr(7).substring(1, 2)
                            );
                                let index = errorDataRow.indexOf(ress[i].substr(7).substring(1, 2));
                            if (index == -1) {
                                errorData.errorRow = ress[i]
                                    .substr(7)
                                    .substring(1, 2);
                                    errorData.errorRow = ress[i].substr(7).substring(1, 2);
                                errorDataRow.push(errorData.errorRow);
                                errorData.errorInfo = ress[i]
                                    .substr(7)
                                    .substring(5)
                                    .replace('=', '');
                                    errorData.errorInfo = ress[i].substr(7).substring(5).replace('=','');
                                if (errorData.errorInfo == '拜访人不存在') {
                                    console.log(
                                        'errorData.errorRow = ' +
                                            errorData.errorRow
                                    );
                                    errorData.errorInfo =
                                        '拜访人 ' +
                                        fileContentData[
                                            errorData.errorRow
                                        ].split(',')[4] +
                                        '不存在';
                                        console.log('errorData.errorRow = ' + errorData.errorRow)
                                        errorData.errorInfo ='拜访人 ' + fileContentData[errorData.errorRow].split(',')[4] + '不存在';
                                }
                                errorDatas.push(errorData);
                            } else {
                                if (
                                    ress[i].substr(7).substring(5) ==
                                    '拜访人不存在'
                                ) {
                                    errorDatas[index].errorInfo +=
                                        '; ' +
                                        '拜访人 ' +
                                        fileContentData[
                                            errorDatas[index].errorRow
                                        ].split(',')[4] +
                                        '不存在';
                                    if(ress[i].substr(7).substring(5) == '拜访人不存在'){
                                        errorDatas[index].errorInfo += '; ' + '拜访人 ' + fileContentData[errorDatas[index].errorRow].split(',')[4] + '不存在';
                                } else {
                                    errorDatas[index].errorInfo +=
                                        '; ' + ress[i].substr(7).substring(5);
                                        errorDatas[index].errorInfo += '; ' + ress[i].substr(7).substring(5);
                                }
                            }
                        }
                    }
                    let errorColumns = [
                        {
                            label: '错误行',
                            fieldName: 'errorRow',
                            type: 'text',
                            hideDefaultActions: true,
                            initialWidth: 100
                        },
                        {
                            label: '错误信息',
                            fieldName: 'errorInfo',
                            type: 'text',
                            hideDefaultActions: true,
                            initialWidth: 300,
                            wrapText: true
                        }
                            { label: '错误行', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 100 },
                            { label: '错误信息', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true, initialWidth: 300, wrapText: true }
                    ];
                    for (
                        var i = 0;
                        i < fileContentData[0].split(',').length;
                        i++
                    ) {
                        for (var i = 0; i < fileContentData[0].split(',').length; i++) {
                        errorColumns.push({
                            label: fileContentData[0].split(',')[i],
                            fieldName: 'field' + i,
@@ -2930,43 +2246,47 @@
                    }
                    component.set('v.errorColumns', errorColumns);
                    component.set('v.errorData', errorDatas);
                    component.set('v.showErrorInfo', true);
                    console.log('==' + res1);
                    this.error(res1 + '请修改后重新上传');
                        component.set("v.showErrorInfo", true);
                        console.log("=="+res1);
                        this.error(res1+"请修改后重新上传");
                    component.set('v.loginEdit', false);
                } else {
                    component.set('v.showMain', true);
                    this.success('导入成功');
                        component.set("v.showMain",true);
                        this.success("导入成功");
                    // alert('saved successfully');
                    component.set('v.loginEdit', false);
                }
            } else if (state === 'INCOMPLETE') {
                }
                else if (state === "INCOMPLETE") {
                // do something
                component.set('v.loginEdit', false);
            } else if (state === 'ERROR') {
                }
                else if (state === "ERROR") {
                var errors = response.getError();
                if (errors) {
                    if (errors[0] && errors[0].message) {
                        console.log('Error message: ' + errors[0].message);
                            console.log("Error message: " +
                                    errors[0].message);
                        component.set('v.loginEdit', false);
                    }
                } else {
                    console.log('Unknown error');
                        console.log("Unknown error");
                    component.set('v.loginEdit', false);
                }
            }
        });
        $A.enqueueAction(actionss);
    },
    saveRecordsEditFile: function (component, dataMap, searchData, helper) {
    },saveRecordsEditFile : function(component,dataMap,searchData,helper){
        var searchDataMap = new Map();
        for (var i = 0; i < searchData.length; i++) {
            var sd = searchData[i];
            if (sd.name) searchDataMap.set(sd.name.replace(' ', ''), sd.dataId);
         if(sd.name)
         searchDataMap.set(sd.name.replace(' ',''),sd.dataId);
        }
        console.log('searchDataMap=' + searchDataMap);
        var error = '';
        var fileData = component.get('v.fileContentData');
         var fileData = component.get("v.fileContentData");
        var files = fileData.split('\n');
        var fileStr = files[0];
@@ -2997,79 +2317,37 @@
            let errorArray = error.split('error1');
            let errorDatas = [];
            let errorDataRow = [];
            debugger;
            var fileContentData = component
                .get('v.fileContentData')
                .split('\n');
            console.log('errorArray = ' + JSON.stringify(errorArray));
            debugger
            var fileContentData = component.get("v.fileContentData").split('\n');
            console.log('errorArray = ' + JSON.stringify(errorArray))
            for (var i in errorArray) {
                if (errorArray[i] != '') {
                    let errorData = {};
                    let errorData = {}
                    if (!this.isNumber(errorArray[i].trim().substring(1, 2))) {
                        continue;
                        continue
                    }
                    let index = errorDataRow.indexOf(
                        errorArray[i].trim().substring(1, 2)
                    );
                    let index = errorDataRow.indexOf(errorArray[i].trim().substring(1, 2));
                    if (index == -1) {
                        errorData.errorRow = errorArray[i]
                            .trim()
                            .substring(1, 2);
                        errorData.errorRow = errorArray[i].trim().substring(1, 2);
                        errorDataRow.push(errorData.errorRow);
                        errorData.errorInfo = errorArray[i]
                            .trim()
                            .substring(5, errorArray[i].trim().length)
                            .replace('=', '');
                        errorData.errorInfo = errorArray[i].trim().substring(5,errorArray[i].trim().length).replace('=','');
                        if (errorData.errorInfo == '拜访人AWS不存在') {
                            errorData.errorInfo =
                                '拜访人 ' +
                                fileContentData[errorData.errorRow].split(
                                    ','
                                )[4] +
                                '不存在';
                            errorData.errorInfo ='拜访人 ' + fileContentData[errorData.errorRow].split(',')[4] + '不存在';
                        }
                        errorDatas.push(errorData);
                    } else {
                        if (
                            errorArray[i].trim().substring(5) ==
                            '拜访人AWS不存在'
                        ) {
                            errorData[index].errorInfo =
                                '; ' +
                                '拜访人 ' +
                                fileContentData[
                                    errorDatas[index].errorRow
                                ].split(',')[4] +
                                '不存在';
                        if(errorArray[i].trim().substring(5) == '拜访人AWS不存在'){
                            errorData[index].errorInfo = '; ' + '拜访人 ' + fileContentData[errorDatas[index].errorRow].split(',')[4] + '不存在';
                        } else {
                            errorDatas[index].errorInfo +=
                                '; ' +
                                errorArray[i]
                                    .trim()
                                    .substring(5, errorArray[i].trim().length);
                            errorDatas[index].errorInfo += '; ' + errorArray[i].trim().substring(5,errorArray[i].trim().length);
                        }
                    }
                }
            }
            var fileContentData = component
                .get('v.fileContentData')
                .split('\n');
            var fileContentData = component.get("v.fileContentData").split('\n');
            let errorColumns = [
                {
                    label: '错误行',
                    fieldName: 'errorRow',
                    type: 'text',
                    hideDefaultActions: true,
                    initialWidth: 100
                },
                {
                    label: '错误信息',
                    fieldName: 'errorInfo',
                    type: 'text',
                    hideDefaultActions: true,
                    initialWidth: 300,
                    wrapText: true
                }
                { label: '错误行', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 100 },
                { label: '错误信息', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true, initialWidth: 300, wrapText: true }
            ];
            for (var i = 0; i < fileContentData[0].split(',').length; i++) {
                errorColumns.push({
@@ -3090,10 +2368,12 @@
                    errorDatas[i][label] = data.split(',')[j];
                }
            }
            console.log('errorDatas =' + JSON.stringify(errorDatas));
            console.log('errorDatas =' + JSON.stringify(errorDatas))
            component.set('v.errorColumns', errorColumns);
            component.set('v.errorData', errorDatas);
            component.set('v.showErrorInfo', true);
            component.set("v.showErrorInfo", true);
            console.log('error = ' + error);
            component.set('v.errorMessage', error);
@@ -3106,9 +2386,10 @@
        console.log('fileStr=' + fileStr);
        $A.getCallback(function () {
            debugger;
             debugger
            helper.ImportMethod(component, fileStr);
        })();
    },
    convertArrayOfObjectsToCSV: function (component, objectRecords) {
        var csvStringResult, counter, keys, columnDivider, lineDivider, thkeys;
@@ -3118,40 +2399,12 @@
        columnDivider = ',';
        lineDivider = '\n';
        //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start ,'SupportNeeds__c'  ,'支援需求'
        keys = [
            'Submit_date__c',
            'Person_In_Charge2__c',
            'Report_Date__c',
            'Agency_Hospital__c',
            'Department_Cateogy__c',
            'doctor2__c',
            'visitor_title__c',
            'Product_Category1__c',
            'Product_Category2__c',
            'Product_Category3__c',
            'Purpose_Type__c',
            'Result__c',
            'SupportNeeds__c'
        ];
        thkeys = [
            '周',
            '担当',
            '活动日',
            '医院',
            '科室',
            '拜访人',
            '职位',
            '产品区分1',
            '产品区分2',
            '产品区分3',
            '活动区分',
            '结果',
            '支援需求'
        ];
        keys = ['Submit_date__c','Person_In_Charge2__c','Report_Date__c','Agency_Hospital__c','Department_Cateogy__c','doctor2__c','visitor_title__c','Product_Category1__c','Product_Category2__c','Product_Category3__c','Purpose_Type__c','Result__c','SupportNeeds__c'];
        thkeys = ['周','担当','活动日','医院','科室','拜访人','职位','产品区分1','产品区分2','产品区分3','活动区分','结果','支援需求']
        csvStringResult = '';
        csvStringResult += thkeys.join(columnDivider);
        csvStringResult += lineDivider;
        console.log('进入导出helper');
        console.log("进入导出helper");
        for (var i = 0; i < objectRecords.length; i++) {
            counter = 0;
            for (var sTempkey in keys) {
@@ -3159,38 +2412,33 @@
                if (counter > 0) {
                    csvStringResult += columnDivider;
                }
                if (typeof objectRecords[i][skey] === 'undefined') {
                if(typeof objectRecords[i][skey] === "undefined"){
                    csvStringResult += '"' + '' + '"';
                    continue;
                }
                if (skey == 'Person_In_Charge2__c') {
                    csvStringResult +=
                        '"' + objectRecords[i].Person_In_Charge2__r.Name + '"';
                    csvStringResult += '"'+ objectRecords[i].Person_In_Charge2__r.Name+'"';
                } else if (skey == 'Agency_Hospital__c') {
                    csvStringResult +=
                        '"' + objectRecords[i].Agency_Hospital__r.Name + '"';
                    csvStringResult += '"'+ objectRecords[i].Agency_Hospital__r.Name+'"';
                } else if (skey == 'doctor2__c') {
                    csvStringResult +=
                        '"' + objectRecords[i].doctor2__r.Name + '"';
                    csvStringResult += '"'+ objectRecords[i].doctor2__r.Name+'"';
                } else if (skey == 'Product_Category1__c') {
                    csvStringResult +=
                        '"' + objectRecords[i].Product_Category1__r.Name + '"';
                    csvStringResult += '"'+ objectRecords[i].Product_Category1__r.Name+'"';
                } else if (skey == 'Product_Category2__c') {
                    csvStringResult +=
                        '"' + objectRecords[i].Product_Category2__r.Name + '"';
                    csvStringResult += '"'+ objectRecords[i].Product_Category2__r.Name+'"';
                } else if (skey == 'Product_Category3__c') {
                    csvStringResult +=
                        '"' + objectRecords[i].Product_Category3__r.Name + '"';
                } else if (skey == 'SupportNeeds__c') {
                    //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                    csvStringResult +=
                        '"' + objectRecords[i].SupportNeeds__c + '"';
                } else {
                    csvStringResult += '"'+ objectRecords[i].Product_Category3__r.Name+'"';
                }
                else if(skey == 'SupportNeeds__c'){//SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                    csvStringResult += '"'+ objectRecords[i].SupportNeeds__c+'"';
                }
                else{
                    csvStringResult += '"' + objectRecords[i][skey] + '"';
                }
                counter++;
            } // inner for loop close
            console.log('导出循环结束');
            console.log("导出循环结束");
            csvStringResult += lineDivider;
        } // outer main for loop close
@@ -3199,43 +2447,14 @@
    },
    showExportDate: function (component, objectRecords) {
        console.log('进入showexceportdate' + objectRecords); //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start  ,'SupportNeeds__c' ,'支援需求'
        var keys = [
            'Submit_date__c',
            'Person_In_Charge2__c',
            'Report_Date__c',
            'Agency_Hospital__c',
            'Department_Cateogy__c',
            'doctor2__c',
            'visitor_title__c',
            'Product_Category1__c',
            'Product_Category2__c',
            'Product_Category3__c',
            'Purpose_Type__c',
            'Result__c',
            'SupportNeeds__c'
        ];
        var headers = [
            '周',
            '担当',
            '活动日',
            '医院',
            '科室',
            '拜访人',
            '职位',
            '产品区分1',
            '产品区分2',
            '产品区分3',
            '活动区分',
            '结果',
            '支援需求'
        ];
        var content =
            '<table class="table slds-table slds-table--bordered slds-table--cell-buffer">';
        content += '<thead><tr class="slds-text-title--caps">';
        var keys = ['Submit_date__c','Person_In_Charge2__c','Report_Date__c','Agency_Hospital__c','Department_Cateogy__c','doctor2__c','visitor_title__c','Product_Category1__c','Product_Category2__c','Product_Category3__c','Purpose_Type__c','Result__c','SupportNeeds__c'];
        var headers = ['周','担当','活动日','医院','科室','拜访人','职位','产品区分1','产品区分2','产品区分3','活动区分','结果','支援需求']
        var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
        content += "<thead><tr class=\"slds-text-title--caps\">";
        for (i = 0; i < headers.length; i++) {
            content += '<th scope="col">' + headers[i] + '</th>';
            content += '<th scope=\"col"\>'+headers[i]+'</th>';
        }
        content += '</tr></thead>';
        content += "</tr></thead>";
        for (var i = 0; i < objectRecords.length; i++) {
            console.log('for' + content);
            content += '<tr>';
@@ -3243,65 +2462,45 @@
            for (var sTempkey in keys) {
                console.log('for1' + sTempkey);
                var skey = keys[sTempkey];
                if (typeof objectRecords[i][skey] === 'undefined') {
                if(typeof objectRecords[i][skey] === "undefined"){
                    content += '<td>' + '' + '</td>';
                    continue;
                }
                console.log(
                    'for2' + objectRecords[i].Person_In_Charge2__r.Name
                );
                console.log('for2'+objectRecords[i].Person_In_Charge2__r.Name);
                if (skey == 'Person_In_Charge2__c') {
                    content +=
                        '<td>' +
                        objectRecords[i].Person_In_Charge2__r.Name +
                        '</td>';
                    content += '<td>'+ objectRecords[i].Person_In_Charge2__r.Name+'</td>';
                } else if (skey == 'Agency_Hospital__c') {
                    content +=
                        '<td>' +
                        objectRecords[i].Agency_Hospital__r.Name +
                        '</td>';
                    content += '<td>'+ objectRecords[i].Agency_Hospital__r.Name+'</td>';
                } else if (skey == 'doctor2__c') {
                    content +=
                        '<td>' + objectRecords[i].doctor2__r.Name + '</td>';
                    content += '<td>'+ objectRecords[i].doctor2__r.Name+'</td>';
                } else if (skey == 'Product_Category1__c') {
                    content +=
                        '<td>' +
                        objectRecords[i].Product_Category1__r.Name +
                        '</td>';
                    content += '<td>'+ objectRecords[i].Product_Category1__r.Name+'</td>';
                } else if (skey == 'Product_Category2__c') {
                    content +=
                        '<td>' +
                        objectRecords[i].Product_Category2__r.Name +
                        '</td>';
                    content += '<td>'+ objectRecords[i].Product_Category2__r.Name+'</td>';
                } else if (skey == 'Product_Category3__c') {
                    content +=
                        '<td>' +
                        objectRecords[i].Product_Category3__r.Name +
                        '</td>';
                } else if (skey == 'SupportNeeds__c') {
                    //SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                    content +=
                        '<td>' + objectRecords[i].SupportNeeds__c + '</td>';
                } else {
                    content += '<td>'+ objectRecords[i].Product_Category3__r.Name+'</td>';
                }
                else if(skey == 'SupportNeeds__c'){//SWAG-CBX68C fy 【委托】DAMS系统周报模块内容需求增加 start
                    content += '<td>'+ objectRecords[i].SupportNeeds__c+'</td>';
                }
                else{
                    content += '<td>' + objectRecords[i][skey] + '</td>';
                }
            } // inner for loop close
            content += '</tr>';
            content += '</tr>'
        } // outer main for loop close
        content += '</table>';
        console.log('helper循环结束' + content);
        component.set('v.TableContent2', content);
        component.set('v.showMain', false);
        console.log("helper循环结束"+content);
        component.set("v.TableContent2",content);
        component.set("v.showMain",false);
    },
    select_repores_date: function (component, event, helper) {
        component.set('v.loginEdit', true);
        var reportsdate1 = component.find('input-report-date1').get('v.value');
        var reportsdate2 = component.find('input-report-date2').get('v.value');
        console.log(
            '输入的开始日期' + reportsdate1 + '输入的结束日期' + reportsdate2
        );
        var action = component.get('c.getReportsByDate');
        console.log('输入的开始日期'+reportsdate1+'输入的结束日期'+reportsdate2);
        var action = component.get("c.getReportsByDate");
        console.log('输入的开始日期1');
        action.setParams({
            date1: reportsdate1,
@@ -3310,7 +2509,8 @@
        console.log('输入的开始日期2');
        action.setCallback(this, function (response) {
            var state = response.getState();
            if (state === 'SUCCESS') {
            if (state === "SUCCESS") {
                var res = response.getReturnValue();
                console.log('输入的开始日期3' + res);
                component.set('v.loginEdit', false);
@@ -3319,78 +2519,51 @@
                if (true) {
                    let awsids = [];
                    for (let ri in res) {
                        if (
                            res[ri] &&
                            res[ri].doctor2__r &&
                            res[ri].doctor2__r.AWS_Data_Id__c
                        ) {
                        if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c){
                            awsids.push(res[ri].doctor2__r.AWS_Data_Id__c);
                        }
                    }
                    if (awsids.length > 0) {
                        let awsurl = component.get('v.awsurl');
                        AWSService.search(
                            awsurl.searchUrl,
                            {
                        AWSService.search(awsurl.searchUrl,{
                                dataIds: awsids
                            },
                            function (data) {
                        }, function(data){
                                if (data && data.object && data.object.length) {
                                    let m = {};
                                    for (let di in data.object) {
                                        if (
                                            data.object[di] &&
                                            data.object[di].dataId
                                        ) {
                                            m[data.object[di].dataId] =
                                                data.object[di];
                                    if(data.object[di] && data.object[di].dataId){
                                        m[data.object[di].dataId] = data.object[di];
                                        }
                                    }
                                    for (let ri in res) {
                                        if (
                                            res[ri] &&
                                            res[ri].doctor2__r &&
                                            res[ri].doctor2__r.AWS_Data_Id__c &&
                                            m.hasOwnProperty(
                                                res[ri].doctor2__r
                                                    .AWS_Data_Id__c
                                            )
                                        ) {
                                            res[ri].doctor2__r.Name =
                                                m[
                                                    res[
                                                        ri
                                                    ].doctor2__r.AWS_Data_Id__c
                                                ].name;
                                            res[ri].visitor_title__c =
                                                m[
                                                    res[
                                                        ri
                                                    ].doctor2__r.AWS_Data_Id__c
                                                ].doctorDivision1;
                                    if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c && m.hasOwnProperty(res[ri].doctor2__r.AWS_Data_Id__c)){
                                        res[ri].doctor2__r.Name = m[res[ri].doctor2__r.AWS_Data_Id__c].name;
                                        res[ri].visitor_title__c = m[res[ri].doctor2__r.AWS_Data_Id__c].doctorDivision1;
                                        }
                                    }
                                }
                                helper.showExportDate(component, res);
                                component.set('v.loginEdit', false);
                            },
                            awsurl.token
                        );
                        }, awsurl.token);
                    } else {
                        helper.showExportDate(component, res);
                    }
                }
                component.set('v.reports_date', res);
            } else {
                alert('导出失败,请检查活动日');
                component.set('v.loginEdit', false);
            }
        });
        $A.enqueueAction(action);
    },
    showImport: function (component) {
@@ -3425,9 +2598,7 @@
    //zhj MEBG新方案改造 2022-11-29 start
    CallBackAction: function (component, action_name, para, callback) {
        var action = component.get(
            'c.' + action_name.trimStart().replace('c.', '')
        );
        var action = component.get("c." + action_name.trimStart().replace("c.",""));
        if (para) {
            action.setParams(para);
        }
@@ -3456,22 +2627,22 @@
        for (var i in errorData) {
            let data = [];
            data.push(errorData[i].errorRow);
            data.push(errorData[i].errorInfo);
            data.push(errorData[i].errorRow)
            data.push(errorData[i].errorInfo)
            for (var j = 0; j < Object.keys(errorData[i]).length - 2; j++) {
                data.push(errorData[i]['field' + j]);
                data.push(errorData[i]['field' + j])
            }
            datas.push(data);
        }
        console.log('datas = ' + JSON.stringify(datas));
        var csv = this.convertToCSV(component, datas);
        console.log('csv = ' + JSON.stringify(csv));
        console.log('csv = ' + JSON.stringify(csv))
        this.downloadCSV(component, csv);
    },
    convertToCSV: function (component, data) {
        console.log('enter convertToCSV');
        console.log('enter convertToCSV')
        console.log('data = ' + data);
        var csv = '';
        for (var i = 0; i < data.length; i++) {
@@ -3481,11 +2652,7 @@
                var val = '';
                val = row[j] === null ? '' : row[j].toString();
                console.log('val = ' + val);
                if (
                    val.indexOf(',') !== -1 ||
                    val.indexOf('"') !== -1 ||
                    val.indexOf('\n') !== -1
                ) {
                if (val.indexOf(',') !== -1 || val.indexOf('"') !== -1 || val.indexOf('\n') !== -1) {
                    //val = '"' + val.replace(/"/g,'""') + '"';
                }
                if (j > 0) {
@@ -3501,14 +2668,13 @@
    downloadCSV: function (component, csv) {
        var link = document.createElement('a');
        // 设置字符集和文件头
        var bom = '\uFEFF';
        link.href =
            'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv);
        var bom = "\uFEFF";
        link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv);
        link.download = 'data.csv';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
    }
    },
    //zhj 导出错误信息 2023-05-16 end
    // searchAgencyContact : function(res) {
@@ -3545,4 +2711,4 @@
    //     var data = this.search(searchUrl,data,token);
    //     return data;searchUrl,requestSearchPayload,token
    // },
});
})
force-app/main/default/classes/ArriveGoodsController.cls
Diff too large
force-app/main/default/classes/ArriveGoodsControllerTest.cls
@@ -1,48 +1,25 @@
@isTest
private class ArriveGoodsControllerTest {
    //选择等待入库,包括01 和241
    @isTest
    static void arriveWithID() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -51,29 +28,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'N3047730', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'N3047731', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -120,58 +81,32 @@
            // System.assertEquals(1, Controller.ConsumableorderdetailsRecords.size());
            // System.assertEquals(2, Controller.consumableInventory.size());
            Controller.ArriveGoodsConfim();
            List<Consumable_order_details2__c> ins = [
                SELECT Id, Name
                FROM Consumable_order_details2__c
            ];
            List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c];
            // System.assertEquals(3, ins.size());
            System.Test.stopTest();
        }
    }
    //产品直接入库,包括01 和241
    @isTest
    static void arriveWithoutID() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -180,29 +115,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',ProductCode_Ext__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='N3047731',ProductCode_Ext__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test01', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'N3047731', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -215,11 +134,7 @@
            Controller.barcode = '01049531702003111115120017181000105ZK250BXJRF\n241N30477311115120017181000105ZK250BXJRA\n241Test021115120017181000105ZK250\n01049531702003111115120017181000105ZK250';
            Controller.SearchPro();
            Controller.ArriveGoodsConfim();
            List<Consumable_order_details2__c> ins = [
                SELECT Id, Name
                FROM Consumable_order_details2__c
                WHERE Bar_Code__c IN ('01049531702003111115120017181000105ZK250BXJRF', '241N30477311115120017181000105ZK250BXJRA')
            ];
            List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c WHERE Bar_Code__c in ('01049531702003111115120017181000105ZK250BXJRF','241N30477311115120017181000105ZK250BXJRA')];
            // System.assertEquals(2, ins.size());
            System.Test.stopTest();
        }
@@ -228,45 +143,20 @@
    @isTest
    static void ArriveTest() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -275,28 +165,12 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
            insert new Product2__c[] {pro1};
            // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
            // insert myAccount1;
            Consumable_order__c Order2 = new Consumable_order__c();
@@ -378,6 +252,7 @@
            Orderdet3.SerialLotNo__c = '5ZK';
            //Orderdet3.Box_Piece__c = '个';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
@@ -408,7 +283,9 @@
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.TracingCode__c = 'BXJRE';
            Orderdet5.SerialLotNo__c = '5ZK';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
            ArriveGoodsController Controller = new ArriveGoodsController();
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
@@ -423,6 +300,8 @@
            System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
            // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
@@ -430,46 +309,21 @@
    @isTest
    static void ArriveTest1() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -478,29 +332,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
            // insert myAccount1;
            Consumable_order__c Order2 = new Consumable_order__c();
@@ -580,6 +418,7 @@
            Orderdet3.TracingCode__c = 'BXJRC';
            Orderdet3.SerialLotNo__c = '5ZK';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
@@ -608,7 +447,9 @@
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.TracingCode__c = 'BXJRE';
            Orderdet5.SerialLotNo__c = '5ZK';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
            ArriveGoodsController Controller = new ArriveGoodsController();
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
@@ -623,52 +464,33 @@
            System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
            // System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
    //返品
    @isTest
    static void productReturn() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -677,29 +499,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -805,7 +611,7 @@
            Orderdet6.Box_Piece__c = '个';
            Orderdet6.TracingCode__c = 'BXJRF';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -830,6 +636,7 @@
            Controller.ToReturnGoodsPage();
            Controller.geterrorsize();
            System.Test.stopTest();
        }
    }
@@ -837,45 +644,21 @@
    @isTest
    static void productReturn_new() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -884,29 +667,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -998,7 +765,7 @@
            Orderdet5.Box_Piece__c = '个';
            Orderdet5.TracingCode__c = 'BXJRZ';
            Orderdet5.SerialLotNo__c = '5ZK';
            insert new List<Consumable_order_details2__c>{ Orderdet3, Orderdet4, Orderdet5 };
            insert new Consumable_order_details2__c[] {Orderdet3,Orderdet4,Orderdet5};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
            System.Test.setCurrentPage(page);
@@ -1016,7 +783,7 @@
            controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c = 1;
            Controller.UpdateGoodsOfReturn();
            list<String> list1 = new List<String>();
            list<String> list1 = new list<String>();
            list1.add(Controller.barcode = '01234567898');
            Controller.inventoryEntryNoESetId(list1);
@@ -1079,6 +846,7 @@
            list1.add(Controller.barcode = '0112345678901231106789012105625001234');
            Controller.inventoryEntryNoESetId(list1);
            System.Test.stopTest();
        }
    }
@@ -1086,45 +854,21 @@
    @isTest
    static void arrivedirect() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -1133,35 +877,18 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = '2344', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = '82324', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //产品注册证
            Product_Register__c prc = new Product_Register__c(
                Name = '国械注进20162220210',
            Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
                MedPrdClass__c = '3',
                ValidFrom__c = date.newinstance(2018, 7, 22),
                ValidTo__c = date.newinstance(2028, 7, 22),
                                                              ValidFrom__c = date.newinstance(2018, 07, 22),
                                                              ValidTo__c = date.newinstance(2028, 07, 22),
                RegisterNoClass_Old__c = '6815',
                RegisterNoClass_New__c = '6815',
                RegisterNoStatus__c = '有效'
@@ -1175,10 +902,16 @@
            //                                        );
            //insert prcc;
            //产品-产品注册证关系  prod01
            Product_Register_Link__c prlc = new Product_Register_Link__c(Product2__c = prod01.Id, Product_Register__c = prc.Id);
            Product_Register_Link__c prlc = new Product_Register_Link__c(
                Product2__c = prod01.Id,
                Product_Register__c = prc.Id
                );
            insert prlc;
            //产品-产品注册证关系  prod02
            Product_Register_Link__c prlc2 = new Product_Register_Link__c(Product2__c = prod02.Id, Product_Register__c = prc.Id);
            Product_Register_Link__c prlc2 = new Product_Register_Link__c(
                Product2__c = prod02.Id,
                Product_Register__c = prc.Id
                );
            insert prlc2;
            //订单
@@ -1244,7 +977,7 @@
            //List<Product2> proList = [select name,Estimation_Entry_Possibility__c from Product2 where id = :prod01.Id];
            //System.assertEquals('○', proList[0].Estimation_Entry_Possibility__c);
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4};
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -1263,44 +996,20 @@
    @isTest
    static void arrivedirect241() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -1309,35 +1018,18 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //产品注册证
            Product_Register__c prc = new Product_Register__c(
                Name = '国械注进20162220210',
            Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
                MedPrdClass__c = '3',
                ValidFrom__c = date.newinstance(2018, 7, 22),
                ValidTo__c = date.newinstance(2028, 7, 22),
                                                              ValidFrom__c = date.newinstance(2018, 07, 22),
                                                              ValidTo__c = date.newinstance(2028, 07, 22),
                RegisterNoClass_Old__c = '6815',
                RegisterNoClass_New__c = '6815',
                RegisterNoStatus__c = '有效'
@@ -1351,10 +1043,16 @@
            //                                        );
            //insert prcc;
            //产品-产品注册证关系  prod01
            Product_Register_Link__c prlc = new Product_Register_Link__c(Product2__c = prod01.Id, Product_Register__c = prc.Id);
            Product_Register_Link__c prlc = new Product_Register_Link__c(
                Product2__c = prod01.Id,
                Product_Register__c = prc.Id
                );
            insert prlc;
            //产品-产品注册证关系  prod02
            Product_Register_Link__c prlc2 = new Product_Register_Link__c(Product2__c = prod02.Id, Product_Register__c = prc.Id);
            Product_Register_Link__c prlc2 = new Product_Register_Link__c(
                Product2__c = prod02.Id,
                Product_Register__c = prc.Id
                );
            insert prlc2;
            //订单
@@ -1623,20 +1321,7 @@
            //List<Product2> proList = [select name,Estimation_Entry_Possibility__c from Product2 where id = :prod01.Id];
            //System.assertEquals('○', proList[0].Estimation_Entry_Possibility__c);
            insert new List<Consumable_order_details2__c>{
                Orderdet1,
                Orderdet2,
                Orderdet3,
                Orderdet4,
                Orderdet5,
                Orderdet6,
                Orderdet7,
                Orderdet8,
                Orderdet9,
                lose,
                lose1,
                lose2
            };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7,Orderdet8,Orderdet9,lose,lose1,lose2};
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -1652,49 +1337,26 @@
        }
    }
    //返品 明细2不存在的对应的到货订单明细
    @isTest
    static void productReturn_oldbarcode() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -1703,29 +1365,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -1838,7 +1484,7 @@
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333';
            Orderdet7.TracingCode__c = 'BXSYS';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdet7 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -1862,50 +1508,27 @@
            controller.getinventorysize();
            System.Test.stopTest();
        }
    }
    @isTest
    static void barcodecheck() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -1913,32 +1536,16 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = '2344', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = '8232', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            list<String> list1 = new List<String>();
            list<String> list1 = new list<String>();
            list1.clear();
            list1.add(Controller.barcode = '2413456250BBBBA');
            Controller.inventoryEntry(list1);
@@ -2058,45 +1665,21 @@
    @isTest
    static void barcodechkeck_2() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -2104,35 +1687,18 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = '2344', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = '82324', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //产品注册证
            Product_Register__c prc = new Product_Register__c(
                Name = '国械注进20162220210',
            Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
                MedPrdClass__c = '3',
                ValidFrom__c = date.newinstance(2018, 7, 22),
                ValidTo__c = date.newinstance(2028, 7, 22),
                                                              ValidFrom__c = date.newinstance(2018, 07, 22),
                                                              ValidTo__c = date.newinstance(2028, 07, 22),
                RegisterNoClass_Old__c = '6815',
                RegisterNoClass_New__c = '6815',
                RegisterNoStatus__c = '有效'
@@ -2146,10 +1712,16 @@
            //                                        );
            //insert prcc;
            //产品-产品注册证关系  prod01
            Product_Register_Link__c prlc = new Product_Register_Link__c(Product2__c = prod01.Id, Product_Register__c = prc.Id);
            Product_Register_Link__c prlc = new Product_Register_Link__c(
                Product2__c = prod01.Id,
                Product_Register__c = prc.Id
                );
            insert prlc;
            //产品-产品注册证关系  prod02
            Product_Register_Link__c prlc2 = new Product_Register_Link__c(Product2__c = prod02.Id, Product_Register__c = prc.Id);
            Product_Register_Link__c prlc2 = new Product_Register_Link__c(
                Product2__c = prod02.Id,
                Product_Register__c = prc.Id
                );
            insert prlc2;
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
            System.Test.setCurrentPage(page);
@@ -2157,13 +1729,13 @@
            ArriveGoodsController Controller = new ArriveGoodsController();
            //List<Product2> proList = [select name,Estimation_Entry_Possibility__c from Product2 where id = :prod01.Id];
            //System.assertEquals('○', proList[0].Estimation_Entry_Possibility__c);
            List<Product2__c> product2InStore = [
                SELECT Id, Name, Name__c, Intra_Trade_List_RMB__c, Asset_Model_No__c, OT_CODE__c
            List<Product2__c> product2InStore = [SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,OT_CODE__c
                FROM Product2__c
                WHERE Estimation_Entry_Possibility__c = '○' AND Pro2_Dealer_Object__c = TRUE AND OT_CODE__c = 'test'
            ];
                                                 WHERE Estimation_Entry_Possibility__c = '○'
                                                                                         AND Pro2_Dealer_Object__c = true
                                                                                                                     AND OT_CODE__c ='test' ];
            //System.assertEquals(1, product2InStore.size());
            list<String> list1 = new List<String>();
            list<String> list1 = new list<String>();
            list1.clear();
            list1.add(Controller.barcode = '2413456250BBBBA');
            Controller.inventoryEntryNoESetId(list1);
@@ -2242,6 +1814,7 @@
            list1.add(Controller.barcode = '241test111204121778900034567890250BBBBQ');
            Controller.inventoryEntryNoESetId(list1);
            list1.clear();
            list1.add(Controller.barcode = '0111234101204120118901231712a4001234250BBBBR');
            Controller.inventoryEntryNoESetId(list1);
@@ -2261,6 +1834,7 @@
            list1.clear();
            list1.add(Controller.barcode = '011123410120412017120100250AAAAA');
            Controller.inventoryEntryNoESetId(list1);
        }
    }
@@ -2268,45 +1842,21 @@
    @isTest
    static void addSaleOrderAuto() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -2314,28 +1864,12 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
            insert new Product2__c[] {pro1};
            // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
            // insert myAccount1;
            Consumable_order__c Order2 = new Consumable_order__c();
@@ -2378,45 +1912,21 @@
    @isTest
    static void methodTest1() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -2424,29 +1934,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'N3047730', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'N3047731', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -2508,58 +2002,32 @@
            // System.assertEquals(1, Controller.ConsumableorderdetailsRecords.size());
            // System.assertEquals(2, Controller.consumableInventory.size());
            Controller.ArriveGoodsConfim();
            List<Consumable_order_details2__c> ins = [
                SELECT Id, Name
                FROM Consumable_order_details2__c
            ];
            List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c];
            // System.assertEquals(3, ins.size());
            System.Test.stopTest();
        }
    }
    //返品
    @isTest
    static void methodTest2() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -2567,29 +2035,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -2681,7 +2133,7 @@
            Orderdet5.Box_Piece__c = '个';
            Orderdet5.TracingCode__c = 'BXJRZ';
            Orderdet5.SerialLotNo__c = '5ZK';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet3, Orderdet4, Orderdet5 };
            insert new Consumable_order_details2__c[] {Orderdet1,Orderdet3,Orderdet4,Orderdet5};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
            System.Test.setCurrentPage(page);
@@ -2699,7 +2151,7 @@
            // controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c =1;
            Controller.UpdateGoodsOfReturn();
            list<String> list1 = new List<String>();
            list<String> list1 = new list<String>();
            list1.add(Controller.barcode = '01234567898');
            Controller.inventoryEntryNoESetId(list1);
@@ -2762,6 +2214,7 @@
            list1.add(Controller.barcode = '0112345678901231106789012105625001234');
            Controller.inventoryEntryNoESetId(list1);
            System.Test.stopTest();
        }
    }
@@ -2769,45 +2222,20 @@
    @isTest
    static void ArrivejancodeTest() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -2816,28 +2244,12 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
            insert new Product2__c[] {pro1};
            // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
            // insert myAccount1;
            Consumable_order__c Order2 = new Consumable_order__c();
@@ -2919,6 +2331,7 @@
            Orderdet3.SerialLotNo__c = '5ZK';
            //Orderdet3.Box_Piece__c = '个';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
@@ -2949,7 +2362,9 @@
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.TracingCode__c = 'BXJRE';
            Orderdet5.SerialLotNo__c = '5ZK';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
            ArriveGoodsController Controller = new ArriveGoodsController();
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
@@ -2964,6 +2379,8 @@
            System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
            // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
@@ -2971,45 +2388,20 @@
    @isTest
    static void ArriveotheragencyTest() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -3018,28 +2410,12 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
            insert new Product2__c[] {pro1};
            Account myAccount3 = new Account(name = 'Testaccount003', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
            insert myAccount3;
            Consumable_order__c Order2 = new Consumable_order__c();
@@ -3138,6 +2514,7 @@
            // Orderdet3.SerialLotNo__c = '5ZK';
            // //Orderdet3.Box_Piece__c = '个';
            // //出库产品
            // Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            // Orderdet4.Name = 'OCM_01_001005';
@@ -3170,6 +2547,8 @@
            // Orderdet5.SerialLotNo__c = '5ZK';
            // insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
            ArriveGoodsController Controller = new ArriveGoodsController();
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
            System.Test.setCurrentPage(page);
@@ -3183,6 +2562,8 @@
            // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
@@ -3190,45 +2571,21 @@
    @isTest
    static void addInventoryDetails1() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -3237,29 +2594,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -3379,7 +2720,7 @@
            Orderdet7.Box_Piece__c = '个';
            Orderdet7.TracingCode__c = 'BXJQT';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdet7 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -3404,6 +2745,7 @@
            Controller.ToReturnGoodsPage();
            Controller.geterrorsize();
            System.Test.stopTest();
        }
    }
@@ -3428,69 +2770,28 @@
    @isTest
    static void searchProTest1() {
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'N3047730', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'N3047731', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -3539,10 +2840,7 @@
            Controller.barcode = '01049531702003111115120017181000105ZK250BXJRF';
            Controller.SearchPro();
            Controller.ArriveGoodsConfim();
            List<Consumable_order_details2__c> ins = [
                SELECT Id, Name
                FROM Consumable_order_details2__c
            ];
            List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c];
            System.Test.stopTest();
        }
    }
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls
@@ -3,45 +3,20 @@
    @isTest
    static void myUnitTest() {
        // // TO DO: implement unit test
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -50,29 +25,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -132,6 +91,7 @@
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
@@ -177,13 +137,9 @@
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
            System.assertEquals(1, cod1.size());
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls-meta.xml
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls
@@ -27,11 +27,11 @@
        Map<string, id> nameParentMaps = new Map<string, id>();
        Set<String> attachmentIds = new Set<String>();
        for (Attachment att : scope) {
            nameParentMaps.put(att.Name, att.ParentId);
            nameParentMaps.put(att.Id, att.ParentId);
            attachmentIds.add(att.Id);
            ContentVersion cVersion = new ContentVersion();
            cVersion.ContentLocation = 'S'; //S-Document is in Salesforce. E-Document is outside of Salesforce. L-Document is on a Social Netork.
            cVersion.PathOnClient = att.Name; //File name with extention
            cVersion.PathOnClient = att.Id;   //File name with extention
            cVersion.Origin = 'C'; //C-Content Origin. H-Chatter Origin.
            cVersion.Title = att.Name; //Name of the file
            cVersion.VersionData = att.Body; //File content
@@ -43,20 +43,16 @@
        //Insert insertContents;
        List<Database.SaveResult> saveResultsContents = Database.insert(insertContents, false);
        insertLog(saveResultsContents, attachmentIds);
        set<Id> contentIds = new Set<Id>();
        set<Id> contentIds = new set<Id>();
        for (ContentVersion cv : insertContents) {
            contentIds.add(cv.id);
        }
        List<ContentVersion> conDocuments = [
            SELECT ContentDocumentId, Title
            FROM ContentVersion
            WHERE Id IN :contentIds
        ];
        List<ContentVersion> conDocuments = [SELECT ContentDocumentId, Title,PathOnClient FROM ContentVersion WHERE Id in: contentIds];
        List<ContentDocumentLink> insertDocLinks = new List<ContentDocumentLink>();
        for (ContentVersion cv : conDocuments) {
            ContentDocumentLink cDocLink = new ContentDocumentLink();
            cDocLink.ContentDocumentId = cv.ContentDocumentId; //Add ContentDocumentId
            cDocLink.LinkedEntityId = nameParentMaps.get(cv.Title); //Add attachment parentId
            cDocLink.LinkedEntityId = nameParentMaps.get(cv.PathOnClient);     //Add attachment parentId
            cDocLink.ShareType = 'V'; //V - Viewer permission. C - Collaborator permission. I - Inferred permission.
            cDocLink.Visibility = 'AllUsers';
            insertDocLinks.add(cDocLink);
@@ -87,10 +83,13 @@
            logMapList.add(attachmentIdMap);
            traLog.Response__c = JSON.serialize(logMapList);
            traLog.Module__c = 'Attachment COnvert Transaction ';
            insert traLog;
            Insert traLog;
        }
    }
    global void finish(Database.BatchableContext BC) {
    }
}
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls-meta.xml
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls
@@ -1,5 +1,6 @@
@isTest(SeeAllData=true)
private class Batch_FixAttachmentToFilesTest {
    @isTest(SeeAllData=true)
    static void testInit() {
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
@@ -31,13 +32,11 @@
        Datetime creStartDate;
        Datetime creEndDate;
        List<Attachment> attachmentList = [
            SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById
            FROM Attachment
            WHERE Id = :attachList[0].Id
            ORDER BY CreatedDate ASC
            LIMIT 1
        ];
        List<Attachment> attachmentList = [Select Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById
                                             From Attachment
                                            Where Id =:attachList[0].Id
                                            Order by CreatedDate ASC
                                            Limit 1];
        for (Attachment att : attachmentList) {
            Id.add(att.ParentId);
            objectType = att.Parent.Name;
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls-meta.xml
force-app/main/default/classes/DealerInquiryModifyStateController.cls
@@ -1,7 +1,7 @@
public with sharing class DealerInquiryModifyStateController {
    public List<OpportunityInfo> oppRecords { get; set; }
    // ページレイアウトの情報を取得
    private Map<String, Map<String, String>> editLayoutItemRWMap = new Map<String, Map<String, String>>();
    private Map<String, Map<String, String>> editLayoutItemRWMap = New Map<String, Map<String, String>>();
    // private Map<String, Map<String, String>> editLayoutItemRWMapRt = null;
    public List<OpportunityInfo> OPPORTList { get; set; }
    /*****************検索用******************/
@@ -34,7 +34,7 @@
    public String preSortKey { get; set; }
    public Boolean sortOrderAsc { get; set; }
    public String[] sortOrder { get; set; }
    public String[] columus = new List<String>{ 'Id' };
    public String[] columus = new String[] {'Id'};
    public String[] selColumus = null;
    public Set<String> columusSet = new Set<String>{ 'Id' };
@@ -54,8 +54,7 @@
    //add by Link 2023-6-2
    public String remindMsg { get; set; }
    @TestVisible
    private String accTypeForSort = null;
    @TestVisible private String accTypeForSort = null;
    private static Integer oppLimit = 500;
    public DealerInquiryModifyStateController() {
@@ -178,11 +177,8 @@
            for (PartnerSoapSforceCom.DescribeLayoutSection section : layout.editLayoutSections) {
                for (PartnerSoapSforceCom.DescribeLayoutRow row : section.layoutRows) {
                    for (PartnerSoapSforceCom.DescribeLayoutItem item : row.layoutItems) {
                        if (
                            item.layoutComponents != null &&
                            item.layoutComponents.size() > 0 &&
                            String.isBlank(item.layoutComponents[0].value) == false
                        ) {
                        if (item.layoutComponents != null && item.layoutComponents.size() > 0
                                && String.isBlank(item.layoutComponents[0].value) == false) {
                            rtnInner.put(item.layoutComponents[0].value, 'r');
                            if (item.editableForUpdate) {
                                rtnInner.put(item.layoutComponents[0].value, 'w');
@@ -203,10 +199,9 @@
        return null;
    }
    //用于获取经销商询价字段集和询价字段集以及相应的读写权限
    @TestVisible
    private void setLayoutRWInfo() {
    @TestVisible private void setLayoutRWInfo() {
        if (this.sortOrder == null) {
            selColumus = new List<String>{};
            selColumus = new String[] {};
            strColumus = '';
            ID accRecordTypeId = accTypeForSort;
@@ -285,14 +280,14 @@
                    strRtColumus = strRtColumus + ',' + s;
                }
                columnRightCss.add(s.replace('.', '_'));
            }
            strColumus = String.join(columus, ',');
            System.debug('======-======-======strColumus' + strColumus);
            System.debug('======-======-======strRtColumus' + strRtColumus);
            this.sortOrderAsc = true;
            this.sortOrder = new List<String>(selColumus.size());
            for (Integer i = 0; i < selColumus.size(); i++)
                this.sortOrder[i] = ' ';
            this.sortOrder = new String[selColumus.size()];
            for (Integer i = 0; i < selColumus.size(); i++) this.sortOrder[i] = ' ';
        }
    }
    //用于拼接SOQL语句 根据不同检索条件拼接不同SOQL语句。
@@ -314,11 +309,8 @@
        // System.debug('pppqqq333'+querySoql);
        // AND Ownerid in ( '+querySoql+')'
        String soql =
            'SELECT Change_To_Opportunity__r.Id , Agency_Hospital__r.Name , Product_Category1__r.Name , Product_Category2__r.Name , Product_Category3__r.Name , Agency_Person__r.Name , Agency__r.Name , Change_To_Opportunity__r.Name ,' +
            strColumus +
            ',' +
            strRtColumus +
        String soql = 'SELECT Change_To_Opportunity__r.Id , Agency_Hospital__r.Name , Product_Category1__r.Name , Product_Category2__r.Name , Product_Category3__r.Name , Agency_Person__r.Name , Agency__r.Name , Change_To_Opportunity__r.Name ,' +
                      strColumus + ',' + strRtColumus +
            ' FROM Agency_Opportunity__c WHERE recordType.DeveloperName = \'Opportunity\' ';
        //数据字段:经销商医院  +SOQL
        if (!String.isBlank(accSearch)) {
@@ -345,21 +337,9 @@
            soql += ' order by LastModifiedDate desc limit ' + Integer.valueOf(limits);
        } else {
            if (Integer.valueOf(this.sortKey) <= titleLeft.size() + 7) {
                soql +=
                    ' order by ' +
                    this.selColumus[Integer.valueOf(this.sortKey)] +
                    ' ' +
                    (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') +
                    ' limit ' +
                    Integer.valueOf(limits);
                soql += ' order by ' + this.selColumus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + ' limit ' + Integer.valueOf(limits);
            } else {
                soql +=
                    ' order by Change_To_Opportunity__r.' +
                    this.selColumus[Integer.valueOf(this.sortKey)] +
                    ' ' +
                    (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') +
                    ' limit ' +
                    Integer.valueOf(limits);
                soql += ' order by Change_To_Opportunity__r.' + this.selColumus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last') + ' limit ' + Integer.valueOf(limits);
            }
        }
        system.debug(soql);
@@ -383,6 +363,7 @@
                    str = '\'' + agc.Change_To_Opportunity__r.Id + '\'';
                } else if (agc.Change_To_Opportunity__r.Id != null) {
                    str += ',\'' + agc.Change_To_Opportunity__r.Id + '\'';
                }
            }
            for (Agency_Opportunity__c info : InfoList) {
@@ -399,9 +380,7 @@
            remindMsg = '取得最近的 ' + oppCount + ' 条数据';
        } else if (!String.isBlank(this.sortKey)) {
            if (oppCount > oppLimit) {
                ApexPages.addmessage(
                    new ApexPages.message(ApexPages.severity.INFO, '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件')
                );
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件'));
                //add by Link 2023-6-2
                remindMsg = '数据超过' + oppLimit + '件,只显示前' + oppLimit + '件';
            } else {
@@ -428,6 +407,7 @@
                String cSql = '';
                soql += ' AND (';
                for (Integer icount = 0; icount < vals.size(); icount++) {
                    //精琢科技   zxk    2021-08-25   start
                    String val = vals[icount];
                    if (equalOpts == 'contains') {
@@ -444,8 +424,10 @@
                            soql += ' AND ';
                        }
                    }
                }
                //精琢科技   zxk    2021-08-25   end
                //     String val = vals[icount];
                //     cSql = this.makeTextSqlStr(textOpts, equalOpts, val);
@@ -489,6 +471,7 @@
            else if (equalOpts == '=' || equalOpts == '<>') {
                soql += 'AND ' + textOpts + equalOpts + '\'' + numtext + '\'';
            }
            //精琢科技   zxk    2021-08-25   start
            //起始字符
            else if (equalOpts == 'starts with' && numtext.contains(' ')) {
@@ -500,10 +483,12 @@
                        soql += ' ' + textOpts + '  LIKE  \'%' + val + '%\'';
                        if (icount < vals.size() - 1) {
                            soql += ' OR ';
                        }
                    }
                }
                soql += ')';
            }
            //精琢科技   zxk    2021-08-25   end
@@ -524,8 +509,7 @@
        return soql;
    }
    //检索条件:数据字段1,数据字段2,数据字段3均满足,并且进入makeTextSql()之后,内含数据字段包含多种时进入此方法。
    @TestVisible
    private String makeTextSqlStr(String textOpts, String equalOpts, String val) {
    @TestVisible private String makeTextSqlStr(String textOpts, String equalOpts, String val) {
        String soql = '';
        if (!String.isBlank(textOpts)) {
            String tmpVal = val;
@@ -579,6 +563,7 @@
                if (oi.changeFlg == '1') {
                    oi.changeFlg = '0';
                    updTarget.add(oi.AgcOpp);
                }
                // if (oi.changeFlgRt == '1' && oi.opp.id != null) {
                //     oi.changeFlgRt = '0';
force-app/main/default/classes/DealerInquiryModifyStateControllerTest.cls
@@ -1,28 +1,15 @@
@isTest
private class DealerInquiryModifyStateControllerTest {
    @TestSetup
    static void init() {
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
        ];
    @TestSetup static void init() {
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectCo.size() == 0) {
            return;
        }
        List<RecordType> rectSct = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科'
        ];
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
        if (rectSct.size() == 0) {
            return;
        }
        List<RecordType> rectDpt = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '診療科 消化科'
        ];
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
        if (rectDpt.size() == 0) {
            return;
        }
@@ -73,16 +60,17 @@
        contact1.LastName = 'test1医院';
        contact1.Agency_User__c = true;
        insert contact1;
        List<Contact> contactlist = [
            SELECT Id, FirstName
            FROM Contact
        List<Contact> contactlist = [select Id, FirstName
                                     from Contact
        ];
        System.assertEquals('責任者', contactlist[0].FirstName);
        //
        User user = new User();
        Profile p = [SELECT Id FROM Profile WHERE Name = '901_经销商活动系统'];
        Profile p = [select Id from Profile where Name = '901_经销商活动系统'];
        user.ProfileId = p.Id;
        user.ContactId = contact1.Id;
        user.FirstName = 'ユーザー';
@@ -99,11 +87,7 @@
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert user;
        }
        List<user> users = [
            SELECT Id, Name, LastName, FirstName
            FROM User
            WHERE LastName = 'テスト'
        ];
        List<user> users = [select Id, Name, LastName, FirstName from User where LastName = 'テスト'];
        //
        Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c();
@@ -118,12 +102,7 @@
        //System.assertEquals('テスト',users[0].LastName);
        System.assertEquals('ユーザー', users[0].FirstName);
        Id rtId = [
            SELECT Id, DeveloperName
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Agency_Opportunity__c' AND DeveloperName = 'Opportunity'
        ]
        .Id;
        Id rtId = [select Id, DeveloperName from RecordType where IsActive = true and SobjectType = 'Agency_Opportunity__c' and DeveloperName = 'Opportunity'].Id;
        // Schema.SobjectType.Agency_Opportunity__c.getRecordTypeInfosByName().get('询价').getRecordTypeId();
        Agency_opportunity__c agency_opportunity = new Agency_opportunity__c();
        agency_opportunity.RecordTypeId = rtId;
@@ -138,6 +117,7 @@
        insert agency_opportunity;
        Test.stopTest();
    }
    static testMethod void myUnitTest_SortKey() {
@@ -147,8 +127,10 @@
        PageReference page = new PageReference('/apex/DealerInquiryModifyState');
        System.Test.setCurrentPage(page);
        // 初始化测试
        DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController();
        controller.init();
        //System.assertEquals(1, controller.oppRecords.size());验证预期值和结果值正确性
@@ -362,6 +344,7 @@
        controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09');
        controller.chick();
        Test.stopTest();
    }
    static testMethod void myUnitTestTime02() {
        PageReference page = new PageReference('/apex/DealerInquiryModifyState');
@@ -396,6 +379,7 @@
        controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09');
        controller.chick();
        Test.stopTest();
    }
    static testMethod void myUnitTestTimeSave() {
        PageReference page = new PageReference('/apex/DealerInquiryModifyState');
force-app/main/default/classes/LexArriveGoodsController.cls
@@ -1,4 +1,5 @@
public without sharing class LexArriveGoodsController {
    //初始化
    @AuraEnabled
    public static Results init(String arrType, String eSetId) {
@@ -94,10 +95,7 @@
    public static Results updateGoodsOfReturn(String arrControllerStr, String showGoodsofReturnListStr) {
        Results results = new Results();
        try {
            List<ConsumableorderdetailsInfo> showGoodsofReturnList = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
                showGoodsofReturnListStr,
                List<ConsumableorderdetailsInfo>.class
            );
            List<ConsumableorderdetailsInfo> showGoodsofReturnList = (List<ConsumableorderdetailsInfo>)JSON.deserialize(showGoodsofReturnListStr, List<ConsumableorderdetailsInfo>.class);
            ArriveGoodsController arrController = (ArriveGoodsController) JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
            arrController.ShowGoodsofReturnList = changeType2(showGoodsofReturnList);
            arrController.returnError = null;
@@ -247,6 +245,7 @@
        public String ReportProductExpirationDate { get; set; }
        public ConsumableorderdetailsInfo() {
        }
        // 排序
force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml
force-app/main/default/classes/LexArriveGoodsControllerTest.cls
@@ -4,51 +4,20 @@
    static void test1() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount1 = new Account(
            Name = 'Testaccount001',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999996'
        );
        Account myAccount2 = new Account(
            Name = 'Testaccount002',
            Dealer_discount__c = 10,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900',
            Product_Limit_Date__c = 'Test01|2|4,Test02|3|5'
        );
        insert new List<Account>{ myAccount1, myAccount2 };
        Account myAccount1 = new Account(Name='Testaccount001',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999996');
        Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900',Product_Limit_Date__c = 'Test01|2|4,Test02|3|5');
        insert new Account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -57,31 +26,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -140,6 +91,7 @@
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
@@ -185,13 +137,9 @@
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
            System.assertEquals(1, cod1.size());
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
@@ -203,10 +151,7 @@
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id);
            String arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.searchProduct('', arrControllerStr);
            re = LexArriveGoodsController.searchProduct(
                '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123',
                arrControllerStr
            );
            re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr);
            arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.arriveGoodsConfim(arrControllerStr);
            System.Test.stopTest();
@@ -217,45 +162,21 @@
    static void test2() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        insert new account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -264,31 +185,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -398,7 +301,7 @@
            Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333';
            Orderdet7.TracingCode__c = 'BXSYS';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdet7 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7};
            ArriveGoodsController Controller = new ArriveGoodsController();
            System.Test.startTest();
            Controller.init();
@@ -409,10 +312,7 @@
            controller.getinventorysize();
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', '');
            String arrControllerStr = re.arrGoodCon;
            re = LexArriveGoodsController.searchProduct(
                '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222',
                arrControllerStr
            );
            re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', arrControllerStr);
            arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.arriveGoodsConfim(arrControllerStr);
            LexArriveGoodsController.updateGoodsOfReturn(re.arrGoodCon, JSON.serialize(re.showGoodsofReturnList));
force-app/main/default/classes/LexArriveGoodsControllerTest.cls-meta.xml
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls
@@ -3,51 +3,20 @@
    static void test1() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        Account myAccount1 = new Account(
            Name = 'Testaccount001',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999996'
        );
        Account myAccount2 = new Account(
            Name = 'Testaccount002',
            Dealer_discount__c = 10,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900',
            Product_Limit_Date__c = 'Test01|2|4,Test02|3|5'
        );
        insert new List<Account>{ myAccount1, myAccount2 };
        Account myAccount1 = new Account(Name='Testaccount001',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999996');
        Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900',Product_Limit_Date__c = 'Test01|2|4,Test02|3|5');
        insert new Account[]{myAccount1,myAccount2};
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        insert core;
        user MyUser_Test = new User(
            ContactId = core.id,
            Alias = 'newUser',
            Email = 'newuser@testorg.com',
            EmailEncodingKey = 'UTF-8',
            LastName = 'TestUser',
            LanguageLocaleKey = 'zh_CN',
            LocaleSidKey = 'zh_CN',
            ProfileId = prof.Id,
            TimeZoneSidKey = 'Asia/Shanghai',
            UserName = 'testUser@testorg.com',
            UserPro_Type__c = 'ET'
        );
        user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET');
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }
@@ -56,31 +25,13 @@
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
        system.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -139,6 +90,7 @@
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
@@ -184,13 +136,9 @@
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
            System.assertEquals(1, cod1.size());
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
@@ -202,10 +150,7 @@
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id);
            String arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.searchProduct('', arrControllerStr);
            re = LexArriveGoodsController.searchProduct(
                '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123',
                arrControllerStr
            );
            re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr);
            arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.arriveGoodsConfim(arrControllerStr);
            System.Test.stopTest();
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls-meta.xml
force-app/main/default/classes/LexArriveGoodsMainController.cls
@@ -47,7 +47,10 @@
                agencyProType = 'ET';
            }
            // 获得订单一览
            Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap();
      Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe()
        .get('Consumable_order__c')
        .getDescribe()
        .fieldSets.getMap();
            Schema.FieldSet fs = fsMap.get('arrive_view');
            // 获得订单中的所有项目
            List<FieldSetMember> fsmList = fs.getFields();
@@ -139,7 +142,10 @@
        try {
            // cate2 = coc.Shipment_date__c;
            // 获得订单一览
            Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap();
      Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe()
        .get('Consumable_order__c')
        .getDescribe()
        .fieldSets.getMap();
            Schema.FieldSet fs = fsMap.get('arrive_view');
            // 获得订单中的所有项目
            List<FieldSetMember> fsmList = fs.getFields();
@@ -169,7 +175,10 @@
            soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            soql += 'and showFalseNotshowTrue__c = false';
            if (!String.isBlank(category1)) {
                soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
        soql +=
          ' and Name like \'%' +
          String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) +
          '%\' ';
            }
            if (cate2 != null) {
                soql += ' and Shipment_date__c = :cate2 ';
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls
@@ -9,24 +9,19 @@
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(currentUser) {
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            myAccount1 = new Account(name = 'testaccount001', RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999900');
            insert myAccount1;
            core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
            core = new Contact(email='jplumber@salesforce.com',
            firstname='Joe',
            lastname='Plumber',
            accountid=myAccount1.id);
            insert core;
            myUser_test = new User(
            myUser_test = New User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
@@ -37,45 +32,30 @@
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '北京'
            );
                Work_Location__c='北京');
            insert myUser_test;
        }
        System.runAs(myUser_test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c(
                Name = 'OCM_01_001',
                RecordTypeId = System.Label.RT_ConOrder_Delivery,
                Order_type__c = '订单',
                Dealer_info__c = myAccount1.Id,
                Order_ProType__c = 'ET'
            );
                Order_ProType__c = 'ET');
            Consumable_order__c Order2 = new Consumable_order__c(
                Name = 'OCM_01_002',
                RecordTypeId = System.Label.RT_ConOrder_Delivery,
                Order_type__c = '订单',
                Dealer_info__c = myAccount1.Id,
                Order_ProType__c = 'ET'
            );
            insert new List<Consumable_order__c>{ Order1, Order2 };
                Order_ProType__c = 'ET');
            insert new Consumable_order__c[] {Order1, Order2};
            //明细1
            Consumable_orderdetails__c createDetail = new Consumable_orderdetails__c();
@@ -101,30 +81,26 @@
                Consumable_order_minor__c = Order1.Id,
                Arrive_date__c = Date.today(),
                Consumable_Product__c = pro1.id,
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery
            );
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery);
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(
                Name = 'OCM_01_001002',
                Consumable_order_minor__c = Order2.Id,
                Arrive_date__c = Date.today(),
                Consumable_Product__c = pro2.id,
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery
            );
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery);
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(
                Name = 'OCM_01_001003',
                Consumable_order_minor__c = Order1.Id,
                //Arrive_date__c = Date.today(),
                Consumable_Product__c = pro1.id,
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery
            );
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery);
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(
                Name = 'OCM_01_001004',
                Consumable_order_minor__c = Order2.Id,
                Arrive_date__c = Date.today(),
                Consumable_Product__c = pro2.id,
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery
            );
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4 };
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery);
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2, Orderdet3, Orderdet4};
            LexArriveGoodsMainController.init();
            LexArriveGoodsMainController.searchConsumableorderdetails('Too001', null, myAccount1.Id, '北京', 'ET');
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls-meta.xml
force-app/main/default/classes/LexArriveGsDetailsController.cls
@@ -19,28 +19,17 @@
        try {
            //取经销商信息
            String userId = UserInfo.getUserId();
            List<user> useracc = new List<user>();
            useracc = [SELECT accountid FROM user WHERE id = :userId];
            List<user> useracc = New List<user>();
            useracc = [select accountid from user where id =:userId];
            accountid = useracc[0].accountid;
            List<Consumable_order__c> rs = new List<Consumable_order__c>();
            if (eSetId == null || eSetId == '') {
            List<Consumable_order__c> rs = New List<Consumable_order__c>();
            if(eSetId == NULL || eSetId == '') {
            } else {
                rs = [
                    SELECT
                        id,
                        name,
                        Order_reason__c,
                        Arrive_Order__c,
                        Arrive_Order__r.Total_num__c,
                        Arrive_Order__r.IsShipment__c,
                        Arrive_Order__r.Name,
                        recordtypeid,
                        Order_status__c,
                        Deliver_date__c,
                        Arrive_total_amount__c
                rs = [SELECT id,name,Order_reason__c,Arrive_Order__c,Arrive_Order__r.Total_num__c,Arrive_Order__r.IsShipment__c,Arrive_Order__r.Name,
                            recordtypeid,Order_status__c,Deliver_date__c,Arrive_total_amount__c
                    FROM Consumable_order__c
                    WHERE id = :eSetId
                ];
                        WHERE id =:eSetId];
                coc = new Consumable_order__c();
                if (rs.size() > 0) {
                    coc = rs[0];
@@ -49,31 +38,17 @@
                if (coc.Arrive_Order__c == null) {
                    arrivetoorder = true;
                }
                List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = [
                    SELECT
                        Id,
                        Dealer_Arrive__c,
                        Bar_Code__c,
                        RecordTypeid,
                        Name,
                        Consumable_Product__r.Name__c,
                        Consumable_Product__c,
                        Consumable_Product__r.Name,
                        Dealer_Saled__c,
                        Sterilization_limit__c,
                        Deliver_date__c,
                        Intra_Trade_List_RMB__c,
                        Asset_Model_No__c,
                        Arrive_Date__c,
                        Send_Date__c,
                List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = [SELECT Id,Dealer_Arrive__c,Bar_Code__c, RecordTypeid, Name,Consumable_Product__r.Name__c,
                                                            Consumable_Product__c,Consumable_Product__r.Name,Dealer_Saled__c,
                                                            Sterilization_limit__c,Deliver_date__c,
                                                            Intra_Trade_List_RMB__c,Asset_Model_No__c,Arrive_Date__c,Send_Date__c,
                        Consumable_Product__r.SFDA_Status__c,
                        Consumable_Product__r.Product2__r.Packing_list_manual__c,
                        Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
                        Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c
                    FROM Consumable_order_details2__c
                    WHERE Consumable_Arrived_order__c = :eSetId
                    ORDER BY Name
                ];
                                                        ORDER BY Name ];
                for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
                    consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
                }
@@ -82,9 +57,7 @@
                bss.packing_list = bss.Prod.Product2__r.Packing_list_manual__c;
                bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
                //update by rentx 20210622 start CHAN-C3K4ZQ
                bss.expiration_DateStr = bss.Prod.Product2__r.SFDA_Expiration_Date__c == null
                    ? ''
                    : bss.Prod.Product2__r.SFDA_Expiration_Date__c.format();
                bss.expiration_DateStr = bss.Prod.Product2__r.SFDA_Expiration_Date__c == null ? '' : bss.Prod.Product2__r.SFDA_Expiration_Date__c.format();
                bss.Sterilization_limitStr = bss.esd.Sterilization_limit__c == null ? '' : bss.esd.Sterilization_limit__c.format();
                //update by rentx 20210622 end CHAN-C3K4ZQ
            }
@@ -120,14 +93,11 @@
            coc = (Consumable_order__c) JSON.deserialize(cocStr, Consumable_order__c.class);
            List<Consumable_order_details2__c> orderdetails = new List<Consumable_order_details2__c>();
            //发货明细2
            orderdetails = [
                SELECT Id
            orderdetails = [SELECT Id
                FROM Consumable_order_details2__c
                WHERE
                    Consumable_order_minor__c = :coc.Arrive_Order__c
                            WHERE Consumable_order_minor__c =:coc.Arrive_Order__c
                    AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
                    AND Dealer_Arrive__c = TRUE
            ];
                            AND Dealer_Arrive__c = true ];
            if (orderallcount != consumableorderdetailsCount) {
                results.result = 'Fail';
                results.errorMsg = '订单不完全到货,无法出库';
@@ -188,6 +158,7 @@
        @AuraEnabled
        public String prodName;
        // 已存在消耗品明细用
        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
            esd = e;
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls
@@ -10,55 +10,22 @@
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(currentUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            myAccount2 = new Account(name = 'Testaccount002', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id);
            insert myAccount2;
            core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount2.id);
            insert core;
            myUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com'
            );
            myUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
            insert myUser_Test;
            System.runAs(MyUser_Test) {
                StaticParameter.ConsumableAssetHanderTrigger = true;
@@ -94,14 +61,9 @@
                Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
                Orderdet2.Bar_Code__c = '22222';
                insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2 };
                insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2};
                LexArriveGsDetailsController.init(order1.Id);
                LexArriveGsDetailsController.proSale(
                    JSON.serialize(LexArriveGsDetailsController.coc),
                    LexArriveGsDetailsController.coc.Arrive_Order__r.Total_num__c,
                    LexArriveGsDetailsController.consumableorderdetailsRecords.size(),
                    order1.Id
                );
                LexArriveGsDetailsController.proSale(JSON.serialize(LexArriveGsDetailsController.coc), LexArriveGsDetailsController.coc.Arrive_Order__r.Total_num__c, LexArriveGsDetailsController.consumableorderdetailsRecords.size(), order1.Id);
            }
        }
    }
@@ -116,55 +78,22 @@
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(currentUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            myAccount2 = new Account(name = 'Testaccount002', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id);
            insert myAccount2;
            core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount2.id);
            insert core;
            myUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com'
            );
            myUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
            insert myUser_Test;
            System.runAs(MyUser_Test) {
                StaticParameter.ConsumableAssetHanderTrigger = true;
@@ -185,6 +114,7 @@
                olyorder.IsShipment__c = true;
                insert olyorder;
                //订单明细
                Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
                Orderdet1.Name = 'OCM_01_001001';
@@ -201,7 +131,7 @@
                Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
                Orderdet2.Bar_Code__c = '22222';
                insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2 };
                insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2};
                LexArriveGsDetailsController.init(order1.Id);
                LexArriveGsDetailsController.proSale(JSON.serialize(LexArriveGsDetailsController.coc), 1, 1, order1.Id);
            }
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls-meta.xml
force-app/main/default/classes/LexCancelRemoveBoxController.cls
@@ -11,7 +11,7 @@
    public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { get; set; }
    public static boolean saveFLGbln { get; set; }
    //错误信息
    public static String alertMessage { get; set; }
    public static String alertMessage {set;get;}
    //拆盒明细件数
    public static Integer getinventorysize() {
        return ConsumableorderdetailsRecordsdummy.size();
@@ -21,7 +21,7 @@
    public static Map<String, String> AllMap = new Map<String, String>();
    public static List<String> BarCodeListP = new List<String>();
    //不符合的barcode和型号
    public static list<String> notInlist = new List<String>();
    public static list<String> notInlist = new list<String>();
    public static String baseUrl { get; private set; }
    private static String accountid = null;
    private static String accountName = null;
@@ -34,7 +34,7 @@
        ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>();
        ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>();
        consumableInventory = new List<ConsumableorderdetailsInfo>();
        saveFLGbln = false;
        saveFLGbln = FALSE;
    }
    @AuraEnabled
@@ -44,12 +44,8 @@
        res.entity = data;
        String userId = UserInfo.getUserId();
        List<user> Useracc = new List<user>();
        Useracc = [
            SELECT accountid, Work_Location__c, UserPro_Type__c
            FROM user
            WHERE id = :userId
        ];
        List<user> Useracc = New List<user>();
        Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:userId];
        accountid = Useracc[0].accountid;
        userWorkLocation = Useracc[0].Work_Location__c;
        agencyProType = Useracc[0].UserPro_Type__c;
@@ -57,11 +53,7 @@
            agencyProType = 'ET';
        }
        userPro_Typestr = '%' + agencyProType + '%';
        List<account> accountInfo = [
            SELECT Name
            FROM account
            WHERE id = :accountid
        ];
        List<account> accountInfo = [SELECT Name FROM account WHERE id =:accountid];
        //String view_product = accountInfo[0].view_product__c;
        accountName = accountInfo[0].Name;
        //proidList = view_product.split(',');
@@ -72,11 +64,12 @@
        res.code = 200;
        System.debug('res = ' + res);
        return res;
    }
    // 将页面或取得BarCode去掉重复的,转换成List
    public static List<String> ParseBarCode(String Code) {
        String[] Cache = new List<String>{};
        String[] Cache = new String[]{};
        Cache = Code.split('\n');
        Set<String> Buff = new Set<String>();
        for (String A : Cache) {
@@ -92,12 +85,7 @@
    //获取明细
    @AuraEnabled
    public static ResponseBodyLWC searchConsumableorderdetails(
        String barcode,
        String accountName,
        String userWorkLocation,
        String agencyProType
    ) {
    public static ResponseBodyLWC searchConsumableorderdetails(String barcode,String accountName,String userWorkLocation,String agencyProType) {
        ResponseBodyLWC res = new ResponseBodyLWC();
        Map<String, object> data = new Map<String, object>();
        res.entity = data;
@@ -109,13 +97,15 @@
        ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>();
        ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>();
        notInlist = new List<String>();
        notInlist = new list<String>();
        BarCodeListP = ParseBarCode(barcode);
        Consumable_order_details2__c p = new Consumable_order_details2__c();
        List<Consumable_order_details2__c> Ins = new List<Consumable_order_details2__c>();
        List<Consumable_order_details2__c> Ins = New List<Consumable_order_details2__c>();
        List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
        List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>();
        saveFLGbln = false;
        saveFLGbln = FALSE;
        alertMessage = '';
        //判断barcode是否为空
@@ -132,37 +122,22 @@
        // ConsumableorderdetailsRecordsdummy.clear();
        // 产品类型不同
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Product_Type__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
                Arrive_Owner_Work_Location__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,Product_Type__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Dealer_Arrive__c = TRUE
                AND Bar_Code__c IN :BarCodeListP
                    WHERE Dealer_Arrive__c = true
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
                AND Arrive_Owner_Work_Location__c = :userWorkLocation
                AND (NOT Product_Type__c LIKE :userPro_Typestr)
            ORDER BY Name
        ];
                    AND (not Product_Type__c like : userPro_Typestr)
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -177,39 +152,26 @@
        }
        //没有拆盒
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 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
                    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 Box_Piece__c = '盒'
                //AND  ProductPacking_list_manual__c > 1
                AND Bar_Code__c IN :BarCodeListP
                    AND  Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ]; //没出库,没销售,在库,没有拆盒
                    ORDER BY Name ];  //没出库,没销售,在库,没有拆盒
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -224,38 +186,25 @@
        }
        //已出货,未到货
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Dealer_Arrive__c = FALSE
                    WHERE Dealer_Arrive__c = FALSE
                AND Dealer_Shipment__c = FALSE
                AND Dealer_Saled__c = FALSE
                AND Dealer_Returned__c = FALSE
                AND Lose_Flag__c = FALSE
                    AND  Dealer_Returned__c = false
                    AND  Lose_Flag__c = false
                AND Box_Piece__c = '盒'
                AND Bar_Code__c IN :BarCodeListP
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -270,38 +219,25 @@
        }
        //拆盒已出货
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Dealer_Shipment__c = TRUE
                AND Dealer_Arrive__c = TRUE
                AND Dealer_Returned__c = FALSE
                AND Lose_Flag__c = FALSE
                    WHERE Dealer_Shipment__c = true
                    AND   Dealer_Arrive__c = true
                    AND   Dealer_Returned__c = false
                    AND   Lose_Flag__c = false
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -316,38 +252,25 @@
        }
        //拆盒已销售
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Dealer_Saled__c = TRUE
                AND Dealer_Arrive__c = TRUE
                AND Dealer_Returned__c = FALSE
                AND Lose_Flag__c = FALSE
                    WHERE Dealer_Saled__c = true
                    AND   Dealer_Arrive__c = true
                    AND   Dealer_Returned__c = false
                    AND   Lose_Flag__c = false
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -362,36 +285,23 @@
        }
        //拆盒返品
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Dealer_Returned__c = TRUE
                AND Return_date__c != NULL
                    WHERE Dealer_Returned__c = true
                    AND   Return_date__c != null
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -405,36 +315,24 @@
            }
        }
        //拆盒后盘点过(盘点日期不为空)
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Inventory_date__c != NULL
                    WHERE Inventory_date__c != null
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -449,35 +347,21 @@
        }
        //不同工作地
        reSet1 = [
            SELECT
                Id,
                Name,
                Consumable_Product__r.Name__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                recordtypeid,
                Consumable_order_minor__r.Arrive_Order__c,
                Arrive_Owner_Work_Location__c,
        reSet1 = [SELECT Id,  Name,Consumable_Product__r.Name__c,
                        Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
                        Deliver_date__c,Bar_Code__c,
                        Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
                        recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c,
                //add by rentx 2020-10-13 start
                ContractNo_text__c
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 end
            FROM Consumable_order_details2__c
            WHERE
                Dealer_Arrive__c = TRUE
                AND Bar_Code__c IN :BarCodeListP
                    WHERE Dealer_Arrive__c = true
                    AND   Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
                AND Arrive_Owner_Work_Location__c != :userWorkLocation
            ORDER BY Name
        ];
                    ORDER BY Name ];
        if (reSet1.size() > 0) {
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
@@ -491,9 +375,7 @@
            }
        }
        reSet = [
            SELECT
                Id,
        reSet = [SELECT Id,
                Name,
                Intra_Trade_List_RMB__c,
                Asset_Model_No__c,
@@ -518,28 +400,29 @@
            /*,ContractNo__c*/
            //add by rentx 2020-10-13 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
                    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 Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                    AND RemoveBox_date__c != null
                    AND Bar_Code__c in :BarCodeListP
                AND Dealer_Info_text__c = :accountName
                AND Arrive_Owner_Work_Location__c = :userWorkLocation
                AND Product_Type__c LIKE :userPro_Typestr
                    AND  Product_Type__c like : userPro_Typestr
        ];
        if (reSet.size() > 0) {
            for (Integer i = 0; i < reSet.size(); i++) {
                if (ErrorIdMap.containsKey(reSet[i].Bar_Code__c)) {
                    // 跳过错误的消耗品明细
                    continue;
                } else if (ExistIdMap.containsKey(reSet[i].Bar_Code__c)) {
                }
                else if(ExistIdMap.containsKey(reSet[i].Bar_Code__c) ){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }
                else{
                    ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i]));
                    ExistIdMap.put(reSet[i].Bar_Code__c, reSet[i].Bar_Code__c);
                }
@@ -569,16 +452,12 @@
        res.code = 200;
        System.debug('res = ' + res);
        return res;
    }
    //取消拆盒确认
    @AuraEnabled
    public static ResponseBodyLWC cancelRemoveBoxConfirm(
        String saveConsumableorderdetailsRecordsdummy,
        String accountName,
        String userWorkLocation,
        String agencyProType
    ) {
    public static ResponseBodyLWC cancelRemoveBoxConfirm(String saveConsumableorderdetailsRecordsdummy,String accountName,String userWorkLocation,String agencyProType) {
        ResponseBodyLWC res = new ResponseBodyLWC();
        Map<String, object> data = new Map<String, object>();
        res.entity = data;
@@ -586,12 +465,10 @@
        userPro_Typestr = '%' + agencyProType + '%';
        accountName = accountName;
        userWorkLocation = userWorkLocation;
        List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
            saveConsumableorderdetailsRecordsdummy,
            List<ConsumableorderdetailsInfo>.class
        );
        List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>)JSON.deserialize(saveConsumableorderdetailsRecordsdummy,List<ConsumableorderdetailsInfo>.class);
        List<Consumable_order_details2__c> ins = new List<Consumable_order_details2__c>();
        List<Consumable_order_details2__c> ins = New List<Consumable_order_details2__c>();
        Savepoint sp = Database.setSavepoint();
        if (ConsumableorderdetailsRecordsdummy.size() < 1) {
@@ -607,8 +484,7 @@
        try {
            //取得通番大于001的在库明细
            List<Consumable_order_details2__c> orderDetails2del = [
                SELECT
            List<Consumable_order_details2__c> orderDetails2del =  [SELECT
                    Id,
                    Box_Piece__c,
                    RemoveBox_date__c,
@@ -619,19 +495,18 @@
                /*,ContractNo__c*/
                //add by rentx 2020-10-13 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
                    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 Box_Piece__c = '个'
                    AND RemoveBox_date__c != NULL
                    AND RemoveBox_date__c != null
                    AND RemoveBox_No__c > 1
                    AND Bar_Code__c IN :BarCodeList
                    AND Bar_Code__c in :BarCodeList
                    AND Dealer_Info_text__c = :accountName
                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
                    AND Product_Type__c LIKE :userPro_Typestr
                    AND  Product_Type__c like : userPro_Typestr
            ];
            List<Consumable_order_details2__c> orderlistdel = new List<Consumable_order_details2__c>();
@@ -647,34 +522,32 @@
            }
            //取得通番001的在库明细
            List<Consumable_order_details2__c> orderDetails2 = [
                SELECT
            List<Consumable_order_details2__c> orderDetails2 =  [SELECT
                    Id,
                    Box_Piece__c,
                    RemoveBox_date__c,
                    RemoveBox_No__c,
                    Bar_Code__c,
                    //add by rentx 2020-10-13 start
                    ContractNo_text__c,
                        ContractNo_text__c
                    /*,ContractNo__c*/
                    //add by rebtx 2020-10-13 end
                    // tcm start
                    Consumable_order_minor__r.ContractNo__c
                    ,Consumable_order_minor__r.ContractNo__c
                // tcm 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
                    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 Box_Piece__c = '个'
                    AND RemoveBox_date__c != NULL
                    AND RemoveBox_date__c !=null
                    AND RemoveBox_No__c = 1
                    AND Bar_Code__c IN :BarCodeList
                    AND Bar_Code__c in :BarCodeList
                    AND Dealer_Info_text__c = :accountName
                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
                    AND Product_Type__c LIKE :userPro_Typestr
                    AND  Product_Type__c like : userPro_Typestr
            ];
            for (Consumable_order_details2__c detail2tmp : orderDetails2) {
@@ -721,6 +594,7 @@
        }
    }
    @TestVisible
    class ConsumableorderdetailsInfo implements Comparable {
        public Consumable_order_details2__c esd { get; set; }
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls
@@ -5,87 +5,31 @@
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        user myUser_test;
        Account myAccount2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
            myAccount2 = new Account(
                name = 'Testaccount002',
                Dealer_discount__c = 20,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '9999900'
            );
            myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
            insert myAccount2;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount2.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 5,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 5,
                Manual_Entry__c = false
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200313',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Packing_list_manual__c = 5,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Packing_list_manual__c = 5,Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02,prod03};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            Product2__c pro3 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            insert new List<Product2__c>{ pro1, pro2, pro3 };
            insert new Product2__c[] {pro1, pro2,pro3};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -96,6 +40,7 @@
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            //daoku
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
@@ -130,6 +75,8 @@
            conList.add(Orderdet3);
            // insert Orderdet3;
            //sale
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001004';
@@ -145,6 +92,7 @@
            Orderdet4.Used_date__c = Date.today();
            // insert Orderdet4;
            conList.add(Orderdet4);
            //ProductPacking_list_manual__c=1
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
@@ -197,6 +145,7 @@
            insert conList;
            // insert Orderdet8;
            System.Test.startTest();
            LexCancelRemoveBoxController.init();
            // LexCancelRemoveBoxController.getinventorysize();
@@ -205,6 +154,7 @@
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList), '捷尔医疗(海南)有限公司', '深圳', 'ENG');
            System.Test.stopTest();
        }
    }
@@ -213,50 +163,20 @@
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        user myUser_test;
        Account myAccount2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
            myAccount2 = new Account(
                name = 'Testaccount002',
                Dealer_discount__c = 20,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '9999900'
            );
            myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
            insert myAccount2;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount2.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c ='重庆');
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
@@ -310,118 +230,37 @@
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        User myUser_test;
        Account myAccount2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
            myAccount2 = new Account(name = 'Testaccount003', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '2');
            insert myAccount2;
            Contact core = new Contact(email = 'wan@salesforce.com', firstname = 'wan', lastname = 'Plumbers', accountid = myAccount2.id);
            insert core;
            myUser_test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                UserPro_Type__c = 'ENG',
                Work_Location__c = '北京'
            );
            myUser_test = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert myUser_test;
            System.debug('MyUser_Test' + MyUser_Test);
        }
        System.runAs(MyUser_Test) {
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test01',
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test02',
                Manual_Entry__c = false
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test03',
                Manual_Entry__c = false
            );
            Product2 prod04 = new Product2(
                Name = 'Test04',
                ProductCode = 'Test04',
                Asset_Model_No__c = 'Test04',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 2,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test04',
                Manual_Entry__c = false
            );
            Product2 prod05 = new Product2(
                Name = 'Test05',
                ProductCode = 'Test05',
                Asset_Model_No__c = 'Test05',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test05',
                Manual_Entry__c = false
            );
            Product2 prod06 = new Product2(
                Name = 'Test06',
                ProductCode = 'Test06',
                Asset_Model_No__c = 'Test06',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test06',
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05, prod06 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test01',Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test02',Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test03',Manual_Entry__c = false);
            Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=2,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test04',Manual_Entry__c = false);
            Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test05',Manual_Entry__c = false);
            Product2 prod06 = new Product2(Name='Test06',ProductCode='Test06',Asset_Model_No__c = 'Test06',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test06',Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02,prod03,prod04, prod05, prod06};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            Product2__c pro3 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod03.Id);
            Product2__c pro4 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod04.Id);
            Product2__c pro5 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod05.Id);
            Product2__c pro6 = new Product2__c(Name = 'Pro006', OT_CODE_Text__c = 'Test006', Product2__c = prod06.Id);
            insert new List<Product2__c>{ pro4, pro5, pro6, pro1, pro2, pro3 };
            insert new Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01';
@@ -510,18 +349,10 @@
            System.Test.startTest();
            LexCancelRemoveBoxController.barcode = '1004\n1003\n1002\n1001';
            LexCancelRemoveBoxController.searchConsumableorderdetails(
                '10061\n10051\n10041\n10031\n10021\n10011',
                'Testaccount003',
                '重庆',
                'ET'
            );
            LexCancelRemoveBoxController.searchConsumableorderdetails('10061\n10051\n10041\n10031\n10021\n10011','Testaccount003','重庆','ET');
            String str = '该商品存在盘点履历';
            String errorReason = '';
            LexCancelRemoveBoxController.ConsumableorderdetailsInfo c2 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo(
                con,
                str
            );
            LexCancelRemoveBoxController.ConsumableorderdetailsInfo c2 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo(con,str);
            c2.esd = con;
            c2.Prod = con.Consumable_product__r;
            c2.oldConsumableCount = con.name;
@@ -539,117 +370,37 @@
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        User myUser_test;
        Account myAccount2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
            myAccount2 = new Account(name = 'Testaccount003', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '2');
            insert myAccount2;
            Contact core = new Contact(email = 'wan@salesforce.com', firstname = 'wan', lastname = 'Plumbers', accountid = myAccount2.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newWang',
                Email = 'newWang@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUserWang',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUserWang@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newWang',Email='newWang@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUserWang', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUserWang@testorg.com',Work_Location__c ='重庆');
            insert MyUser_Test;
            System.debug('MyUser_Test' + MyUser_Test);
        }
        System.runAs(MyUser_Test) {
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test01',
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test02',
                Manual_Entry__c = false
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test03',
                Manual_Entry__c = false
            );
            Product2 prod04 = new Product2(
                Name = 'Test04',
                ProductCode = 'Test04',
                Asset_Model_No__c = 'Test04',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 2,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test04',
                Manual_Entry__c = false
            );
            Product2 prod05 = new Product2(
                Name = 'Test05',
                ProductCode = 'Test05',
                Asset_Model_No__c = 'Test05',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test05',
                Manual_Entry__c = false
            );
            Product2 prod06 = new Product2(
                Name = 'Test06',
                ProductCode = 'Test06',
                Asset_Model_No__c = 'Test06',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'test06',
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05, prod06 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test01',Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test02',Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test03',Manual_Entry__c = false);
            Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=2,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test04',Manual_Entry__c = false);
            Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test05',Manual_Entry__c = false);
            Product2 prod06 = new Product2(Name='Test06',ProductCode='Test06',Asset_Model_No__c = 'Test06',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'test06',Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02,prod03,prod04, prod05, prod06};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            Product2__c pro3 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod03.Id);
            Product2__c pro4 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod04.Id);
            Product2__c pro5 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod05.Id);
            Product2__c pro6 = new Product2__c(Name = 'Pro006', OT_CODE_Text__c = 'Test006', Product2__c = prod06.Id);
            insert new List<Product2__c>{ pro4, pro5, pro6, pro1, pro2, pro3 };
            insert new Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3};
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
            //销售
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -761,6 +512,7 @@
            conList3.add(con3);
            insert conList3;
            //reset
            // Consumable_order_details2__c con1 = new Consumable_order_details2__c();
            // con1.Intra_Trade_List_RMB__c = 1000;
@@ -795,6 +547,8 @@
            // conList3.add(con9);
            // LexCancelRemoveBoxController.searchConsumableorderdetails('100112','Testaccount003','重庆','ET');
            //orderDetails2
            // Consumable_order_details2__c con00 = new Consumable_order_details2__c();
            // con00.Box_Piece__c = '个';
@@ -808,25 +562,12 @@
            // insert conList3;
            System.Test.startTest();
            LexCancelRemoveBoxController CancelRemoveBoxController = new LexCancelRemoveBoxController();
            LexCancelRemoveBoxController.searchConsumableorderdetails(
                '100611\n10078\n10099\n1009999\n100999',
                'Testaccount003',
                '重庆',
                'ET'
            );
            LexCancelRemoveBoxController.searchConsumableorderdetails(
                '100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011',
                'Testaccount003',
                '北京',
                'ET'
            );
            LexCancelRemoveBoxController.searchConsumableorderdetails(
                '100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011',
                'Testaccount003',
                '重庆',
                'ET'
            );
            LexCancelRemoveBoxController.searchConsumableorderdetails('100611\n10078\n10099\n1009999\n100999','Testaccount003','重庆','ET');
            LexCancelRemoveBoxController.searchConsumableorderdetails('100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011','Testaccount003','北京','ET');
            LexCancelRemoveBoxController.searchConsumableorderdetails('100611\n10078\n10061\n10051\n10041\n10031\n10021\n10011','Testaccount003','重庆','ET');
            System.Test.stopTest();
        }
    }
}
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls-meta.xml
force-app/main/default/classes/LexConInvoiceListTest.cls
@@ -1,83 +1,34 @@
@isTest
private class LexConInvoiceListTest {
private class LexConInvoiceListTest
{
    static testMethod void conInvoiceListTestinit() {
        user myUser_test;
        Account myAccount2;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        system.runAs(thisUser){
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            List<RecordType> rectHos = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            if (rectHos.size() == 0) {
                return;
            }
            myAccount1 = new Account(name = 'testaccount001', RecordTypeId = rectCo[0].Id);
            myAccount2 = new Account(name = 'testaccount002', RecordTypeId = rectHos[0].Id);
            insert myAccount1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            myUser_test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'testUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '北京'
            );
            myUser_test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='testUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '北京');
            insert myUser_test;
        }
        System.runAs(myUser_test) {
            Consumable_order__c TestList1 = new Consumable_order__c(
                Name = 'Test1',
                Invoice_Date__c = Date.today(),
                Dealer_info__c = myAccount1.Id,
                Invoice_status__c = '草案中',
                Order_ForHospital__c = myAccount2.Id,
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '发票',
                recordtypeid = System.Label.RT_ConOrder_Invoice,
                Order_ProType__c = 'ET'
            );
            Consumable_order__c TestList2 = new Consumable_order__c(
                Name = 'Test2',
                Invoice_Date__c = Date.today(),
                Dealer_info__c = myAccount1.Id,
                Invoice_status__c = '提交',
                Order_ForHospital__c = myAccount2.Id,
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '发票',
                recordtypeid = System.Label.RT_ConOrder_Invoice,
                Order_ProType__c = 'ET'
            );
            insert new List<Consumable_order__c>{ TestList1, TestList2 };
        system.runAs(myUser_test){
            Consumable_order__c TestList1 = new Consumable_order__c(Name='Test1',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='草案中',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            Consumable_order__c TestList2 = new Consumable_order__c(Name='Test2',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='提交',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            insert new Consumable_order__c[]{TestList1,TestList2};
            LexConInvoiceList.init();
            // ConInvoiceListController CDC = new ConInvoiceListController();
            // CDC.init();
@@ -93,81 +44,31 @@
        user myUser_test;
        Account myAccount2;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        system.runAs(thisUser){
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            List<RecordType> rectHos = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            if (rectHos.size() == 0) {
                return;
            }
            myAccount1 = new Account(name = 'testaccount001', RecordTypeId = rectCo[0].Id);
            myAccount2 = new Account(name = 'testaccount002', RecordTypeId = rectHos[0].Id);
            insert myAccount1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            myUser_test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'testUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '北京'
            );
            myUser_test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='testUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '北京');
            insert myUser_test;
        }
        System.runAs(myUser_test) {
            Consumable_order__c TestList1 = new Consumable_order__c(
                Name = 'Test1',
                Invoice_Date__c = Date.today(),
                Dealer_info__c = myAccount1.Id,
                Invoice_status__c = '草案中',
                Order_ForHospital__c = myAccount2.Id,
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '发票',
                recordtypeid = System.Label.RT_ConOrder_Invoice,
                Order_ProType__c = 'ET'
            );
            Consumable_order__c TestList2 = new Consumable_order__c(
                Name = 'Test2',
                Invoice_Date__c = Date.today(),
                Dealer_info__c = myAccount1.Id,
                Invoice_status__c = '提交',
                Order_ForHospital__c = myAccount2.Id,
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '发票',
                recordtypeid = System.Label.RT_ConOrder_Invoice,
                Order_ProType__c = 'ET'
            );
            insert new List<Consumable_order__c>{ TestList1, TestList2 };
        system.runAs(myUser_test){
            Consumable_order__c TestList1 = new Consumable_order__c(Name='Test1',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='草案中',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            Consumable_order__c TestList2 = new Consumable_order__c(Name='Test2',Invoice_Date__c=Date.today(),Dealer_info__c=myAccount1.Id,Invoice_status__c='提交',Order_ForHospital__c =myAccount2.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='发票',recordtypeid = System.Label.RT_ConOrder_Invoice,Order_ProType__c = 'ET');
            insert new Consumable_order__c[]{TestList1,TestList2};
            LexConInvoiceList CDC = new LexConInvoiceList();
            LexConInvoiceList.init();
            LexConInvoiceList.invoiceCodeSearch(Date.today(), Date.today(), '提交', 'test', 'test1', '0010l00001ajxZ2AAI', '北京', 'ET');
force-app/main/default/classes/LexConInvoiceListTest.cls-meta.xml
force-app/main/default/classes/LexConInvoiceViewController.cls
@@ -102,11 +102,7 @@
        }
        userId = UserInfo.getUserId();
        List<user> Useracc = new List<user>();
        Useracc = [
            SELECT accountid, Work_Location__c, UserPro_Type__c
            FROM user
            WHERE id = :userId
        ];
        Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId];
        accountid = Useracc[0].accountid;
        userWorkLocation = Useracc[0].Work_Location__c;
        agencyProType = Useracc[0].UserPro_Type__c;
@@ -392,11 +388,7 @@
        //         attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i]));
        //     }
        // }
        List<ContentDocumentLink> links = [
            SELECT Id, ContentDocumentId
            FROM ContentDocumentLink
            WHERE LinkedEntityId = :invoiceId
        ];
        List<ContentDocumentLink> links = [SELECT Id, ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = :invoiceId];
        if (links != null && links.size() > 0) {
            List<String> documentIds = new List<String>();
            for (ContentDocumentLink link : links) {
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls
@@ -1,5 +1,6 @@
@isTest
private class LexConInvoiceViewControllerTest { //新建发票 以及编辑发票 invoiceId<>null
private class LexConInvoiceViewControllerTest
{     //新建发票 以及编辑发票 invoiceId<>null
    public static user myUser_test;
    public static Account myAccount1;
    public static Account hosp1;
@@ -8,27 +9,15 @@
    public static Account agency2;
    @testSetup
    static void setupTestData() {
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证'];
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            List<RecordType> rectHos = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
        List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            if (rectHos.size() == 0) {
                return;
            }
@@ -45,89 +34,39 @@
            Account hosp2 = new Account(name = 'Testhosp002', Dealer_discount__c = 10, RecordTypeId = rectHos[0].Id);
            insert hosp1;
            Dealer_elationship__c dealerelationship = new Dealer_elationship__c(
                Dealer_principal__c = myAccount1.id,
                Dealer_subordinate__c = agency1.id
            );
       Dealer_elationship__c dealerelationship = new Dealer_elationship__c(Dealer_principal__c = myAccount1.id,Dealer_subordinate__c = agency1.id);
            insert dealerelationship;
            Dealer_elationship__c dealerelationship1 = new Dealer_elationship__c(
                Dealer_principal__c = myAccount1.id,
                Dealer_subordinate__c = agency2.id
            );
        Dealer_elationship__c dealerelationship1 = new Dealer_elationship__c(Dealer_principal__c = myAccount1.id,Dealer_subordinate__c = agency2.id);
            insert dealerelationship1;
            Agency_Hospital_Link__c agencyHospitalLink1 = new Agency_Hospital_Link__c(Hospital__c = hosp1.id, Agency__c = myAccount1.id);
            insert agencyHospitalLink1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
        MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c ='重庆');
            insert MyUser_Test;
        }
    }
    static testMethod void conInvoiceViewTestedit_1() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        System.runAs(curUser) {
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -141,11 +80,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -155,18 +90,12 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
            SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
            Order_status__c='已提交',Order_type__c='传票',
            Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -174,11 +103,7 @@
            insert testList1;
            insert testList2;
            System.Test.startTest();
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            //出库单1明细1
@@ -206,7 +131,8 @@
            orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
            orderdet3.Consumable_count__c = 1;
            orderdet3.Consumable_product__c = pro1.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2, orderdet3 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3};
            LexConInvoiceViewController conTest = new LexConInvoiceViewController();
            LexConInvoiceViewController.HospitalInfo = hosp1.id;
@@ -220,30 +146,9 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.saveAttachment(JSON.serialize(LexConInvoiceViewController.attachmentRecoeds), invoiceorder.Id);
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            LexConInvoiceViewController.deleteButton(testList1.Id, testList1);
            LexConInvoiceViewController.deleteButton('234567', testList1);
            // LexConInvoiceViewController.saveFile(invoiceorder.Id,'Test','TmFtZSxTdW1tb25zRm9yRGlyY3Rpb25fX2MsSG9zcGl0YWxDb2RlLE9yZGVyX0Zvckhvc3BpdGFsX19jLE9yZGVyX0ZvckN1c3RvbWVyVGV4dF9fYyxPcmRlcl9Gb3JEZWFsZXJfX2MsQmFyX0NvZGVfX2MsU2hpcG1lbnRfQ291bnRfX2MsRGVsaXZlcnlfTGlzdF9STUJfX2MsQm94X1BpZWNlX19jLFVuaXRwcmljZV9Ub19hZ2VuY3lfX2MsT3V0Ym91bmRfRGF0ZV9fYyxMb3NlX3JlYXNvbl9fYw0KREItRlkyMDI0LTA2LVozMTAwMDIs55u05o6l6ZSA5ZSu57uZ5Yy76ZmiLDgxMDU2NDAs5a6955S45Lic5qGl5bq35aSN5Yy76ZmiLOa2iOWMluenkSwsMTY4NjIwMzI1NDQ2ODI1MFZWR0lVLDEsMjAwMCznm5IsMjAsMjAyMy82Lzgs5Lii5aSx5Y6f5ZugDQpEQi1GWTIwMjQtMDYtWjMxMDAwMyznm7TmjqXplIDllK7nu5nljLvpmaIsODEwNTY0MCzlrr3nlLjkuJzmoaXlurflpI3ljLvpmaIs5raI5YyW56eRLCwxNjg2MjAzMjU2MDk4MjUwUkVKT1EsMSwzMDAwLOebkiwyMCwyMDIzLzYvOCzkuKLlpLHljp%2Flm6ANCkRCLUZZMjAyNC0wNi1aMzEwMDA0LOebtOaOpemUgOWUrue7meWMu%2BmZoiw4MTA1NjQwLOWuveeUuOS4nOahpeW6t%2BWkjeWMu%2BmZoizmtojljJbnp5EsLDE2ODYyMDMyNTc2NTcyNTBHU0ZTQiwxLDQwMDAs55uSLDIwLDIwMjMvNi84LOS4ouWkseWOn%2BWboA0K');
@@ -251,6 +156,7 @@
                LexConInvoiceViewController.saveFile(invoiceorder.Id, 'Test', '');
            } catch (Exception e) {
                system.debug('Test');
            }
            LexConInvoiceViewController.outbound = testList2;
            LexConInvoiceViewController.getInvoiceName();
@@ -275,34 +181,24 @@
            // LexConInvoiceViewController.outOrderchange(insertDetMap);
            LexConInvoiceViewController.getdefaultMapinfo(chukudanID);
            System.Test.stopTest();
        }
    }
    //新建发票 invoiceId=null
    static testMethod void conInvoiceViewTestedit_2() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -316,11 +212,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
@@ -329,18 +221,12 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
            SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
            Order_status__c='已提交',Order_type__c='传票',
            Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -348,11 +234,7 @@
            insert testList1;
            insert testList2;
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            System.Test.startTest();
@@ -370,71 +252,30 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            // LexConInvoiceViewController.HospitalInfo = hosp1.id;
            System.Test.stopTest();
        }
    }
    //新建发票 invoiceId=null error check
    static testMethod void conInvoiceViewTestedit_3() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
            insert new Product2__c[] {pro1};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -448,11 +289,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
@@ -461,18 +298,12 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -480,11 +311,7 @@
            insert testList1;
            insert testList2;
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            PageReference page = new PageReference('/apex/ConInvoiceView?invoiceId=' + invoiceorder.Id + '&KeyWords=Redirect');
@@ -504,29 +331,10 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            // LexConInvoiceViewController.init();
@@ -536,55 +344,28 @@
            System.debug('===>hosp1.id' + hosp1.id);
            LexConInvoiceViewController.invoiceId = null;
            System.Test.stopTest();
        }
    }
    //新建发票 以及编辑发票invoiceId== NULL and deliveryId== NULL
    static testMethod void conInvoiceViewTestinit() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        System.runAs(curUser) {
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -598,33 +379,19 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            //Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            //Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='草案中',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -633,17 +400,9 @@
            insert testList2;
            //insert new Consumable_order__c[]{testList1,testList2};
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable2',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable2',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable2;
            //出库单1明细1
            Consumable_orderdetails__c orderdet1 = new Consumable_orderdetails__c();
@@ -681,7 +440,7 @@
            orderdet4.Consumable_count__c = 1;
            orderdet4.Shipment_Count__c = 1;
            orderdet4.Consumable_product__c = pro2.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2, orderdet3, orderdet4 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3,orderdet4};
            //附件
            Consumable_accessories_invoice__c caic = new Consumable_accessories_invoice__c();
            caic.Attachment_ID__c = acc.Id;
@@ -706,29 +465,8 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            System.Test.stopTest();
        }
    }
@@ -736,48 +474,19 @@
    //新建发票 以及编辑发票invoiceId== NULL and deliveryId<> NULL
    static testMethod void conInvoiceViewTestinit_1() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -790,33 +499,19 @@
            invoiceorder.Dealer_Info__c = acc.Id;
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            //Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            //Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='草案中',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -825,17 +520,9 @@
            insert testList2;
            //insert new Consumable_order__c[]{testList1,testList2};
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable2',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable2',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable2;
            //出库单1明细1
            Consumable_orderdetails__c orderdet1 = new Consumable_orderdetails__c();
@@ -873,7 +560,7 @@
            orderdet4.Consumable_count__c = 1;
            orderdet4.Shipment_Count__c = 1;
            orderdet4.Consumable_product__c = pro2.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2, orderdet3, orderdet4 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3,orderdet4};
            //附件
            Consumable_accessories_invoice__c caic = new Consumable_accessories_invoice__c();
            caic.Attachment_ID__c = acc.Id;
@@ -883,6 +570,7 @@
            PageReference page = new PageReference('/apex/ConInvoiceView?invoiceId=' + invoiceorder.id);
            page.setRedirect(true);
            System.Test.setCurrentPage(page);
            // contest.deliveryId=testList1.id;
            System.Test.startTest();
@@ -899,78 +587,29 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            System.Test.stopTest();
        }
    }
    //新建发票 以及编辑发票invoiceId<> NULL
    static testMethod void conInvoiceViewTestinit_2() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -983,33 +622,19 @@
            invoiceorder.Dealer_Info__c = acc.Id;
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            //Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            //Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='草案中',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -1018,17 +643,9 @@
            insert testList2;
            //insert new Consumable_order__c[]{testList1,testList2};
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable2',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable2',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable2;
            //出库单1明细1
            Consumable_orderdetails__c orderdet1 = new Consumable_orderdetails__c();
@@ -1066,7 +683,7 @@
            orderdet4.Consumable_count__c = 1;
            orderdet4.Shipment_Count__c = 1;
            orderdet4.Consumable_product__c = pro2.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2, orderdet3, orderdet4 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3,orderdet4};
            //附件
            Consumable_accessories_invoice__c caic = new Consumable_accessories_invoice__c();
            caic.Attachment_ID__c = acc.Id;
@@ -1094,29 +711,11 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            // conTest.init();
@@ -1128,52 +727,24 @@
            // conTest.SortLimited();
            System.Test.stopTest();
        }
    }
    static testMethod void conInvoiceViewTestoutOrderchange() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -1186,11 +757,7 @@
            invoiceorder.Dealer_Info__c = acc.Id;
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -1200,18 +767,12 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -1220,11 +781,7 @@
            insert testList1;
            insert testList2;
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            //出库单1明细1
@@ -1244,7 +801,7 @@
            orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
            orderdet2.Consumable_count__c = 1;
            orderdet2.Consumable_product__c = pro1.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2};
            LexConInvoiceViewController.init(invoiceorder.id, 'Redirect', testList2.Id);
            LexConInvoiceViewController conTest = new LexConInvoiceViewController();
@@ -1259,77 +816,28 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            System.Test.stopTest();
        }
    }
    static testMethod void conInvoiceViewTestgetdefaultMapinfo() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -1342,11 +850,7 @@
            invoiceorder.Dealer_Info__c = acc.Id;
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -1356,18 +860,12 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -1376,11 +874,7 @@
            insert testList1;
            insert testList2;
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            //出库单1明细1
@@ -1400,11 +894,12 @@
            orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
            orderdet2.Consumable_count__c = 1;
            orderdet2.Consumable_product__c = pro1.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2};
            PageReference page = new PageReference('/apex/ConInvoiceView?invoiceId=' + invoiceorder.Id + '&KeyWords=Redirect');
            page.setRedirect(true);
            System.Test.setCurrentPage(page);
            LexConInvoiceViewController.init(invoiceorder.id, 'Redirect', testList2.Id);
            LexConInvoiceViewController conTest = new LexConInvoiceViewController();
@@ -1419,29 +914,8 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            System.Test.stopTest();
        }
    }
@@ -1449,48 +923,19 @@
    //从出库单直接开票
    static testMethod void conInvoiceViewRedirectTest() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
    Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
    system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -1503,33 +948,19 @@
            invoiceorder.Dealer_Info__c = acc.Id;
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            //Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            //Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='草案中',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            testList1.Order_date__c = Date.today().addDays(2);
            testList2.Order_date__c = Date.today().addDays(2);
            testList1.Deliver_date__c = Date.today();
@@ -1538,17 +969,9 @@
            insert testList2;
            //insert new Consumable_order__c[]{testList1,testList2};
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable2',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable2',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable2;
            //出库单1明细1
            Consumable_orderdetails__c orderdet1 = new Consumable_orderdetails__c();
@@ -1586,7 +1009,7 @@
            orderdet4.Consumable_count__c = 1;
            orderdet4.Shipment_Count__c = 1;
            orderdet4.Consumable_product__c = pro2.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2, orderdet3, orderdet4 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3,orderdet4};
            //附件
            Consumable_accessories_invoice__c caic = new Consumable_accessories_invoice__c();
            caic.Attachment_ID__c = acc.Id;
@@ -1596,6 +1019,7 @@
            PageReference page = new PageReference('/apex/ConInvoiceView?deliveryId=' + testList1.Id + '&KeyWords=Redirect');
            page.setRedirect(true);
            System.Test.setCurrentPage(page);
            System.Test.startTest();
            LexConInvoiceViewController.init(invoiceorder.id, 'Redirect', testList2.Id);
@@ -1611,81 +1035,31 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            LexConInvoiceViewController.saveAttachment(JSON.serialize(LexConInvoiceViewController.attachmentRecoeds), invoiceorder.Id);
            // LexConInvoiceViewController.saveAttachment(JSON.serialize(caic),invoiceorder.Id);
            System.Test.stopTest();
        }
    }
    //提交
    static testMethod void conInvoiceViewTestapproval() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false,
                Packing_list_manual__c = 5
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false,Packing_list_manual__c = 5);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -1698,35 +1072,26 @@
            invoiceorder.Dealer_Info__c = acc.Id;
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            //Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            //Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',Order_ForHospital__c =hosp1.Id,SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Order_ForDealer__c = agency1.Id, Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
            Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                RecordTypeId = System.Label.RT_ConOrder_Sale,
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Order_status__c='已提交',Order_type__c='传票',
                RecordTypeId = System.Label.RT_ConOrder_Sale,
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            testList1.Order_date__c = Date.today().addDays(2);
            testList2.Order_date__c = Date.today().addDays(2);
            testList1.Deliver_date__c = Date.today();
@@ -1735,17 +1100,10 @@
            insert testList2;
            //insert new Consumable_order__c[]{testList1,testList2};
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable2',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable2',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable2;
            //出库单1明细1
            Consumable_Orderdetails__c orderdet1 = new Consumable_Orderdetails__c();
@@ -1762,6 +1120,9 @@
            // orderdet1.Shipment_Count__c = 50;
            // orderdet1.Invoiced_Procount__c = 5;
            // orderdet1.RrturnPro_count__c = 5;
            Consumable_Orderdetails__c orderdet12 = new Consumable_Orderdetails__c();
            orderdet12.Name = 'Test1_001001';
@@ -1799,7 +1160,7 @@
            orderdet4.Consumable_count__c = 1;
            orderdet4.Shipment_Count__c = 1;
            orderdet4.Consumable_product__c = pro2.Id;
            insert new List<Consumable_Orderdetails__c>{ orderdet1, orderdet2, orderdet3, orderdet4, orderdet12 };
            insert new Consumable_Orderdetails__c[]{orderdet1,orderdet2,orderdet3,orderdet4,orderdet12};
            List<String> conorList = new List<String>();
            conorList.add(testList1.Id);
@@ -1879,6 +1240,7 @@
            caic.Invoice_code__c = invoiceorder.id;
            insert caic;
            System.Test.startTest();
            LexConInvoiceViewController.init(invoiceorder.id, 'Redirect', testList2.Id);
            LexConInvoiceViewController conTest = new LexConInvoiceViewController();
@@ -1893,29 +1255,8 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            LexConInvoiceViewController.approval(conorList, tempCocMap, invoiceorder.id);
            LexConInvoiceViewController.approval(conorList, tempCocMap1, invoiceorder.id);
            System.Test.stopTest();
@@ -1925,50 +1266,22 @@
    //提交发票
    static testMethod void conInvoice_approval() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        System.runAs(curUser) {
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //出库单1
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -1980,8 +1293,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                // Order_ForHospital__c=hosp1.Id,
                Dealer_Info__c = acc.Id
            );
            Dealer_Info__c = acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
            insert testList1;
@@ -2033,11 +1345,7 @@
            invoicedet1.Invoicedet1_OD_link__c = testList1.Id;
            insert invoicedet1;
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            List<Consumable_Orderdetails__c> outOrderdet1List = [
                SELECT
@@ -2070,7 +1378,9 @@
                }
            }
            System.Test.startTest();
            LexConInvoiceViewController.init(invoiceorder.id, 'Redirect', orderdet1.Id);
            LexConInvoiceViewController conTest = new LexConInvoiceViewController();
@@ -2085,37 +1395,21 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                acc.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                acc.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,acc.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,acc.id,invoiceOrderRecoeds);
            LexConInvoiceViewController.approval(conorList, tempCocMap1, invoiceorder.id);
            LexConInvoiceViewController.approval(conorList, tempCocMap1, '2345678');
            // conTest.init();
            // System.assertEquals(1, conTest.invoiceOrderRecoeds.size());
            // conTest.approval();
            System.Test.stopTest();
        }
    }
@@ -2123,48 +1417,19 @@
    //新建发票 以及编辑发票 invoiceId<>null
    static testMethod void rentestreopen() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -2178,11 +1443,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -2192,28 +1453,17 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            Consumable_order__c testList3 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList3 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList3.Order_date__c = Date.today().addDays(2);
@@ -2224,21 +1474,9 @@
            insert testList2;
            insert testList3;
            System.Test.startTest();
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable3 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList3.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            Consumable_order_LinkTable__c order_LinkTable3 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList3.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            insert order_LinkTable2;
            insert order_LinkTable3;
@@ -2260,7 +1498,7 @@
            orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
            orderdet2.Consumable_count__c = 1;
            orderdet2.Consumable_product__c = pro1.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2};
            //出库单2明细1
            Consumable_orderdetails__c orderdet3 = new Consumable_orderdetails__c();
@@ -2282,9 +1520,7 @@
            orderdet4.Consumable_product__c = pro1.Id;
            insert orderdet4;
            PageReference page = new PageReference(
                '/apex/ConInvoiceView?invoiceId=' + invoiceorder.Id + '&reopen=isreopen&KeyWords=Redirect'
            );
            PageReference page = new PageReference('/apex/ConInvoiceView?invoiceId='+invoiceorder.Id+'&reopen=isreopen&KeyWords=Redirect');
            page.setRedirect(true);
            System.Test.setCurrentPage(page);
@@ -2301,29 +1537,11 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            // ConInvoiceViewController conTest = new ConInvoiceViewController();
@@ -2339,6 +1557,7 @@
            // conTest.coc.Order_ForHospital__c = hosp1.id;
            // conTest.coc.Invoice_Date__c = Date.today();
            // //conTest.SortLimited();
            // //conTest.InvoiceorderSearch();
            // System.assertEquals(3, conTest.invoiceOrderRecoeds.size());
@@ -2349,6 +1568,7 @@
            // conTest.invoiceOrderRecoeds[1].esd.Order_ForCustomerText__c = 'AA';
            // conTest.invoiceOrderRecoeds[1].esd.Order_ForHospital__c =hosp1.Id;
            // conTest.invoiceOrderRecoeds[1].esd.Order_ForDealer__c = agency1.id;
            // conTest.invoiceOrderRecoeds[2].esd.Order_ForCustomerText__c = 'AA';
            // conTest.invoiceOrderRecoeds[2].esd.Order_ForHospital__c =hosp1.Id;
@@ -2367,6 +1587,7 @@
            // conTest.getExistOutbound();
            // conTest.getInvoiceName();
            System.Test.stopTest();
        }
    }
@@ -2375,48 +1596,19 @@
    //新建发票 以及编辑发票 invoiceId<>null
    static testMethod void rentestreopen001() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -2430,11 +1622,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -2444,28 +1632,17 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
                Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            Consumable_order__c testList3 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Consumable_order__c testList3 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
                SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
                Order_status__c='已提交',Order_type__c='传票',
                Dealer_info__c=acc.Id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList3.Order_date__c = Date.today().addDays(2);
@@ -2476,21 +1653,9 @@
            insert testList2;
            insert testList3;
            System.Test.startTest();
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList2.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable3 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList3.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            Consumable_order_LinkTable__c order_LinkTable2 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList2.Id,Invoice_Code_link__c =invoiceorder.Id);
            Consumable_order_LinkTable__c order_LinkTable3 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList3.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            insert order_LinkTable2;
            insert order_LinkTable3;
@@ -2512,7 +1677,7 @@
            orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
            orderdet2.Consumable_count__c = 1;
            orderdet2.Consumable_product__c = pro1.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2};
            //出库单2明细1
            Consumable_orderdetails__c orderdet3 = new Consumable_orderdetails__c();
@@ -2534,9 +1699,7 @@
            orderdet4.Consumable_product__c = pro1.Id;
            insert orderdet4;
            PageReference page = new PageReference(
                '/apex/ConInvoiceView?invoiceId=' + invoiceorder.Id + '&reopen=isreopen&KeyWords=Redirect'
            );
            PageReference page = new PageReference('/apex/ConInvoiceView?invoiceId='+invoiceorder.Id+'&reopen=isreopen&KeyWords=Redirect');
            page.setRedirect(true);
            System.Test.setCurrentPage(page);
@@ -2553,81 +1716,32 @@
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                '济宁任城儒济医院',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.InvoiceorderSearch(
                testList1,
                invoiceorder.Id,
                acc.Id,
                '重庆',
                'ET',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds
            );
            LexConInvoiceViewController.save(testList1,'济宁任城儒济医院',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.InvoiceorderSearch(testList1,invoiceorder.Id,acc.Id,'重庆','ET',hosp1.id,agency1.id,invoiceOrderRecoeds);
            System.Test.stopTest();
        }
    }
    //新建发票 以及编辑发票 invoiceId<>null
    static testMethod void allinit() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //准备数据
            // Consumable_order__c  Id = deliveryId  //出库单
            // Consumable_order__c
            // WHERE Id = :invoiceId AND Order_type__c = '发票'
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -2641,11 +1755,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            invoiceorder = [
                SELECT id, Name
                FROM Consumable_order__c
                WHERE id = :invoiceorder.id
            ];
            invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -2655,19 +1765,12 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Dealer_info__c=acc.Id);
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Order_ForCustomerText__c = ''
            );
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',
            SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',
            Order_status__c='已提交',Order_type__c='传票',
            Dealer_info__c=acc.Id,Order_ForCustomerText__c = '');
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Deliver_date__c = Date.today();
@@ -2686,11 +1789,7 @@
            insert testList2;
            insert testList3;
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder.Id
            );
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder.Id);
            insert order_LinkTable1;
            //出库单1明细1
@@ -2718,7 +1817,7 @@
            orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
            orderdet3.Consumable_count__c = 1;
            orderdet3.Consumable_product__c = pro1.Id;
            insert new List<Consumable_orderdetails__c>{ orderdet1, orderdet2, orderdet3 };
            insert new Consumable_orderdetails__c[]{orderdet1,orderdet2,orderdet3};
            //发票附件
            Consumable_accessories_invoice__c cai = new Consumable_accessories_invoice__c();
@@ -2736,60 +1835,13 @@
            LexConInvoiceViewController.init('', 'Redirect', testList1.Id);
            System.debug('order==>' + LexConInvoiceViewController.invoiceOrderRecoeds);
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            LexConInvoiceViewController.save(
                testList1,
                'Testhosp001',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList2,
                'Testhosp001',
                '',
                '',
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList3,
                'Testhosp001',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList2,
                'Testhosp001',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(testList1,'Testhosp001',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.save(testList2,'Testhosp001','','',invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.save(testList3,'Testhosp001',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.save(testList2,'Testhosp001',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            //保存
            // LexConInvoiceViewController.save(testList1,'测试医院',hosp1.Id,agency1.Id,'',testList1.Id,invoiceorder.Id,myAccount1.Id,'ET');
@@ -2798,26 +1850,12 @@
    }
    static testMethod void allsave() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
        Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
        Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -2831,6 +1869,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
@@ -2839,62 +1878,23 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today()
            );
        Invoice_Date__c = Date.today());
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            String invoiceOrderRecoeds = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoeds);
            // LexConInvoiceViewController.init(invoiceorder.Id,'Redirect',testList1.Id);
            LexConInvoiceViewController.save(
                testList1,
                'Testhosp001',
                null,
                null,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList1,
                'Testhosp001',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
        LexConInvoiceViewController.save(testList1,'Testhosp001',null,null,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
        LexConInvoiceViewController.save(testList1,'Testhosp001',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.saveAttachment(JSON.serialize(LexConInvoiceViewController.attachmentRecoeds), invoiceorder.Id);
        }
    }
    static testMethod void allsave1() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
    Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -2908,6 +1908,7 @@
            //invoiceorder.Order_ProType__c = 'ET';
            insert invoiceorder;
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
@@ -2916,9 +1917,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today(),
                Order_ForCustomerText__c = '消化科'
            );
    Invoice_Date__c = Date.today(),Order_ForCustomerText__c = '消化科');
            insert testList1;
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test1',
@@ -2928,10 +1927,9 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today(),
                Order_ForDealerText__c = 'Test'
            );
    Invoice_Date__c = Date.today(),Order_ForDealerText__c = 'Test');
            insert testList2;
            LexConInvoiceViewController.init(invoiceorder.Id, 'Redirect', testList2.Id);
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
@@ -2943,96 +1941,24 @@
            }
            System.debug('test1==>' + test1);
            System.debug('invoiceOrderRecoedschangeLwc==>' + invoiceOrderRecoedschangeLwc);
            LexConInvoiceViewController.save(
                testList1,
                'Testhosp001',
                hosp1.id,
                agency1.id,
                invoiceOrderRecoeds,
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList1,
                'Testhosp001',
                '',
                '',
                JSON.serialize(test1),
                testList1.Id,
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList1,
                'Testhosp001',
                '',
                '',
                JSON.serialize(test1),
                '',
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList1,
                '青岛盈海医院',
                hosp1.id,
                agency1.id,
                '[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]',
                '',
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                testList1,
                '青岛盈海医院',
                hosp1.id,
                agency1.id,
                '[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]',
                '',
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
    LexConInvoiceViewController.save(testList1,'Testhosp001',hosp1.id,agency1.id,invoiceOrderRecoeds,testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
    LexConInvoiceViewController.save(testList1,'Testhosp001','','',JSON.serialize(test1),testList1.Id,invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
    LexConInvoiceViewController.save(testList1,'Testhosp001','','',JSON.serialize(test1),'',invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
    LexConInvoiceViewController.save(testList1,'青岛盈海医院',hosp1.id,agency1.id,'[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]','',invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
    LexConInvoiceViewController.save(testList1,'青岛盈海医院',hosp1.id,agency1.id,'[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]','',invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
        }
    }
    static testMethod void allsave2() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
    Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice01';
@@ -3054,9 +1980,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today(),
                Order_ForDealerText__c = 'Test'
            );
        Invoice_Date__c = Date.today(),Order_ForDealerText__c = 'Test');
            insert testList2;
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
@@ -3065,71 +1989,31 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
            Dealer_info__c=acc.Id);
            insert testList1;
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            //选择开票单
            LexConInvoiceViewController.save(
                testList2,
                '青岛盈海医院',
                '',
                agency2.id,
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]',
                '',
                invoiceorder.Id,
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
        LexConInvoiceViewController.save(testList2,'青岛盈海医院','',agency2.id,'[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]','',invoiceorder.Id,acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
        }
    }
    static testMethod void allsave3() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
    Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
    Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
    system.runAs(curUser){
    Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
    Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
    insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
    insert new Product2__c[] {pro1, pro2};
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
@@ -3151,8 +2035,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today()
            );
        Invoice_Date__c = Date.today());
            insert testList2;
            List<Consumable_orderdetails__c> conList = new List<Consumable_orderdetails__c>();
@@ -3170,32 +2053,8 @@
            conList.add(orderdet1);
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            LexConInvoiceViewController.save(
                invoiceorder,
                '潍城现代门诊部',
                '0011000001g0uyhAAA',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": true,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',
                '',
                '',
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
            LexConInvoiceViewController.save(
                invoiceorder,
                '潍城现代门诊部',
                '0011000001g0uyhAAA',
                agency1.Id,
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": true,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',
                testList2.Id,
                '',
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
    LexConInvoiceViewController.save(invoiceorder,'潍城现代门诊部','0011000001g0uyhAAA','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": true,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]','','',acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
    LexConInvoiceViewController.save(invoiceorder,'潍城现代门诊部','0011000001g0uyhAAA',agency1.Id,'[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": true,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',testList2.Id,'',acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            List<LexConInvoiceViewController.InvoiceOrderInfo> test1 = new List<LexConInvoiceViewController.InvoiceOrderInfo>();
            for (LexConInvoiceViewController.InvoiceOrderInfo ass : LexConInvoiceViewController.invoiceOrderRecoeds) {
@@ -3203,45 +2062,20 @@
                test1.add(ass);
            }
            System.debug('test1==>' + test1);
            LexConInvoiceViewController.save(
                invoiceorder,
                '潍城现代门诊部',
                '0011000001g0uyhAAA',
                '',
                JSON.serialize(test1),
                '',
                '',
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
    LexConInvoiceViewController.save(invoiceorder,'潍城现代门诊部','0011000001g0uyhAAA','',JSON.serialize(test1),'','',acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
        }
    }
    static testMethod void allsave4() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        Account hosp1 = [SELECT Id FROM Account WHERE name = 'Testhosp001' LIMIT 1];
        Account agency1 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp001'
            LIMIT 1
        ];
        Account agency2 = [
            SELECT Id
            FROM Account
            WHERE name = 'Testhosp002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account agency1 =  [SELECT Id FROM Account WHERE name='Testhosp001' LIMIT 1];
    Account agency2 =  [SELECT Id FROM Account WHERE name='Testhosp002' LIMIT 1];
        system.runAs(curUser){
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = '202306164590';
@@ -3265,6 +2099,8 @@
            // invoiceorder.Order_ForHospital__c = hosp1.Id;
            insert invoiceorder1;
            // invoiceorder = [select id,Name from Consumable_order__c where id =:invoiceorder.id];
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test1',
@@ -3274,62 +2110,34 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today()
            );
        Invoice_Date__c = Date.today());
            insert testList2;
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            //不需要输入科室
            LexConInvoiceViewController.save(
                invoiceorder1,
                '潍城现代门诊部',
                '',
                agency1.Id,
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": true,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',
                testList2.Id,
                '',
                acc.Id,
                'ET',
                '',
                invoiceOrderRecoedschangeLwc
            );
         LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','',agency1.Id,'[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": true,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',testList2.Id,'',acc.Id,'ET','',invoiceOrderRecoedschangeLwc);
            //LexConInvoiceViewController.save(invoiceorder,'潍城现代门诊部','',agency2.Id,'[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": false,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',testList2.Id,invoiceorder.Id,myAccount1.Id,'ET','isreopen',invoiceOrderRecoedschangeLwc);
            //  LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','',agency2.Id,'[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}, {"check": false,"esd": {"Id": "a2K0l000000xAnwEAE","Order_ForHospital__c": "0011000001g0uyhAAA","Name": "a2K0l000000xAnw","Outbound_Date__c": "2023-05-12","ShipmentAccount__c": "潍城现代门诊部", "Shipment_total_amount__c": 2300,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 2300,"InvoiceNotPro_money__c": 2300,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "潍城现代门诊部","Id": "0011000001g0uyhAAA"} }, "needInvoiceCount": 0,"oldCheck": false, "Id": "a2K0l000000xAnwEAE"}]',testList2.Id,invoiceorder1.Id,myAccount1.Id,'ET','isreopen',invoiceOrderRecoedschangeLwc);
        }
    }
    static testMethod void allsave5() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
        system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
         Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
         Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
         insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
         insert new Product2__c[] {pro1, pro2};
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
@@ -3361,8 +2169,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today()
            );
        Invoice_Date__c = Date.today());
            orderList.add(testList2);
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -3372,8 +2179,7 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
        Dealer_info__c=acc.Id);
            orderList.add(testList1);
            insert orderList;
            List<Consumable_orderdetails__c> conList = new List<Consumable_orderdetails__c>();
@@ -3390,11 +2196,7 @@
            orderdet1.RrturnPro_count__c = 2;
            conList.add(orderdet1);
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = testList1.Id,
                Invoice_Code_link__c = invoiceorder1.Id
            );
        Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =invoiceorder1.Id);
            insert order_LinkTable1;
            Consumable_Orderdetails__c upDateform = new Consumable_Orderdetails__c();
            upDateform.Name = 'Test1_001001';
@@ -3406,54 +2208,23 @@
            conList.add(upDateform);
            insert conList;
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            LexConInvoiceViewController.save(
                invoiceorder1,
                '潍城现代门诊部',
                '0011000001k1K9ZAAU',
                '',
                '[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',
                testList1.Id,
                invoiceorder1.Id,
                acc.Id,
                'ET',
                'isreopen',
                invoiceOrderRecoedschangeLwc
            );
        LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',testList1.Id,invoiceorder1.Id,acc.Id,'ET','isreopen',invoiceOrderRecoedschangeLwc);
            // LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',testList1.Id,'',myAccount1.Id,'ET','isreopen',invoiceOrderRecoedschangeLwc);
        }
    }
    static testMethod void allsave6() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
    system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
         Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
         Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
         insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
         insert new Product2__c[] {pro1, pro2};
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
@@ -3485,8 +2256,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today()
            );
        Invoice_Date__c = Date.today());
            orderList.add(testList2);
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -3496,8 +2266,7 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
        Dealer_info__c=acc.Id);
            orderList.add(testList1);
            insert orderList;
            List<Consumable_orderdetails__c> conList = new List<Consumable_orderdetails__c>();
@@ -3511,11 +2280,7 @@
            orderdet1.Consumable_product__c = pro1.Id;
            conList.add(orderdet1);
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = invoiceorder1.Id,
                Invoice_Code_link__c = invoiceorder1.Id
            );
        Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c =invoiceorder1.Id,Invoice_Code_link__c =invoiceorder1.Id);
            insert order_LinkTable1;
            Consumable_Orderdetails__c upDateform = new Consumable_Orderdetails__c();
            upDateform.Name = 'Test1_001001';
@@ -3529,79 +2294,24 @@
            conList.add(upDateform);
            insert conList;
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            LexConInvoiceViewController.save(
                invoiceorder1,
                '潍城现代门诊部',
                '0011000001k1K9ZAAU',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',
                testList1.Id,
                invoiceorder1.Id,
                acc.Id,
                'ET',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]'
            );
            LexConInvoiceViewController.save(
                invoiceorder1,
                '潍城现代门诊部',
                '0011000001k1K9ZAAU',
                '',
                '[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',
                '',
                invoiceorder1.Id,
                acc.Id,
                'ET',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]'
            );
            LexConInvoiceViewController.save(
                invoiceorder1,
                '潍城现代门诊部',
                '0011000001k1K9ZAAU',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',
                '',
                invoiceorder1.Id,
                acc.Id,
                'ET',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]'
            );
        LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]',testList1.Id,invoiceorder1.Id,acc.Id,'ET','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]');
        LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]','',invoiceorder1.Id,acc.Id,'ET','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]');
        LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]','',invoiceorder1.Id,acc.Id,'ET','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]');
        }
    }
    static testMethod void allsave7() {
        user curUser = [SELECT Id FROM User WHERE LastName = 'TestUser' LIMIT 1];
        Account acc = [
            SELECT Id
            FROM Account
            WHERE name = 'Testaccount002'
            LIMIT 1
        ];
        System.runAs(curUser) {
    Account acc = [SELECT Id FROM Account WHERE name='Testaccount002' LIMIT 1];
    system.runAs(curUser){
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
         Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
         Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Manual_Entry__c = false);
         insert new Product2[] {prod01, prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
         insert new Product2__c[] {pro1, pro2};
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
            //发票信息
            Consumable_order__c invoiceorder = new Consumable_order__c();
@@ -3633,8 +2343,7 @@
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id,
                Invoice_Date__c = Date.today()
            );
        Invoice_Date__c = Date.today());
            orderList.add(testList2);
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
@@ -3644,8 +2353,7 @@
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = acc.Id
            );
        Dealer_info__c=acc.Id);
            orderList.add(testList1);
            insert orderList;
            List<Consumable_orderdetails__c> conList = new List<Consumable_orderdetails__c>();
@@ -3659,11 +2367,7 @@
            orderdet1.Consumable_product__c = pro1.Id;
            conList.add(orderdet1);
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
                Name = 'order_LinkTable1',
                Outboundorder_Code_link__c = invoiceorder1.Id,
                Invoice_Code_link__c = invoiceorder1.Id
            );
        Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c =invoiceorder1.Id,Invoice_Code_link__c =invoiceorder1.Id);
            insert order_LinkTable1;
            Consumable_Orderdetails__c upDateform = new Consumable_Orderdetails__c();
            upDateform.Name = 'Test1_001001';
@@ -3677,20 +2381,10 @@
            conList.add(upDateform);
            insert conList;
            String invoiceOrderRecoedschangeLwc = JSON.serialize(LexConInvoiceViewController.invoiceOrderRecoedschange);
            LexConInvoiceViewController.save(
                invoiceorder1,
                '潍城现代门诊部',
                '0011000001k1K9ZAAU',
                '',
                '[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"},{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]',
                '',
                invoiceorder1.Id,
                acc.Id,
                'ET',
                '',
                '[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]'
            );
        LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": true,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"},{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848,"Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false}]','',invoiceorder1.Id,acc.Id,'ET','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]');
            // LexConInvoiceViewController.save(invoiceorder1,'潍城现代门诊部','0011000001k1K9ZAAU','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]','',invoiceorder1.Id,myAccount1.Id,'ET','','[{"check": false,"esd": {"Id": "a2K0l000000x1KXEAY","Order_ForHospital__c": "0011000001k1K9ZAAU","Name": "DB-FY2024-04-Z316244","Outbound_Date__c": "2023-06-09","ShipmentAccount__c": "青岛盈海医院","Shipment_total_amount__c": 848,"RrturnPro_total_amount__c": 0,"Total_Invoiced_Procount__c": 0,"InvoiceNotPro_total_amount__c": 848,"InvoiceNotPro_money__c": 848, "Invoice_total_amount__c": 0,"Billed_Status__c": "还没开票","Order_ForHospital__r": {"Name": "青岛盈海医院","Id": "0011000001k1K9ZAAU"}},"needInvoiceCount": 0,"oldCheck": false,"Id": "a2K0l000000x1KXEAY"}]');
        }
    }
}
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls-meta.xml
force-app/main/default/classes/LexConInvoicedetailsController.cls
@@ -34,11 +34,7 @@
        sumPrice = 0;
        coc = new Consumable_order__c();
        //出库单信息
        coc = [
            SELECT Id, Name, Outbound_Date__c, Order_ForDealerText__c, Dealer_Info__c
            FROM Consumable_order__c
            WHERE Id = :orderId
        ];
        coc = [SELECT Id, Name, Outbound_Date__c, Order_ForDealerText__c, Dealer_Info__c FROM Consumable_order__c WHERE Id = :orderId];
        //发票信息
        invoicecode = [
            SELECT Id, Name, ShipmentAccount__c, Order_ForCustomerText__c, Order_ForDealerText__c, Dealer_Info__c
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls
@@ -5,26 +5,14 @@
        User myUser_test;
        Account myAccount1;
        Account myAccount2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            List<RecordType> rectHos = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            if (rectHos.size() == 0) {
                return;
            }
@@ -32,93 +20,27 @@
            myAccount2 = new Account(Name = 'testaccount002', Dealer_discount__c = 20, RecordTypeId = rectHos[0].Id);
            insert myAccount1;
            insert myAccount2;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            myUser_test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                UserPro_Type__c = 'ENG',
                Work_Location__c = '北京'
            );
            myUser_test = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert myUser_test;
        }
        System.runAs(myUser_test) {
            //产品信息
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod04 = new Product2(
                Name = 'Test04',
                ProductCode = 'Test04',
                Asset_Model_No__c = 'Test04',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 2,
                Manual_Entry__c = false
            );
            Product2 prod05 = new Product2(
                Name = 'Test05',
                ProductCode = 'Test05',
                Asset_Model_No__c = 'Test05',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod06 = new Product2(
                Name = 'Test06',
                ProductCode = 'Test06',
                Asset_Model_No__c = 'Test06',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05, prod06 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,Manual_Entry__c = false);
            Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=2,Manual_Entry__c = false);
            Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,Manual_Entry__c = false);
            Product2 prod06 = new Product2(Name='Test06',ProductCode='Test06',Asset_Model_No__c = 'Test06',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=1,Manual_Entry__c = false);
            insert new Product2[] {prod01, prod02,prod03,prod04, prod05, prod06};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            Product2__c pro3 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod03.Id);
            Product2__c pro4 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod04.Id);
            Product2__c pro5 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod05.Id);
            Product2__c pro6 = new Product2__c(Name = 'Pro006', OT_CODE_Text__c = 'Test006', Product2__c = prod06.Id);
            insert new List<Product2__c>{ pro4, pro5, pro6, pro1, pro2, pro3 };
            insert new Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3};
            //发票
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice02';
@@ -134,31 +56,13 @@
            //出库单信息
            //出库单
            Consumable_order__c testList1 = new Consumable_order__c(
                Name = 'Test1',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '草案中',
                Order_type__c = '传票',
                Dealer_info__c = myAccount1.Id,
                ConInvoice_Code__c = invoiceorder.id
            );
            Consumable_order__c testList2 = new Consumable_order__c(
                Name = 'Test2',
                Summons_Sale_Status__c = '出货',
                SummonsStatus_c__c = '已完成',
                SummonsForDirction__c = '直接销售给医院',
                Order_status__c = '已提交',
                Order_type__c = '传票',
                Dealer_info__c = myAccount1.Id,
                ConInvoice_Code__c = invoiceorder.id
            );
            Consumable_order__c testList1 = new Consumable_order__c(Name='Test1',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',Order_status__c='草案中',Order_type__c='传票',Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            Consumable_order__c testList2 = new Consumable_order__c(Name='Test2',Summons_Sale_Status__c='出货',SummonsStatus_c__c='已完成',SummonsForDirction__c='直接销售给医院',Order_status__c='已提交',Order_type__c='传票',Dealer_info__c=myAccount1.Id,ConInvoice_Code__c = invoiceorder.id);
            TestList1.Order_date__c = Date.today().addDays(2);
            TestList2.Order_date__c = Date.today().addDays(2);
            TestList1.Order_date__c = Date.today();
            TestList2.Deliver_date__c = Date.today();
            insert new List<Consumable_order__c>{ testList1, testList2 };
            insert new Consumable_order__c[]{testList1,testList2};
            List<Consumable_Orderdetails__c> invoiceList = new List<Consumable_Orderdetails__c>();
            //发票明细1
@@ -266,6 +170,7 @@
            orderdet3.Invoiced_Count__c = 3;
            codList.add(orderdet3);
            Consumable_orderdetails__c orderdet4 = new Consumable_orderdetails__c();
            orderdet4.Name = 'Test1_0010031';
            orderdet4.Consumable_order__c = testList1.Id;
@@ -333,14 +238,11 @@
            LexConInvoicedetailsController.init(testList1.Id, invoiceorder.Id);
            //序列化Json
            System.Test.startTest();
            System.debug('===>数据' + LexConInvoicedetailsController.consumableorderdetails1Records);
            List<LexConInvoicedetailsController.ConsumableorderdetailsInfo> inList = LexConInvoicedetailsController.consumableorderdetails1Records;
            LexConInvoicedetailsController.save(
                JSON.serialize(LexConInvoicedetailsController.consumableorderdetails1Records),
                invoiceorder.Id,
                testList1.Id
            );
            LexConInvoicedetailsController.save(JSON.serialize(LexConInvoicedetailsController.consumableorderdetails1Records),invoiceorder.Id,testList1.Id);
            List<LexConInvoicedetailsController.ConsumableorderdetailsInfo> inList1 = new List<LexConInvoicedetailsController.ConsumableorderdetailsInfo>();
            for (LexConInvoicedetailsController.ConsumableorderdetailsInfo ass : inList) {
@@ -351,6 +253,7 @@
            }
            LexConInvoicedetailsController.save(JSON.serialize(inList1), invoiceorder.Id, testList1.Id);
            System.Test.stopTest();
        }
    }
}
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableAccountController.cls
@@ -43,11 +43,7 @@
            pageSize = pageSizeLWC;
            pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
            User Useracc = [
                SELECT accountid, UserPro_Type__c
                FROM user
                WHERE id = :UserInfo.getUserId()
            ];
            User Useracc = [SELECT accountid, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
            accountId = [SELECT id, Name FROM account WHERE id = :Useracc.accountid].id;
            agencyProType = Useracc.UserPro_Type__c;
            if (String.isBlank(Useracc.UserPro_Type__c)) {
@@ -148,22 +144,28 @@
            Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
            Date nextDatetime = Date.newInstance(nextYear, 4, 1);
            AggregateResult[] arList = null;
            //AggregateResult[] arList = null;
            AggregateResult[] arList = new List<AggregateResult>();
            System.debug('fiscalYear = ' + fiscalYear);
            if (fiscalYear == 'thisYear') {
                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
                topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                Object saleAmountObject = saleAmountList[0].get('saleAmount');
                topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
                //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
                arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
            } else if (fiscalYear == 'lastYear') {
                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2);
                topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                Object saleAmountObject = saleAmountList[0].get('saleAmount');
                topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
                System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2);
            } else {
                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime);
                topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                Object saleAmountObject = saleAmountList[0].get('saleAmount');
                topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
                System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime);
            }
@@ -267,7 +269,8 @@
            Date thisDatetime2 = Date.newInstance(thisYear, 4, 1);
            Date nextDatetime = Date.newInstance(nextYear, 4, 1);
            AggregateResult[] arList = null;
            //AggregateResult[] arList = null;
            AggregateResult[] arList = new List<AggregateResult>();
            System.debug('fiscalYear = ' + fiscalYear);
            System.debug('thisYear = ' + thisYear);
@@ -276,21 +279,27 @@
            if (fiscalYear == 'thisYear') {
                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
                if (saleAmountList[0].get('saleAmount') != null) {
                    topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                    //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                    Object saleAmountObject = saleAmountList[0].get('saleAmount');
                    topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
                    System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
                }
                arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
            } else if (fiscalYear == 'lastYear') {
                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2);
                if (saleAmountList[0].get('saleAmount') != null) {
                    topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                    //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                    Object saleAmountObject = saleAmountList[0].get('saleAmount');
                    topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
                    System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
                }
                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2);
            } else {
                AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime);
                if (saleAmountList[0].get('saleAmount') != null) {
                    topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                    //topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount')));
                    Object saleAmountObject = saleAmountList[0].get('saleAmount');
                    topInfo.saleAmount = saleAmountObject != null ? Decimal.valueOf(String.valueOf(saleAmountObject)) : Decimal.valueOf('0');
                    System.debug('topInfo.saleAmount = ' + topInfo.saleAmount);
                }
                arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, nextDatetime);
force-app/main/default/classes/LexConsumableAccountControllerTest.cls
@@ -9,23 +9,25 @@
    public static Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c();
    static testMethod void testMethod1() {
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
          List<Account> accList = new List<Account>();
            // 取引先
            account1.Name = 'test1医院';
            account1.RecordTypeId = '01210000000QemG';
            //   account1.Is_Active__c = '草案中';
            insert account1;
          accList.add(account1);
            account2.Name = 'test2医院';
            account2.RecordTypeId = '01210000000QemG';
            //   account2.Is_Active__c = '有効';
            insert account2;
          accList.add(account2);
            account3.Name = 'test3医院';
            account3.RecordTypeId = '01210000000QemG';
            //   account3.Is_Active__c = '申请中';
            insert account3;
          accList.add(account3);
          insert accList;
            consumable.Name = 'test1经销商';
            consumable.RecordTypeId = '01210000000Qem1';
@@ -37,11 +39,7 @@
            insert contact1;
            // ユーザー
            Profile p = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限'
            ];
          Profile p = [select Id from Profile where Name = '901_经销商社区普通权限'];
            user.ProfileId = p.Id;
            user.ContactId = contact1.Id;
            user.FirstName = 'ユーザー';
@@ -62,6 +60,9 @@
            agency_hospital_link.Agency__c = consumable.Id;
            agency_hospital_link.OwnerId = user.Id;
            insert agency_hospital_link;
        }
        System.runAs(user) {
            //订单
@@ -75,9 +76,12 @@
            Order1.Order_ForHospital__c = account1.Id;
            insert Order1;
            Consumable_Orderdetails__c con = new Consumable_Orderdetails__c();
            con.Consumable_order__c = Order1.Id;
            insert con;
            LexConsumableAccountController.init(2, 1, 'thisYear');
            LexConsumableAccountController.init(2, 1, 'lastYear');
@@ -86,11 +90,15 @@
            LexConsumableAccountController.changeFiscalYearView('lastYear');
            // LexConsumableAccountController.changelistView('62. 医院_Hospital申请中的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
            // LexConsumableAccountController.changelistView('63. 医院_Hospital上周创建的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
        }
    }
    static testMethod void testMethod2() {
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
  User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            // 取引先
            account1.Name = 'test1医院';
@@ -118,11 +126,7 @@
            insert contact1;
            // ユーザー
            Profile p = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限'
            ];
        Profile p = [select Id from Profile where Name = '901_经销商社区普通权限'];
            user.ProfileId = p.Id;
            user.ContactId = contact1.Id;
            user.FirstName = 'ユーザー';
@@ -166,24 +170,14 @@
            ca.accsort();
            ca.sortKey = '1';
            LexConsumableAccountController.changelistView(
                '62. 医院_Hospital申请中的医院',
                consumable.Id,
                'ET',
                1,
                0,
                'Is_Active__c',
                'ASC'
            );
            LexConsumableAccountController.changelistView(
                '63. 医院_Hospital上周创建的医院',
                consumable.Id,
                'ET',
                1,
                0,
                'Is_Active__c',
                'ASC'
            );
      LexConsumableAccountController.changelistView('62. 医院_Hospital申请中的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
      LexConsumableAccountController.changelistView('63. 医院_Hospital上周创建的医院',consumable.Id,'ET',1,0,'Is_Active__c','ASC');
        }
    }
}
force-app/main/default/classes/LexConsumableAccountControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls
@@ -1,5 +1,6 @@
@isTest
private class LexConsumableAccountInfoControllerTest {
    @isTest
    public static void test_method_one() {
        // Implement test code
@@ -9,8 +10,10 @@
        //account1.Is_Active__c = '草案中';
        insert account1;
        LexConsumableAccountInfoController cai = new LexConsumableAccountInfoController();
        LexConsumableAccountInfoController.init(account1.Id);
        LexConsumableAccountInfoController.init('');
    }
}
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls-meta.xml
force-app/main/default/classes/LexConsumableAccountSOQL.cls
@@ -1,18 +1,17 @@
public with sharing class LexConsumableAccountSOQL {
    public static AggregateResult[] getAccountBySales(Datetime thisDatetime, Datetime nextDatetime) {
        AggregateResult[] arList = new List<AggregateResult>(
            [
                SELECT
                    Consumable_order__r.Order_ForHospital__c,
                    Consumable_order__r.Order_ForHospital__r.name hospitalName,
        AggregateResult[] arList = new List<AggregateResult>([
            SELECT Consumable_order__r.Order_ForHospital__c,Consumable_order__r.Order_ForHospital__r.name hospitalName,
                    sum(Sale_amount__c) thisAmount
                FROM Consumable_Orderdetails__c
                WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != ''
            WHERE
                CreatedDate >= :thisDatetime
                AND CreatedDate < :nextDatetime
                AND Consumable_order__r.Order_ForHospital__r.name != ''
                GROUP BY Consumable_order__r.Order_ForHospital__c, Consumable_order__r.Order_ForHospital__r.name
                ORDER BY sum(Sale_amount__c) DESC
                LIMIT 10
            ]
        );
        ]);
        return arList;
    }
@@ -20,8 +19,12 @@
        AggregateResult[] saleAmountList = [
            SELECT sum(Sale_amount__c) saleAmount
            FROM Consumable_Orderdetails__c
            WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != ''
            WHERE CreatedDate >= :thisDatetime
            AND CreatedDate < :nextDatetime
            AND Consumable_order__r.Order_ForHospital__r.name != ''
        ];
        return saleAmountList;
    }
}
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls
@@ -6,78 +6,26 @@
        Account accountItem;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = true AND SobjectType = 'Account' AND Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            accountItem = new Account(
                Name = 'Testaccount002',
                Dealer_discount__c = 20,
                RecordTypeId = rectCo[0].Id,
                Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',
                AgentCode_Ext__c = '9999900'
            );
            Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
            accountItem = new Account(Name='Testaccount002', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id, Product_Limit_Date__c = 'Test01|5|55,Test02|2|4', AgentCode_Ext__c = '9999900');
            insert accountItem;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountId = accountItem.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem.id);
            insert core;
            userTest = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                UserPro_Type__c = 'ENG',
                Work_Location__c = '北京'
            );
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = '12124',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = '12124',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02 };
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = '12124',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today(),Manual_Entry__c = false);
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = '12124',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today(),Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert new List<Product2__c>{ pro1, pro2 };
            insert new Product2__c[] {pro1, pro2};
            Consumable_order__c createId = new Consumable_order__c();
            createId.Name = 'testMing1';
@@ -116,8 +64,8 @@
    @isTest
    static void testGetAccountBySales() {
        System.Test.startTest();
        DateTime thisDatetime = DateTime.newInstance(2023, 1, 1, 0, 0, 0);
        DateTime nextDatetime = DateTime.newInstance(2023, 6, 6, 0, 0, 0);
        DateTime thisDatetime = DateTime.newInstance(2023,1,1,00,00,00);
        DateTime nextDatetime = DateTime.newInstance(2023,6,6,00,00,00);
        AggregateResult[] arList = new List<AggregateResult>();
        arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime);
        System.Test.stopTest();
@@ -125,8 +73,8 @@
    @isTest
    static void testGetAccountTotalSales() {
        System.Test.startTest();
        DateTime thisDatetime = DateTime.newInstance(2023, 1, 1, 0, 0, 0);
        DateTime nextDatetime = DateTime.newInstance(2023, 6, 6, 0, 0, 0);
        DateTime thisDatetime = DateTime.newInstance(2023,1,1,00,00,00);
        DateTime nextDatetime = DateTime.newInstance(2023,6,6,00,00,00);
        AggregateResult[] saleAmountList = new List<AggregateResult>();
        saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime);
        System.Test.stopTest();
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls-meta.xml
force-app/main/default/classes/LexConsumableController.cls
@@ -207,11 +207,7 @@
        ESetId = esetId;
        methodType = type;
        if (String.isBlank(methodType) && String.isNotBlank(ESetId)) {
            List<Consumable_order__c> oclist = [
                SELECT orderPattern__c
                FROM Consumable_order__c
                WHERE id = :ESetid
            ];
            List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid];
            methodType = oclist.get(0).orderPattern__c;
        }
        statusEdit = keywordStr;
@@ -236,11 +232,7 @@
            userId = UserInfo.getUserId();
            List<user> Useracc = new List<user>();
            //lt 20230517 安徽两票制 add ,OSHFLG__c
            Useracc = [
                SELECT accountid, Work_Location__c, UserPro_Type__c, OSHFLG__c
                FROM user
                WHERE id = :userId
            ];
            Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c, OSHFLG__c FROM user WHERE id = :userId];
            accountid = Useracc[0].accountid;
            userWorkLocation = Useracc[0].Work_Location__c;
            agencyProType = Useracc[0].UserPro_Type__c;
@@ -559,11 +551,7 @@
                //         attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i]));
                //     }
                // }
                List<ContentDocumentLink> links = [
                    SELECT Id, ContentDocumentId
                    FROM ContentDocumentLink
                    WHERE LinkedEntityId = :ESetId
                ];
                List<ContentDocumentLink> links = [SELECT Id, ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = :ESetId];
                if (links != null && links.size() > 0) {
                    List<String> documentIds = new List<String>();
                    for (ContentDocumentLink link : links) {
@@ -1491,11 +1479,7 @@
        ESetId = eSetidStr;
        try {
            statusEdit = 'Redirect';
            List<Consumable_order__c> oclist = [
                SELECT orderPattern__c
                FROM Consumable_order__c
                WHERE id = :ESetid
            ];
            List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid];
            String url = '/lexconsumable?ESetid=' + ESetid + '&KeyWords=' + statusEdit + '&type=' + oclist.get(0).orderPattern__c;
            results.result = 'Success';
            results.url = url;
@@ -1515,11 +1499,7 @@
        returnOrder = true;
        try {
            statusEdit = 'Redirect';
            List<Consumable_order__c> oclist = [
                SELECT orderPattern__c
                FROM Consumable_order__c
                WHERE id = :ESetid
            ];
            List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid];
            String url = '/lexconsumable?ESetid=' + ESetid + '&KeyWords=' + statusEdit + '&type=' + oclist.get(0).orderPattern__c;
            results.result = 'Success';
            results.url = url;
@@ -1543,11 +1523,7 @@
            cv.VersionData = EncodingUtil.base64Decode(base64Data);
            cv.IsMajorVersion = true;
            insert cv;
            Consumable_order__c c = [
                SELECT Id
                FROM Consumable_order__c
                WHERE Id = :pId
            ];
            Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id = :pId];
            c.Consumable_pdf_insert_day__c = Date.today();
            update c;
            results.result = 'Success';
@@ -1912,11 +1888,7 @@
                    p.orderPattern__c = methodType;
                }
                insert p;
                List<Consumable_order__c> Consumable_order = [
                    SELECT Name, orderPattern__c
                    FROM Consumable_order__c
                    WHERE id = :p.id
                ];
                List<Consumable_order__c> Consumable_order = [SELECT Name, orderPattern__c FROM Consumable_order__c WHERE id = :p.id];
                for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) {
                    Roll = Roll + 1;
                    if (ass.check == true) {
@@ -2009,11 +1981,7 @@
                    p.Offers_Price__c = bargainPrice;
                }
                update p;
                List<Consumable_order__c> Consumable_order = [
                    SELECT Name, orderPattern__c
                    FROM Consumable_order__c
                    WHERE id = :p.id
                ];
                List<Consumable_order__c> Consumable_order = [SELECT Name, orderPattern__c FROM Consumable_order__c WHERE id = :p.id];
                List<Consumable_Orderdetails__c> qs = new List<Consumable_Orderdetails__c>();
                qs = [
                    SELECT Id
@@ -2099,29 +2067,13 @@
    public static Results deleteAtt(String contentVersionId, String cocId) {
        Results results = new Results();
        try {
            List<ContentVersion> cvInfo = [
                SELECT Id
                FROM ContentVersion
                WHERE FirstPublishLocationId = :cocId
            ];
            ContentVersion conVersion = [
                SELECT ContentDocumentId
                FROM ContentVersion
                WHERE Id = :contentVersionId
            ];
            List<ContentVersion> cvInfo = [SELECT Id FROM ContentVersion WHERE FirstPublishLocationId = :cocId];
            ContentVersion conVersion = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionId];
            String contentDocumentId = conVersion.ContentDocumentId;
            ContentDocument conDocument = [
                SELECT Id
                FROM ContentDocument
                WHERE Id = :contentDocumentId
            ];
            ContentDocument conDocument = [SELECT Id FROM ContentDocument WHERE Id = :contentDocumentId];
            delete conDocument;
            if (cvInfo.size() <= 1) {
                Consumable_order__c c = [
                    SELECT Id
                    FROM Consumable_order__c
                    WHERE Id = :cocId
                ];
                Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id = :cocId];
                c.Consumable_pdf_insert_day__c = null;
                update c;
            }
force-app/main/default/classes/LexConsumableControllerTest.cls
@@ -5,76 +5,33 @@
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo1 = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract'
            ];
            Profile prof1 = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            List<RecordType> rectCo1 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'AgencyContract'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888',
                Product_Limit_Date__c = 'Test07|3|100,Test08|10|50'
            );
            myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '8888888',Product_Limit_Date__c = 'Test07|3|100,Test08|10|50');
            insert myAccount1;
            contract = new Account(
                RecordTypeId = rectCo1[0].Id,
                Name = 'contractName',
                ParentId = myAccount1.id,
                Agent_Ref__c = myAccount1.id,
                Contract_Department_Class__c = 'ET',
                Contract_Decide_Start_Date__c = Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),
                Dealer_discount__c = 0.8
            );
            contract = new Account(RecordTypeId=rectCo1[0].Id ,Name ='contractName',ParentId = myAccount1.id,Agent_Ref__c =myAccount1.id, Contract_Department_Class__c = 'ET',Contract_Decide_Start_Date__c=Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),Dealer_discount__c = 0.8);
            insert contract;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof1.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '重庆');
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
            Product2 prod01 = new Product2(Name='Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
@@ -91,11 +48,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod02 = new Product2(
                Name = 'Test02',
            Product2 prod02 = new Product2(Name='Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
@@ -112,11 +67,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod03 = new Product2(
                Name = 'Test03',
            Product2 prod03 = new Product2(Name='Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
@@ -129,9 +82,8 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03 };
                                Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
@@ -144,6 +96,7 @@
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            insert proF;
            //订单
            Consumable_order__c order = new Consumable_order__c();
@@ -185,35 +138,8 @@
            LexConsumableController.ConsumableorderdetailsInfo c2 = new LexConsumableController.ConsumableorderdetailsInfo(v);
            LexConsumableController l = new LexConsumableController();
            LexConsumableController.Results re = LexConsumableController.init('', order.Id, '');
            LexConsumableController.searchConsumableorderdetails(
                re.userWorkLocation,
                re.agencyProType,
                re.accountName,
                re.accountid,
                re.hospitalId,
                re.contractId,
                'testMing',
                '',
                '',
                '',
                re.category_Goods,
                re.specialCampaign,
                JSON.serialize(re.dealerProductId),
                re.methodType,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                re.editAble,
                re.proLimitAndDate
            );
            LexConsumableController.searchorderdetails(
                re.methodType,
                re.accountid,
                re.hospitalId,
                re.contractId,
                re.userWorkLocation,
                re.accountName,
                re.proLimitAndDate,
                re.editAble
            );
            LexConsumableController.searchConsumableorderdetails(re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, re.contractId, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate);
            LexConsumableController.searchorderdetails(re.methodType, re.accountid, re.hospitalId, re.contractId, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble);
            LexConsumableController.sorder(order.Id, myAccount1.Id);
            Test.stopTest();
        }
@@ -224,77 +150,34 @@
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo1 = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract'
            ];
            Profile prof1 = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            List<RecordType> rectCo1 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'AgencyContract'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888',
                Product_Limit_Date__c = 'Test07|3|100,Test08|10|50'
            );
            myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '8888888',Product_Limit_Date__c = 'Test07|3|100,Test08|10|50');
            insert myAccount1;
            contract = new Account(
                RecordTypeId = rectCo1[0].Id,
                Name = 'contractName',
                ParentId = myAccount1.id,
                Agent_Ref__c = myAccount1.id,
                Contract_Department_Class__c = 'ET',
                Contract_Decide_Start_Date__c = Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),
                Dealer_discount__c = 0.8
            );
            contract = new Account(RecordTypeId=rectCo1[0].Id ,Name ='contractName',ParentId = myAccount1.id,Agent_Ref__c =myAccount1.id, Contract_Department_Class__c = 'ET',Contract_Decide_Start_Date__c=Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),Dealer_discount__c = 0.8);
            insert contract;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof1.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '重庆');
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
            Product2 prod01 = new Product2(Name='Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
@@ -311,11 +194,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod02 = new Product2(
                Name = 'Test02',
            Product2 prod02 = new Product2(Name='Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
@@ -332,11 +213,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod03 = new Product2(
                Name = 'Test03',
            Product2 prod03 = new Product2(Name='Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
@@ -349,9 +228,8 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03 };
                                Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
@@ -367,12 +245,7 @@
            //创建医院
            Account hospital = new Account();
            hospital.recordtypeId = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'HP'
            ]
            .id;
            hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
            hospital.Name = 'test hospital';
            hospital.Is_Active__c = '有効';
            hospital.Attribute_Type__c = '卫生部';
@@ -427,64 +300,10 @@
            Test.startTest();
            LexConsumableController.Results re = LexConsumableController.init('', order1.Id, '');
            LexConsumableController.searchConsumableorderdetails(
                re.userWorkLocation,
                re.agencyProType,
                re.accountName,
                re.accountid,
                re.hospitalId,
                re.contractId,
                'testMing',
                '',
                '',
                '',
                re.category_Goods,
                re.specialCampaign,
                JSON.serialize(re.dealerProductId),
                re.methodType,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                re.editAble,
                re.proLimitAndDate
            );
            LexConsumableController.searchorderdetails(
                re.methodType,
                re.accountid,
                re.hospitalId,
                re.contractId,
                re.userWorkLocation,
                re.accountName,
                re.proLimitAndDate,
                re.editAble
            );
            LexConsumableController.searchConsumableorderdetails(
                re.userWorkLocation,
                re.agencyProType,
                re.accountName,
                re.accountid,
                hospital.Id,
                contract.Id,
                'testMing',
                '',
                '',
                '',
                re.category_Goods,
                re.specialCampaign,
                JSON.serialize(re.dealerProductId),
                re.methodType,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                re.editAble,
                re.proLimitAndDate
            );
            LexConsumableController.searchorderdetails(
                re.methodType,
                re.accountid,
                hospital.Id,
                contract.Id,
                re.userWorkLocation,
                re.accountName,
                re.proLimitAndDate,
                re.editAble
            );
            LexConsumableController.searchConsumableorderdetails(re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, re.contractId, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate);
            LexConsumableController.searchorderdetails(re.methodType, re.accountid, re.hospitalId, re.contractId, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble);
            LexConsumableController.searchConsumableorderdetails(re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, hospital.Id, contract.Id, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate);
            LexConsumableController.searchorderdetails(re.methodType, re.accountid, hospital.Id, contract.Id, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble);
            Test.stopTest();
        }
    }
@@ -495,74 +314,30 @@
        Account myAccount1;
        Account contract;
        Consumable_order__c order2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo1 = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract'
            ];
            Profile prof1 = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            List<RecordType> rectCo1 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'AgencyContract'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888',
                Product_Limit_Date__c = 'Test07|3|100,Test08|10|50'
            );
            myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '8888888',Product_Limit_Date__c = 'Test07|3|100,Test08|10|50');
            insert myAccount1;
            contract = new Account(
                RecordTypeId = rectCo1[0].Id,
                Name = 'contractName',
                ParentId = myAccount1.id,
                Agent_Ref__c = myAccount1.id,
                Contract_Department_Class__c = 'ET',
                Contract_Decide_Start_Date__c = Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),
                Dealer_discount__c = 0.8
            );
            contract = new Account(RecordTypeId=rectCo1[0].Id ,Name ='contractName',ParentId = myAccount1.id,Agent_Ref__c =myAccount1.id, Contract_Department_Class__c = 'ET',Contract_Decide_Start_Date__c=Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),Dealer_discount__c = 0.8);
            insert contract;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof1.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '重庆');
            insert MyUser_Test;
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
            Product2 prod01 = new Product2(Name='Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
@@ -579,11 +354,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod02 = new Product2(
                Name = 'Test02',
            Product2 prod02 = new Product2(Name='Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
@@ -600,11 +373,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod03 = new Product2(
                Name = 'Test03',
            Product2 prod03 = new Product2(Name='Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
@@ -617,9 +388,8 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03 };
                                Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
@@ -687,66 +457,13 @@
        }
        System.runAs(MyUser_Test) {
            Test.startTest();
            LexConsumableController.Results re = LexConsumableController.init('', order2.Id, '');
            LexConsumableController.searchConsumableorderdetails(
                re.userWorkLocation,
                re.agencyProType,
                re.accountName,
                re.accountid,
                re.hospitalId,
                re.contractId,
                'testMing',
                '',
                '',
                '',
                re.category_Goods,
                re.specialCampaign,
                JSON.serialize(re.dealerProductId),
                re.methodType,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                re.editAble,
                re.proLimitAndDate
            );
            LexConsumableController.searchorderdetails(
                re.methodType,
                re.accountid,
                re.hospitalId,
                re.contractId,
                re.userWorkLocation,
                re.accountName,
                re.proLimitAndDate,
                re.editAble
            );
            LexConsumableController.searchConsumableorderdetails(
                re.userWorkLocation,
                re.agencyProType,
                re.accountName,
                re.accountid,
                re.hospitalId,
                contract.Id,
                'testMing',
                '',
                '',
                '',
                re.category_Goods,
                re.specialCampaign,
                JSON.serialize(re.dealerProductId),
                re.methodType,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                re.editAble,
                re.proLimitAndDate
            );
            LexConsumableController.searchorderdetails(
                re.methodType,
                re.accountid,
                re.hospitalId,
                contract.Id,
                re.userWorkLocation,
                re.accountName,
                re.proLimitAndDate,
                re.editAble
            );
            LexConsumableController.searchConsumableorderdetails(re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, re.contractId, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate);
            LexConsumableController.searchorderdetails(re.methodType, re.accountid, re.hospitalId, re.contractId, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble);
            LexConsumableController.searchConsumableorderdetails(re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, contract.Id, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate);
            LexConsumableController.searchorderdetails(re.methodType, re.accountid, re.hospitalId, contract.Id, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble);
            Test.stopTest();
        }
    }
@@ -756,85 +473,38 @@
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            List<RecordType> rectCo1 = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract'
            ];
            Profile prof1 = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            List<RecordType> rectCo1 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'AgencyContract'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            RecordType rectCoO = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888',
                Product_Limit_Date__c = 'Test07|3|100,Test08|10|50'
            );
            myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '8888888',Product_Limit_Date__c = 'Test07|3|100,Test08|10|50');
            insert myAccount1;
            System.debug('account111:' + myAccount1);
            contract = new Account(
                RecordTypeId = rectCo1[0].Id,
                Name = 'contractName',
                ParentId = myAccount1.id,
                Agent_Ref__c = myAccount1.id,
                Contract_Department_Class__c = 'ET',
                Contract_Decide_Start_Date__c = Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),
                ET_SP_Dealer__c = true
            );
            contract = new Account(RecordTypeId=rectCo1[0].Id ,Name ='contractName',ParentId = myAccount1.id,Agent_Ref__c =myAccount1.id, Contract_Department_Class__c = 'ET',Contract_Decide_Start_Date__c=Date.today().addDays(-2),
                Contract_Decide_End_Date__c = Date.today().addDays(2),ET_SP_Dealer__c = true);
            insert contract;
            System.debug('account111:' + contract);
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof1.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '重庆');
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
            Product2 prod01 = new Product2(Name='Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
@@ -851,11 +521,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod02 = new Product2(
                Name = 'Test02',
            Product2 prod02 = new Product2(Name='Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
@@ -872,11 +540,9 @@
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod03 = new Product2(
                Name = 'Test03',
            Product2 prod03 = new Product2(Name='Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
@@ -889,9 +555,8 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03 };
                                Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
@@ -904,6 +569,7 @@
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            insert proF;
            //订单
            Consumable_order__c order = new Consumable_order__c();
@@ -944,103 +610,13 @@
            re.consumableorderdetailsRecordsview[0].check = true;
            re.consumableorderdetailsRecordsview[0].esd.Consumable_count__c = 1;
            String conId = contract.Id;
            LexConsumableController.ordrCopy(
                contract.Name,
                JSON.serialize(re.coc),
                re.agencyProType,
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                re.methodType,
                '',
                conId,
                re.agencyProType1,
                false
            );
            LexConsumableController.save(
                '',
                JSON.serialize(re.coc),
                re.agencyProType,
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                re.methodType,
                re.ESetId,
                '',
                conId,
                re.agencyProType1,
                false
            );
            LexConsumableController.save(
                contract.Name,
                JSON.serialize(re.coc),
                re.agencyProType,
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                re.methodType,
                re.ESetId,
                '',
                '',
                re.agencyProType1,
                false
            );
            LexConsumableController.save(
                ':Testaccount001',
                JSON.serialize(re.coc),
                'ET',
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                re.methodType,
                re.ESetId,
                '',
                re.contractId,
                'ET',
                false
            );
            LexConsumableController.save(
                ':Testaccount001',
                JSON.serialize(re.coc),
                'ET',
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                'agreementorder',
                re.ESetId,
                '',
                re.contractId,
                'ET',
                false
            );
            LexConsumableController.save(
                ':Testaccount001',
                JSON.serialize(re.coc),
                'ET',
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                'promotionorder',
                re.ESetId,
                '',
                re.contractId,
                'ET',
                false
            );
            LexConsumableController.save(
                ':Testaccount001',
                JSON.serialize(re.coc),
                'ET',
                re.accountid,
                JSON.serialize(re.consumableorderdetailsRecordsview),
                JSON.serialize(re.contactDealer),
                'hospitalorder',
                re.ESetId,
                '',
                re.contractId,
                'ET',
                false
            );
            LexConsumableController.ordrCopy(contract.Name,JSON.serialize(re.coc),re.agencyProType,re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),re.methodType,'',conId,re.agencyProType1,false);
            LexConsumableController.save('',JSON.serialize(re.coc),re.agencyProType,re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),re.methodType,re.ESetId,'',conId,re.agencyProType1,false);
            LexConsumableController.save(contract.Name,JSON.serialize(re.coc),re.agencyProType,re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),re.methodType,re.ESetId,'','',re.agencyProType1,false);
            LexConsumableController.save(':Testaccount001',JSON.serialize(re.coc),'ET',re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),re.methodType,re.ESetId,'',re.contractId,'ET',false);
            LexConsumableController.save(':Testaccount001',JSON.serialize(re.coc),'ET',re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),'agreementorder',re.ESetId,'',re.contractId,'ET',false);
            LexConsumableController.save(':Testaccount001',JSON.serialize(re.coc),'ET',re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),'promotionorder',re.ESetId,'',re.contractId,'ET',false);
            LexConsumableController.save(':Testaccount001',JSON.serialize(re.coc),'ET',re.accountid,JSON.serialize(re.consumableorderdetailsRecordsview),JSON.serialize(re.contactDealer),'hospitalorder',re.ESetId,'',re.contractId,'ET',false);
            Test.stopTest();
        }
    }
@@ -1049,61 +625,26 @@
    static void ConsumableOrdertest5() {
        user MyUser_Test;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        ContentVersion cv;
        Consumable_order__c order;
        insert n;
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            Profile prof1 = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            RecordType rectCoO = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888',
                Product_Limit_Date__c = 'Test07|3|100,Test08|10|50'
            );
            myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '8888888',Product_Limit_Date__c = 'Test07|3|100,Test08|10|50');
            insert myAccount1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '重庆'
            );
            MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof1.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '重庆');
            insert MyUser_Test;
            order = new Consumable_order__c();
@@ -1124,10 +665,10 @@
            cv.VersionData = EncodingUtil.base64Decode('VGVzdA==');
            cv.IsMajorVersion = true;
            insert cv;
        }
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
            Product2 prod01 = new Product2(Name='Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
@@ -1147,8 +688,7 @@
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
            Product2 prod02 = new Product2(Name='Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
@@ -1168,8 +708,7 @@
                Manual_Entry__c = false
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
            Product2 prod03 = new Product2(Name='Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
@@ -1182,13 +721,10 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
                                Manual_Entry__c = false);
            Product2 prod04 = new Product2(
                Name = 'Test04',
                ProductCode = 'Test04',
                Asset_Model_No__c = 'Test04',
            Product2 prod04 = new Product2(Name='Test04',
                ProductCode='Test04',Asset_Model_No__c = 'Test04',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
@@ -1199,10 +735,8 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
            Product2 prod05 = new Product2(
                Name = 'Test05',
                                Manual_Entry__c = false);
            Product2 prod05 = new Product2(Name='Test05',
                ProductCode = 'Test05',
                Asset_Model_No__c = 'Test05',
                SFDA_Status__c = '有効',
@@ -1215,15 +749,16 @@
                Intra_Trade_List_RMB_1__c = 1000,
                Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1),
                Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1),
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05 };
                                Manual_Entry__c = false);
            insert new Product2[] {prod01,prod02,prod03, prod04, prod05};
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            Product2__c pro3 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            Product2__c pro4 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod04.Id);
            Product2__c pro5 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod05.Id);
            insert new List<Product2__c>{ pro1, pro2, pro3, pro4, pro5 };
            insert new Product2__c[] {pro1,pro2,pro3,pro4, pro5};
            Test.startTest();
            LexConsumableController.Results re1 = LexConsumableController.categoryAllload('ET', 'CDS');
Diff truncated after the above file
force-app/main/default/classes/LexConsumableControllerTest.cls-meta.xml force-app/main/default/classes/LexConsumableGoodsInfo.cls force-app/main/default/classes/LexConsumableGoodsInfoTest.cls force-app/main/default/classes/LexConsumableGoodsInfoTest.cls-meta.xml force-app/main/default/classes/LexConsumableOrderManageController.cls force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls-meta.xml force-app/main/default/classes/LexInventoryController.cls force-app/main/default/classes/LexInventoryControllerTest.cls force-app/main/default/classes/LexInventoryControllerTest.cls-meta.xml force-app/main/default/classes/LexInventoryListController.cls force-app/main/default/classes/LexInventoryListControllerTest.cls force-app/main/default/classes/LexInventoryListControllerTest.cls-meta.xml force-app/main/default/classes/LexInventoryViewController.cls force-app/main/default/classes/LexInventoryViewControllerTest.cls force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml force-app/main/default/classes/LexLicenceReminderControllerTest.cls force-app/main/default/classes/LexLicenceReminderControllerTest.cls-meta.xml force-app/main/default/classes/LexOutboundorderImportController.cls force-app/main/default/classes/LexOutboundorderImportControllerTest.cls force-app/main/default/classes/LexOutboundorderImportControllerTest.cls-meta.xml force-app/main/default/classes/LexOverdueStockController.cls force-app/main/default/classes/LexOverdueStockControllerTest.cls force-app/main/default/classes/LexOverdueStockControllerTest.cls-meta.xml force-app/main/default/classes/LexProductLimitEditControllerTest.cls force-app/main/default/classes/LexProductLimitEditControllerTest.cls-meta.xml force-app/main/default/classes/LexRemoveBoxControllerTest.cls force-app/main/default/classes/LexRemoveBoxControllerTest.cls-meta.xml force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls-meta.xml force-app/main/default/classes/LexSaleOrderController.cls force-app/main/default/classes/LexSaleOrderControllerTest.cls force-app/main/default/classes/LexSaleOrderControllerTest.cls-meta.xml force-app/main/default/classes/LexSearchContractControllerTest.cls force-app/main/default/classes/LexSearchContractControllerTest.cls-meta.xml force-app/main/default/classes/LexSearchHospitalControllerTest.cls force-app/main/default/classes/LexSearchHospitalControllerTest.cls-meta.xml force-app/main/default/classes/LexSummonsCreatController.cls force-app/main/default/classes/LexSummonsCreatControllerTest.cls force-app/main/default/classes/LexSummonsCreatControllerTest.cls-meta.xml force-app/main/default/classes/LexTopPageControllerTest.cls force-app/main/default/classes/LexTopPageControllerTest.cls-meta.xml force-app/main/default/classes/LexUpAccountProLimit.cls force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls-meta.xml force-app/main/default/classes/LexUtilityTest.cls force-app/main/default/classes/LexUtilityTest.cls-meta.xml force-app/main/default/classes/LookupSearchResultTest.cls force-app/main/default/classes/LookupSearchResultTest.cls-meta.xml force-app/main/default/classes/ResponseBodyLWCTest.cls force-app/main/default/classes/ResponseBodyLWCTest.cls-meta.xml force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls-meta.xml force-app/main/default/contentassets/OlympusCommunityLoginBG.asset-meta.xml force-app/main/default/contentassets/OlympusCommunityLogo.asset-meta.xml force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.html force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js-meta.xml force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.html force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js-meta.xml force-app/main/default/lwc/customMydrComp/customMydrComp.html force-app/main/default/lwc/customMydrComp/customMydrComp.js force-app/main/default/lwc/customMydrComp/customMydrComp.js-meta.xml force-app/main/default/lwc/customOutputGood/customOutputGood.html force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js force-app/main/default/lwc/lexAgencyInfo/lexAgencyInfo.css force-app/main/default/lwc/lexAgencyInfo/lexAgencyInfo.html force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.css force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js-meta.xml force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.html force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js force-app/main/default/lwc/lexConsumable/lexConsumable.html force-app/main/default/lwc/lexConsumable/lexConsumable.js force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.html force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html force-app/main/default/lwc/lexCssUtility/lexCssUtility.css force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html force-app/main/default/lwc/lexCustomInventoryColor/lexCustomInventoryColor.html force-app/main/default/lwc/lexCustomLightningDatatable/customMyDrCheckBox.html force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html force-app/main/default/lwc/lexCustomLightningDatatable/customaccountUrl.html force-app/main/default/lwc/lexCustomLightningDatatable/customdeleteReason.html force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js force-app/main/default/lwc/lexInventory/lexInventory.css force-app/main/default/lwc/lexInventory/lexInventory.html force-app/main/default/lwc/lexInventory/lexInventory.js force-app/main/default/lwc/lexLookup/lexLookup.html force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.html force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.js force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js force-app/main/default/lwc/lexTopPage/lexTopPage.html force-app/main/default/lwc/lexTopPage/lexTopPage.js force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.css force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js force-app/main/default/lwc/paginator/paginator.html force-app/main/default/lwc/paginator/paginator.js force-app/main/default/objects/LicenceReminderDate__c/LicenceReminderDate__c.object-meta.xml force-app/main/default/objects/LicenceReminderDate__c/fields/ReminderDays__c.field-meta.xml force-app/main/default/objects/NoteStay__c/NoteStay__c.object-meta.xml force-app/main/default/objects/NoteStay__c/fields/IsStay__c.field-meta.xml force-app/main/default/pages/DealerInquiryModifyState.page force-app/main/default/pages/DealerInquiryModifyState.page-meta.xml force-app/main/default/permissionsets/Community_Consumable_LEX_PS.permissionset-meta.xml force-app/main/default/reports/Store_Custom_ReportLink/X2_Lky.report-meta.xml force-app/main/default/reports/Store_Custom_ReportLink/new_report_0iF.report-meta.xml force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger-meta.xml force-app/main/default/triggers/ContentDocumentLink.trigger force-app/main/default/triggers/ContentDocumentTrigger.trigger manifest/LEXC02packagelexcommunityupdate.xml manifest/LEXC03report2.xml manifest/packageForLex copy.xml