buli
2023-07-14 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7
lex community
201个文件已修改
12个文件已添加
56873 ■■■■■ 已修改文件
.sf/config.json 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/AgencyAccount/AgencyAccount.css 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTarget.cmp 1229 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTarget.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/CreateTarget/CreateTargetHelper.js 792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js 273 ●●●●● 补丁 | 查看 | 原始文档 | 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 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js 465 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js 425 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp 1258 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js 3168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp 1147 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReport.css 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReportController.js 349 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js 3258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsController.cls 5436 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsControllerTest.cls 1734 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls 332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/DealerInquiryModifyStateController.cls 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/DealerInquiryModifyStateControllerTest.cls 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsController.cls 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest.cls 650 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsMainController.cls 443 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGsDetailsController.cls 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls 154 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexCancelRemoveBoxController.cls 824 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls 567 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceListTest.cls 169 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceListTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceViewController.cls 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls 3802 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoicedetailsController.cls 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls 247 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountController.cls 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountControllerTest.cls 332 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountSOQL.cls 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls 110 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableController.cls 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableControllerTest.cls 1889 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableGoodsInfo.cls 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableGoodsInfoTest.cls 1000 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableGoodsInfoTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableOrderManageController.cls 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexConsumableOrderManageControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryController.cls 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryControllerTest.cls 1611 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryListController.cls 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryListControllerTest.cls 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryListControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryViewController.cls 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryViewControllerTest.cls 1360 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexLicenceReminderControllerTest.cls 152 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexLicenceReminderControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOutboundorderImportController.cls 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOutboundorderImportControllerTest.cls 548 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOutboundorderImportControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOverdueStockController.cls 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOverdueStockControllerTest.cls 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexOverdueStockControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexProductLimitEditControllerTest.cls 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexProductLimitEditControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexRemoveBoxControllerTest.cls 539 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexRemoveBoxControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleAndDeliveryControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleOrderController.cls 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleOrderControllerTest.cls 1246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSaleOrderControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchContractControllerTest.cls 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchContractControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchHospitalControllerTest.cls 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSearchHospitalControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSummonsCreatController.cls 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSummonsCreatControllerTest.cls 1915 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSummonsCreatControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexTopPageControllerTest.cls 610 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexTopPageControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUpAccountProLimit.cls 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUpAccountProLimitControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUtilityTest.cls 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexUtilityTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LookupSearchResultTest.cls 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LookupSearchResultTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ResponseBodyLWCTest.cls 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ResponseBodyLWCTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/contentassets/OlympusCommunityLoginBG.asset-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/contentassets/OlympusCommunityLogo.asset-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customAccountUrlComp/customAccountUrlComp.js-meta.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customDeleteReasonComp/customDeleteReasonComp.js-meta.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customMydrComp/customMydrComp.html 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customMydrComp/customMydrComp.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customMydrComp/customMydrComp.js-meta.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customOutputGood/customOutputGood.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAgencyInfo/lexAgencyInfo.css 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAgencyInfo/lexAgencyInfo.html 183 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.css 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js-meta.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.html 141 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js 413 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumable/lexConsumable.html 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumable/lexConsumable.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html 175 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCssUtility/lexCssUtility.css 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomInventoryColor/lexCustomInventoryColor.html 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customMyDrCheckBox.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customaccountUrl.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/customdeleteReason.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexInventory/lexInventory.css 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexInventory/lexInventory.html 306 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexInventory/lexInventory.js 1484 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexLookup/lexLookup.html 218 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js 291 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js 693 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.html 137 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.js 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js 463 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html 1679 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js 3101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTopPage/lexTopPage.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTopPage/lexTopPage.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.css 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js 6 ●●●● 补丁 | 查看 | 原始文档 | 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 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/LicenceReminderDate__c/fields/ReminderDays__c.field-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/NoteStay__c/NoteStay__c.object-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/objects/NoteStay__c/fields/IsStay__c.field-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/DealerInquiryModifyState.page 1362 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/DealerInquiryModifyState.page-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/permissionsets/Community_Consumable_LEX_PS.permissionset-meta.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | 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 525 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ConsumableOrderDetail2Trigger.trigger-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ContentDocumentLink.trigger 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/triggers/ContentDocumentTrigger.trigger 7 ●●●● 补丁 | 查看 | 原始文档 | 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"
  "target-org": "OlympusStageEnv"
}
>>>>>>> LEXCommunityLiJun
force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp
@@ -12,13 +12,16 @@
    <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">
            <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>
            </div>
        </div>
        <!-- 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 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>
    <form class="slds-form--inline">
      <div class="slds-form-element">
@@ -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
@@ -18,4 +18,15 @@
.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,926 +1,321 @@
<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="" />
    <aura:attribute name="test" type="string" default="1" />
    <aura:handler event="force:refreshView" action="{!c.isRefreshed}" />
    <aura:attribute name="hospitalId" type="string" default="" />
    <aura:attribute name="GIAmount" type="string" default="0.00" />
    <aura:attribute name="BFAmount" type="string" default="0.00" />
    <aura:attribute name="ETAmount" type="string" default="0.00" />
    <aura:attribute name="GSAmount" type="string" default="0.00" />
    <aura:attribute name="UROAmount" type="string" default="0.00" />
    <aura:attribute name="GYNAmount" type="string" default="0.00" />
    <aura:attribute name="ENTAmount" type="string" default="0.00" />
    <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: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: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=""/>
    <aura:attribute name="test" type="string" default="1"/>
    <aura:handler event="force:refreshView" action="{!c.isRefreshed}" />
    <aura:attribute name="hospitalId" type="string" default=""/>
    <aura:attribute name="GIAmount" type="string" default="0.00"/>
    <aura:attribute name="BFAmount" type="string" default="0.00"/>
    <aura:attribute name="ETAmount" type="string" default="0.00"/>
    <aura:attribute name="GSAmount" type="string" default="0.00"/>
    <aura:attribute name="UROAmount" type="string" default="0.00"/>
    <aura:attribute name="GYNAmount" type="string" default="0.00"/>
    <aura:attribute name="ENTAmount" type="string" default="0.00"/>
    <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: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: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}" />
    <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 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"
                    />
                    <span class="slds-assistive-text">Close</span>
                </button>
                <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
                                    >
                                    <!-- <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>
                                </div>
                            </div>
                            <!-- <h4 class="slds-section__title">访问目标</h4>
    <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"/>
                    <span class="slds-assistive-text">Close</span>
                </button>
                <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>
                                    <!-- <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>
                                </div>
                            </div>
                            <!-- <h4 class="slds-section__title">访问目标</h4>
                            <div class="slds-form-element__row">
                                <div class="slds-form-element slds-size-1-of-2">
                                    <label class="slds-form-element__label" for="input-target">目标医院</label>
                                    <force:inputField value="{!v.record2.TargetHospital__c}" aura:id="input-target"/>
                                </div>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </div>
                        </div>
                    </fieldset>
                </div>
            </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}"
                />
                <div class="slds-order--3" />
            </div>
        </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </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>
                                <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>
                                <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>
                                <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>
                            </div>
                        </div>
                    </fieldset>
                </div>
            </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}"/>
                <div class="slds-order--3" />
            </div>
        </div>
    </div>
    <div
        aura:id="modal_bg"
        class="disp_none slds-backdrop slds-backdrop--open"
    ></div>
</aura:component>
    <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
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>42.0</apiVersion>
    <description>A Lightning Component Bundle</description>
force-app/main/default/aura/CreateTarget/CreateTarget.css
@@ -5,8 +5,8 @@
    display: none;
}
.THIS select {
    --lwc-lineHeightButton: 36px;
    --lwc-heightInput: 36px;
    --lwc-lineHeightButton:36px;
    --lwc-heightInput:36px;
    min-height: 0px !important;
    height: 36px !important;
}
}
force-app/main/default/aura/CreateTarget/CreateTargetHelper.js
@@ -1,192 +1,130 @@
({
    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');
            action.setParams({ recordId: recordId });
            action.setCallback(this, function (response) {
                var state = response.getState();
                console.log('state1:' + state);
                if (state === 'SUCCESS') {
    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");
            action.setParams({recordId: recordId});
            action.setCallback(this, function(response) {
            var state = response.getState();
            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 = [
                            {
                                type: 'Agency_Hospital_Link__c',
                                id: select_ah,
                                label: select_ah_name,
                                icon: {
                                    url: '/img/icon/t4v35/custom/custom24_120.png',
                                    backgroundColor: 'dc71d1',
                                    alt: 'Agency_Hospital_Link__c'
                                }
                    if ($A.get("$Browser.formFactor") == 'DESKTOP') {
                        console.log("flag1");
                        var values = [{
                            type: 'Agency_Hospital_Link__c',
                            id: select_ah,
                            label: select_ah_name,
                            icon : {
                                url:'/img/icon/t4v35/custom/custom24_120.png',
                                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');
        action.setCallback(this, function (response) {
        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);
    },
    toggle_report: function (component, event, helper) {
    toggle_report : function(component, event, helper) {
        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');
        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();
        }
    },
    productcategoryChange: function (component, event, helper, dept, index) {
        var cmpId = 'select_' + dept;
    productcategoryChange : function(component, event, helper, dept, index) {
        var cmpId = 'select_'+dept;
        var myId;
        var o1Id;
        var o2Id;
@@ -194,7 +132,7 @@
            myId = cmpId + '1';
            o1Id = cmpId + '2';
            o2Id = cmpId + '3';
        } else if (index == 2) {
        } else if (index == 2){
            myId = cmpId + '2';
            o1Id = cmpId + '1';
            o2Id = cmpId + '3';
@@ -209,27 +147,22 @@
        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', '');
            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');
        action.setParams({ hospitalId: accid });
        action.setCallback(this, function (response) {
            var state = response.getState();
            if (state === 'SUCCESS') {
                var amountMap = response.getReturnValue();
    selectHos : function(component, event, helper) {
        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") {
                var amountMap = response.getReturnValue();
                var GIProduct_Category1 = '';
                var GIProduct_Category2 = '';
                var GIProduct_Category3 = '';
@@ -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_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);
                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_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);
                }
                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_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);
                }
                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,38 +250,25 @@
                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 = '';
                var GSProduct_Category3 = '';
@@ -384,30 +278,22 @@
                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_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);
                    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_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);
                var UROProduct_Category1 = '';
                var UROProduct_Category2 = '';
                var UROProduct_Category3 = '';
@@ -415,38 +301,26 @@
                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 = '';
                var GYNProduct_Category3 = '';
@@ -454,38 +328,26 @@
                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__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 = '';
                var ENTProduct_Category3 = '';
@@ -493,48 +355,32 @@
                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);
            }
        });
        $A.enqueueAction(action);
        console.log(
            JSON.stringify(
                component.find('input-hos').get('v.body')[0].get('v')
            )
        );
                }
                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')));
    },
    getOCMTerm: function () {
    getOCMTerm : function() {
        var today = new Date();
        var year = today.getFullYear();
        var month = today.getMonth();
@@ -545,243 +391,203 @@
        return thisYearOCMPeriod;
    },
    createTarget: function (component, event, helper) {
        var action = component.get('c.createSFTarget');
        // alert(component.get("v.GIAmount"));
    createTarget : function(component, event, helper) {
        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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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 == '') {
        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 == "") {
            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')
        });
        action.setCallback(this, function (response) {
            console.warn(response);
            var state = response.getState();
            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');
        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")
                        });
        action.setCallback(this, function(response) {
            console.warn(response);
            var state = response.getState();
            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");
                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') {
                var errors = response.getError();
                var toastEvent = $A.get('e.force:showToast');
            } else if (state === "ERROR") {
                var errors = response.getError();
                var toastEvent = $A.get("e.force:showToast");
                toastEvent.setParams({
                    title: '错误',
                    type: 'error',
                    title: "错误",
                    type:"error",
                    message: errors[0].message
                });
                toastEvent.fire();
            }
        });
        $A.enqueueAction(action);
            }
        });
        $A.enqueueAction(action);
    },
    warning: function (message) {
        var toastEvent = $A.get('e.force:showToast');
    warning : function(message) {
        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");
        toastEvent.setParams({
            title: "错误!",
            message: message,
            type:"error",
            duration : "10000"
        });
        toastEvent.fire();
    },
    error: function (message) {
        var toastEvent = $A.get('e.force:showToast');
        toastEvent.setParams({
            title: '错误!',
            message: message,
            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-m-left_xx-large">
                <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,99 +63,56 @@
        </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-m-left_xx-large">
                <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>
        <div class="slds-modal__header">
    <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 style="height: 300px; overflow-x: scroll">
                                <lightning:datatable
                                    keyField="id"
                                    data="{! v.errorData }"
                                    columns="{! v.errorColumns }"
                                    hideCheckboxColumn="true"
                                    minColumnWidth="120"
                                />
                        <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"/>
                            </div>
                        </div>
                    </aura:if>
                </aura:set>
            </aura:if>
        </div>
    </div>
    <!-- 批量添加周报 end-->
</aura:component>
</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');
        helper.readFile(component, helper, files[0]);
    CreateRecord : function(component, event, helper){
        var files = event.getSource().get("v.files");
        helper.readFile(component,helper,files[0]);
    },
    processFileContent: function (component, event, helper) {
        component.set('v.showErrorInfo', false);
        helper.saveRecords(component, event, helper);
    processFileContent : function(component,event,helper){
        component.set("v.showErrorInfo",false);
        helper.saveRecords(component,event,helper);
    },
    cancel: function (component, event, helper) {
        component.set('v.showMain', true);
    cancel : function(component,event,helper){
        component.set("v.showMain",true);
    },
    exportErrorInfo: function (component, event, helper) {
    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,178 +99,146 @@
                    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',
                            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++) {
                    for(var i = 0; i < errorDatas.length; i++){
                        let data = fileContentData[errorDatas[i].errorRow];
                        console.log('data = ' + JSON.stringify(data));
                        for (var j = 0; j < data.split(',').length; j++) {
                            let label = 'field' + j;
                            errorDatas[i][label] = data.split(',')[j];
                        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') {
            }
            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 = [
                            {
                                errorRow: '1',
                                errorInfo: errors[0].message
                            }
                        ];
                        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 () {
                $A.util.addClass(component.find('successDiv01'), 'slds-hide');
            }),
        window.setTimeout($A.getCallback(function () {
            $A.util.addClass(component.find('successDiv01'), 'slds-hide');
        }),
            3000
        );
    },
    //弹出 错误提示
    showErrorToast: function (component) {
        $A.util.removeClass(component.find('errorDiv'), 'slds-hide');
        window.setTimeout(
            $A.getCallback(function () {
                $A.util.addClass(component.find('errorDiv'), 'slds-hide');
            }),
            4000
        window.setTimeout($A.getCallback(function () {
            $A.util.addClass(component.find('errorDiv'), 'slds-hide');
        }),
            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();
    },
@@ -290,7 +249,7 @@
        var datas = [];
        let errorColumnsArray = [];
        for (var i in errorColumns) {
        for(var i in errorColumns){
            errorColumnsArray.push(errorColumns[i].label);
        }
        datas.push(errorColumnsArray);
@@ -298,22 +257,22 @@
        for (var i in errorData) {
            let data = [];
            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].errorRow)
            data.push(errorData[i].errorInfo)
            for(var j = 0 ; j < Object.keys(errorData[i]).length - 2 ; 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,43 +5,36 @@
  @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:attribute name="recordId" type="Id" default="" />
    <aura:attribute name="recordTypeId" type="Id" default="" />
    <aura:attribute name="ac_name" type="string" />
    <aura:attribute name="title" type="string" />
<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"/>
    <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="showSpinner2" 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" />
    <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="showSpinner2" 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:attribute name="isModalOpen" type="boolean" default="false" />
    <aura:attribute name="searchKeyWord" type="string" default="" />
    <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="isModalOpen" type="boolean" default="false"/>
    <aura:attribute name="searchKeyWord" type="string" default=""/>
    <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="agencyHospitalId" type="String" default = ""/>
    <div class="{! v.container_class}">
    <div class="{! v.container_class}">
        <!-- header -->
        <header class="slds-modal__header">
            <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate">
@@ -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>
@@ -117,117 +74,82 @@
                    </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  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"
            >
                <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__dot-a"></div>
                            <div class="slds-spinner__dot-b"></div>
                        </div>
                    </div>
                </aura:renderIf>
            <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" >
                <div class="slds-modal__container">
                    <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__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"
                                />
                            <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"/>
                            </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}"
                                />
                            <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}"/>
                            </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">
                                <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"
                        >
                            <c:NewAgencyContact2 />
                        </section>
                    </aura:if>
                </div>
            </section>
            <div class="slds-backdrop slds-backdrop_open"></div>
        </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>
</aura:component>
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>54.0</apiVersion>
    <description>A Lightning Component Bundle</description>
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css
@@ -1,26 +1,26 @@
.THIS {
}
.THIS .name {
    margin-right: 0.5cm;
.THIS .name{
    margin-right:0.5cm;
}
.THIS .wh {
.THIS .wh{
    width: 670px;
    height: 500px;
}
.THIS .slds-modal__container {
    max-width: 70rem !important;
    width: 90% !important;
.THIS .slds-modal__container{
    max-width:70rem !important;
    width:90% !important;
}
.THIS .modal-body {
    height: 500px !important;
.THIS .modal-body{
    height : 500px !important;
    max-height: 500px !important;
}
.THIS table {
.THIS table{
    border-collapse: collapse;
    border-spacing: 0;
    width: 98%;
@@ -28,16 +28,16 @@
    /* border: 1px solid #000000; */
    text-align: center;
}
.THIS tr {
.THIS tr{
    /* border: 1px solid #000000; */
    text-align: center;
}
.THIS td {
.THIS td{
    /* border: 1px solid #000000; */
    text-align: center;
}
.THIS th {
.THIS th{
    /* border: 1px solid #000000; */
    text-align: center;
}
@@ -48,7 +48,7 @@
    height: 80px;
}
.THIS.exampleHolder {
.THIS.exampleHolder{
    position: relative;
    display: inline-block;
    margin-left: 15px;
@@ -57,11 +57,23 @@
    white-space: nowrap;
}
.THIS .searchButton {
    margin-top: 20px;
    margin-left: 20px;
.THIS .searchButton{
    margin-top:20px;
    margin-left:20px;
}
.THIS .slds-spinner_container {
.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,188 +1,164 @@
({
    doInit: function (component, event, helper) {
    doInit : function(component, event, helper) {
        let rid = component.get('v.recordId');
        let pid = null;
        if (!rid) {
            pid = window.location.href.replace('https://', '').split('/')[4];
        if(!rid){
            pid = window.location.href.replace("https://","").split("/")[4];
        }
        let record_type_id = '';
        let pageref = component.get('v.pageReference');
        if (!record_type_id && pageref) {
            record_type_id = pageref.state.recordTypeId
                ? pageref.state.recordTypeId
                : '';
        let pageref = component.get("v.pageReference")
        if(!record_type_id && pageref){
            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);
        } else {
            component.set('v.title', $A.get('$Label.c.Edit') + '经销商询价');
        if(!rid || isClone){
            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")+'经销商询价');
        }
        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',
            {
                rid: rid,
                pid: pid,
                //rid : component.get('v.recordId'),
                record_type_id: record_type_id
            },
            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 (rv.IsSuccess) {
                        debugger;
                        let layout = JSON.parse(rv.Data.layout);
                        debugger;
                        let fields = rv.Data.fields;
                        debugger;
                        let staticResource = JSON.parse(rv.Data.staticResource);
                        debugger;
                        let section_names = layout.map((s) => s.label);
                        debugger;
                        // let awsData = rv.Data.awsDataIds;
                        // section_names = layout.map(s=>s.label);
                        component.set('v.section_names', section_names);
                        component.set('v.layout', layout);
                        component.set('v.fields', fields);
                        component.set('v.staticResource', staticResource);
                        debugger;
                        let m = {};
                        for (let f of staticResource.PIDetails) {
                            m[f.SF_Field_API_Name__c] = f;
                        }
                        component.set('v.pi_fields_map', m);
                        if (rv.Data && rv.Data.data) {
                            debugger;
                            console.log('rv.Data.data = ' + rv.Data.data);
                            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];
                                        }
                                    }
                                }
                            }
                            // 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) {
                                            console.log('data = ' + data);
                                            if (data.object) {
                                                component.set(
                                                    'v.ac_name',
                                                    data.object.name
                                                );
                                            }
                                        },
                                        staticResource.token
                                    );
                                }
                            }
                            // }, staticResource.token);
                        } else {
                            debugger;
                            console.log('rv.Data.data = ' + rv.Data.data);
                            console.log('layout = ' + layout);
                            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;
                                        }
                                    }
                                }
                            }
                            debugger;
                            // component.set('v.layout',layout);
                        }
                        // component.set('v.fields',fields);
                        // component.set('v.staticResource',staticResource);
                        component.set('v.showSpinner', false);
                    } else {
                        component.set('v.showSpinner', false);
                        helper.ShowToast({
                            message: rv.Message,
                            type: 'error'
                        });
        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){
            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(rv.IsSuccess){
                    debugger;
                    let layout = JSON.parse(rv.Data.layout);
                    debugger;
                    let fields = rv.Data.fields;
                    debugger;
                    let staticResource = JSON.parse(rv.Data.staticResource)
                    debugger;
                    let section_names = layout.map(s=>s.label);
                    debugger;
                    // let awsData = rv.Data.awsDataIds;
                    // section_names = layout.map(s=>s.label);
                    component.set('v.section_names',section_names);
                    component.set('v.layout',layout);
                    component.set('v.fields',fields);
                    component.set('v.staticResource',staticResource);
                    debugger;
                    let m = {};
                    for(let f of staticResource.PIDetails){
                        m[f.SF_Field_API_Name__c] = f;
                    }
                } else {
                    component.set('v.showSpinner', false);
                    component.set('v.pi_fields_map',m);
                    if(rv.Data && rv.Data.data ){
                        debugger;
                        console.log('rv.Data.data = ' + rv.Data.data);
                        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];
                                    }
                                }
                            }
                        }
                        // 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){
                                    console.log('data = ' + data);
                                    if (data.object) {
                                        component.set('v.ac_name',data.object.name);
                                    }
                                }, staticResource.token);
                            }
                        }
                        // }, staticResource.token);
                    }else{
                        debugger;
                        console.log('rv.Data.data = ' + rv.Data.data);
                        console.log('layout = ' + layout);
                        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;
                                    }
                                }
                            }
                        }
                        debugger;
                        // component.set('v.layout',layout);
                    }
                    // component.set('v.fields',fields);
                    // component.set('v.staticResource',staticResource);
                    //component.set("v.showSpinner", false);
                }else{
                    component.set("v.showSpinner", false);
                    helper.ShowToast({
                        message: 'Init error',
                        type: 'error'
                        "message" : rv.Message,
                        "type" : "error"
                    });
                }
            }else{
                component.set("v.showSpinner", false);
                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) {
    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');
        let isClone = component.get('v.isClone');
        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');
        let pi_fields_map = component.get('v.pi_fields_map');
        for (let s of layout) {
            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;
        for(let s of layout){
            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;
                    }
                    if (item.behavior == 'Required' && !item.value) {
                        let fs = component.find('field');
                        for (let fi in fs) {
                    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')) {
                            if(!f.get('v.value')){
                                f.reset();
                            }
                        }
@@ -191,144 +167,139 @@
                }
            }
        }
        component.set('v.showSpinner', true);
        debugger;
        component.set("v.showSpinner", true);
        debugger
        let data = {};
        if (record_id && !isClone) {
        if(record_id && !isClone){
            data.Id = record_id;
        }
        for (let s of layout) {
            for (let c of s.layoutColumns) {
                for (let item of c.layoutItems) {
                    if (item.field && item.behavior != 'Readonly') {
        for(let s of layout){
            for(let c of s.layoutColumns){
                for(let item of c.layoutItems){
                    if(item.field && item.behavior != "Readonly"){
                        data[item.field] = item.value;
                    }
                }
            }
        }
        let x = 1;
        helper.CallBackAction(
            component,
            'Save',
            {
                data: data,
                transId: '1',
                recordTypeId: record_type_id
            },
            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'
                        });
                        if (record_id) {
                            $A.get('e.force:closeQuickAction').fire();
                            $A.get('e.force:refreshView').fire();
                        } else {
                            var sObjectEvent = $A.get(
                                'e.force:navigateToSObject'
                            );
                            sObjectEvent.setParams({
                                recordId: sfId
        helper.CallBackAction(component,'Save',{
                         data : data,
                         transId :'1',
                         recordTypeId:record_type_id
                     },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"
                                });
                                if (record_id){
                                    $A.get("e.force:closeQuickAction").fire();
                                    $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"
                                });
                            }
                        }else{
                            helper.ShowToast({
                                "message" : "Init error",
                                "type" : "error"
                            });
                            sObjectEvent.fire();
                        }
                    } else {
                        helper.ShowToast({
                            message: rv.Message,
                            type: 'error'
                        });
                    }
                } else {
                    helper.ShowToast({
                        message: 'Init error',
                        type: 'error'
                    });
                }
            }
        );
                     })
    },
    cancelClick: function (component, event, helper) {
        $A.get('e.force:closeQuickAction').fire();
    cancelClick : function(component, event, helper){
        $A.get("e.force:closeQuickAction").fire();
        //component.set("v.showNewAgencyContact", false);
    },
    searchAgencyContact: function (component, event, helper) {
    searchAgencyContact : function(component, event, helper){
        component.find('button').set('v.disabled', true);
        helper.resetTable();
        helper.preparePayloadForSearchAgencyContact(component, event, helper);
    },
    initContactTable: function (component, event, helper) {
        let cols = ['Name', 'AgencyHospital', 'DoctorDivision1', 'Type'];
    initContactTable : function(component, event, helper){
        let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
        let contactInfoList = [];
        let awsDataIds = [];
        let data = component.get('v.result');
        if (data.object) {
            for (var i = 0; i < data.object.length; i++) {
                if (data.object[i].dataId) {
        if(data.object){
            for(var i=0;i<data.object.length;i++){
                if(data.object[i].dataId){
                    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;
                    awsDataIds.push(contactInfo.AWSDataId);
                    contactInfo.sfRecordId = '';
                    contactInfoList.push(contactInfo);
                }
                }
            }
        }
        let AWSIdToSFIdMapValue = {};
    },
    openModel: function (component, event, helper) {
    openModel: function(component, event, helper) {
        let layout = component.get('v.layout');
        for (let s of layout) {
            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);
        for(let s of layout){
            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)
                        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) {
     },
     closeModel: function(component, event, helper) {
        // Set isModalOpen false
        component.set('v.isModalOpen', false);
    },
    saveDetails: function (component, event, helper) {
        //do something
        component.set('v.isModalOpen', false);
    },
    showNewAgency: function (component, event, helper) {
        //do something
        component.set('v.showNewAgencyContact', true);
    },
    closeAgencyContact: function (component, event, helper) {
        var message = event.getParam('showNewAgencyContact');
        component.set('v.showNewAgencyContact', message);
        component.set("v.isModalOpen", false);
     },
     saveDetails: function(component, event, helper) {
      //do something
        component.set("v.isModalOpen", false);
     },
    showNewAgency: function(component, event, helper) {
      //do something
        component.set("v.showNewAgencyContact", true);
     },
     closeAgencyContact: function(component, event, helper) {
        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,89 +1,69 @@
({
    CallBackAction: function (component, action_name, para, callback) {
        var action = component.get(
            'c.' + action_name.trimStart().replace('c.', '')
        );
        if (para) {
    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) {
        if(callback){
            action.setCallback(this,function(data){
                callback(data);
            });
        }
        $A.enqueueAction(action);
    },
    ShowToast: function (paras) {
        var toastEvent = $A.get('e.force:showToast');
    },
    ShowToast : function(paras){
        var toastEvent = $A.get("e.force:showToast");
        toastEvent.setParams(paras);
        toastEvent.fire();
    },
    AwsPost: function (postURL, data, callback, token) {
    AwsPost : function(postURL, data ,callback,token){
        let payloadForNewPI = '';
        if (typeof data == 'string') {
        if(typeof(data) == 'string'){
            payloadForNewPI = data;
        } else {
        }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
        );
        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') {
    AwsGet : function(url, data ,callback,token){
        if(typeof(data) == 'string'){
            url += data;
        } else {
        }else{
            let i = 0;
            for (let p in data) {
                url += i++ ? '&' : '?';
            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
        );
        AWSService.get(url,function(result){
            //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
            if(callback) callback(result);
        },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 = ['姓名', '医院', '医生区分(职务)', '分类'];
        headerTR.setAttribute('class','slds-line-height_reset');
        let colsHeader = [' ','姓名','医院', '医生区分(职务)','分类'];
        tableBody.appendChild(headerTR);
        for (let i = 0; i < colsHeader.length; i++) {
            let td = document.createElement('TH');
            td.width = '75';
            td.setAttribute('class', 'slds-truncate slds-border_right');
            td.setAttribute('class','slds-truncate slds-border_right');
            td.appendChild(document.createTextNode(colsHeader[i]));
            headerTR.appendChild(td);
        }
@@ -92,84 +72,94 @@
            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(contactInfoTemp.pi){
                    if (!contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)) {
                        continue;
                    }
                    if (j == 0 && contactsInfo[contactInfoTemp.AWSDataId]) {
                    if(j == 0 && contactsInfo[contactInfoTemp.AWSDataId] ){
                        td.id = contactsInfo[contactInfoTemp.AWSDataId].Id;
                    }
                } else {
                    }
                }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;
    redirectToParentPage : function(component, event, helper,obj){
        let agencyContactName = obj.currentTarget.value;
        let id = obj.currentTarget.id;
        component.set('v.ac_name', agencyContactName);
        component.set('v.ac_name',agencyContactName);
        let layout = component.get('v.layout');
        for (let s of layout) {
            for (let c of s.layoutColumns) {
                for (let item of c.layoutItems) {
                    if (item.field == 'Agency_Contact__c') {
        for(let s of layout){
            for(let c of s.layoutColumns){
                for(let item of c.layoutItems){
                    if(item.field == 'Agency_Contact__c'){
                        item.value = id;
                    }
                }
            }
        }
        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]);
            }
    resetTable : function(){
        // 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) {
    preparePayloadForSearchAgencyContact : function(component, event, helper){
        let that = this;
        let agencyHospitalId = '';
        let accountId = '';
        let layout = component.get('v.layout');
        for (let s of layout) {
            for (let c of s.layoutColumns) {
                for (let item of c.layoutItems) {
                    if (item.field == 'Agency_Hospital__c') {
        for(let s of layout){
            for(let c of s.layoutColumns){
                for(let item of c.layoutItems){
                    if(item.field == 'Agency_Hospital__c'){
                        agencyHospitalId = item.value;
                    }
                    if (item.field == 'Account_Opp__c') {
                    if(item.field == 'Account_Opp__c'){
                        accountId = item.value;
                    }
                }
@@ -177,165 +167,118 @@
        }
        var action = component.get('c.getAWSDataIds');
        action.setParams({
            agencyHospitalId: agencyHospitalId,
            accountId: accountId
            "agencyHospitalId" : agencyHospitalId,
            "accountId" : accountId
        });
        action.setCallback(this, function (response) {
        action.setCallback(this,function(response){
            var state = response.getState();
            if (state == 'SUCCESS') {
            if(state == 'SUCCESS'){
                var rv = response.getReturnValue();
                if (rv.Data.length == 0) {
                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;
                searchPayload.name = searchAgencyContactName;
                component.set('v.contactAWSIds', rv.Data);
                component.set('v.contactAWSIds',rv.Data);
                let staticResource = component.get('v.staticResource');
                let url = staticResource.searchUrl;
                let token = staticResource.token;
                this.AwsPost(
                    url,
                    searchPayload,
                    function (data) {
                        if (data.success) {
                            let cols = [
                                'Name',
                                'AgencyHospital',
                                'DoctorDivision1',
                                'Type'
                            ];
                            let contactInfoList = [];
                            let awsDataIds = [];
                            if (data.object.length == 0) {
                                component
                                    .find('button')
                                    .set('v.disabled', false);
                                that.ShowToast({
                                    message: '没有查询到该客户人员',
                                    type: 'warning'
                                });
                                return;
                            }
                            for (var i = 0; i < data.object.length; i++) {
                                if (data.object[i].dataId) {
                                    let contactInfo = new Object();
                                    //需要修改
                                    contactInfo.Name = data.object[i].name;
                                    contactInfo.AgencyHospital = '';
                                    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);
                                    contactInfo.sfRecordId = '';
                                    contactInfoList.push(contactInfo);
                                }
                            }
                            //let AWSIdToSFIdMapValue = {};
                            var searchAgencyContacts = component.get(
                                'c.searchAgencyContacts'
                            );
                            searchAgencyContacts.setParams({
                                awsAgencyContactIds: JSON.stringify(awsDataIds),
                                agencyHospitalId: agencyHospitalId,
                                accountId: accountId
                this.AwsPost(url,searchPayload,function(data){
                    if(data.success){
                        let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
                        let contactInfoList = [];
                        let awsDataIds = [];
                        if(data.object.length == 0){
                            component.find('button').set('v.disabled', false);
                            that.ShowToast({
                                "message" : '没有查询到该客户人员',
                                "type" : "warning"
                            });
                            searchAgencyContacts.setCallback(
                                this,
                                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']
                                                            ];
                                                        if (contactFromSF) {
                                                            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'
                                                                    ];
                                                            }
                                                        }
                            component.set('v.showSpinner',false);
                            return
                        }
                        for(var i=0;i<data.object.length;i++){
                            if(data.object[i].dataId){
                                let contactInfo = new Object();
                                //需要修改
                                contactInfo.Name = data.object[i].name;
                                contactInfo.AgencyHospital = '';
                                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);
                                contactInfo.sfRecordId = '';
                                contactInfoList.push(contactInfo);
                            }
                        }
                        //let AWSIdToSFIdMapValue = {};
                        debugger
                        var searchAgencyContacts = component.get('c.searchAgencyContacts');
                        searchAgencyContacts.setParams({
                            "awsAgencyContactIds" : JSON.stringify(awsDataIds),
                            "agencyHospitalId" : agencyHospitalId,
                            "accountId" : accountId
                        });
                        // 延迟执行一段代码
                        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']];
                                                if(contactFromSF){
                                                    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'];
                                                    }
                                                }
                                            }
                                            that.refreshTable(
                                                component,
                                                event,
                                                helper,
                                                cols,
                                                contactInfoList,
                                                contactsInfo
                                            );
                                        }
                                    }
                                    that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo);
                                    component.set('v.showSpinner',false);
                                }
                            );
                            $A.enqueueAction(searchAgencyContacts);
                        }
                    },
                    token
                );
                            }
                        });
                        $A.enqueueAction(searchAgencyContacts);
                    }else{
                        component.set('v.showSpinner',false);
                    }
                },token);
            }
        });
        $A.enqueueAction(action);
    }
});
})
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js
@@ -1,3 +1,5 @@
({
    // Your renderer method overrides go here
});
// 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-m-left_xx-large">
                    <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>
@@ -498,244 +322,127 @@
                </div>
            </div>
        </div> -->
        <div class="slds-modal__container">
            <div class="slds-modal__header">
        <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 style="height: 300px; overflow-x: scroll">
                                    <lightning:datatable
                                        keyField="id"
                                        data="{! v.errorData }"
                                        columns="{! v.errorColumns }"
                                        hideCheckboxColumn="true"
                                    />
                            <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" />
                                </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-m-left_xx-large">
                        <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-m-left_xx-large">
                        <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>
</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;
@@ -199,4 +199,4 @@
.THIS td {
    white-space: normal;
    overflow-wrap: break-word;
}
}
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,107 +49,80 @@
    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');
            //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");
            }
            //SWAG-CF58C3 fy end
            //SWAG-CF58C3 fy end
        });
        if (!showValidationError) {
            //SWAG-CF58C3 fy start
            //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',
                {
                    hospitalId: agencyHospitalid
                },
                function (data) {
                    if (data.getState() == 'SUCCESS') {
                        var data = data.getReturnValue();
                        if (data.IsSuccess == true) {
                            let agencyContactIds = '';
                            if (
                                data.Message == '' &&
                                data.Data &&
                                data.Data.length > 0
                            ) {
                                hospitalName =
                                    data.Data[0].Agency_Hospital__r.Name;
                                for (var i = 0; i < data.Data.length; i++) {
                                    if (data.Data[i].AWS_Data_Id__c)
                                        agencyContactIds +=
                                            ',' + data.Data[i].AWS_Data_Id__c;
                                }
                                agencyContactIds =
                                    agencyContactIds.substring(1);
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            } else {
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
            helper.CallBackAction(component, 'searchAgencyDataId', {
                hospitalId: agencyHospitalid
            }, function (data) {
                if (data.getState() == "SUCCESS") {
                    var data = data.getReturnValue();
                    if (data.IsSuccess == true) {
                        let agencyContactIds = ''
                        if (data.Message == '' && data.Data && data.Data.length > 0) {
                            hospitalName = data.Data[0].Agency_Hospital__r.Name;
                            for (var i = 0; i < data.Data.length; i++) {
                                if (data.Data[i].AWS_Data_Id__c)
                                    agencyContactIds += ',' + data.Data[i].AWS_Data_Id__c;
                            }
                            var arr = new Array();
                            arr.push(agencyReport);
                            var requestData = JSON.stringify(arr);
                            // helper.set_aws_url(component,data,agencyHospitalid);
                            var token = component.get('v.AWStoken');
                            var newUrl = component.get('v.AWSinsert') + 'V2';
                            component.set('v.login', true);
                            helper.insert_agencycontact(
                                component,
                                token,
                                newUrl,
                                requestData,
                                agencyHospitalid,
                                helper,
                                hospitalName
                            );
                            agencyContactIds = agencyContactIds.substring(1);
                            agencyReport['agencyContactIds'] = agencyContactIds;
                        } else {
                            helper.ShowToast({
                                message: data.message,
                                type: 'error'
                            });
                            agencyReport['agencyContactIds'] = agencyContactIds;
                        }
                        var arr = new Array();
                        arr.push(agencyReport);
                        var requestData = JSON.stringify(arr);
                        // helper.set_aws_url(component,data,agencyHospitalid);
                        var token = component.get('v.AWStoken');
                        var newUrl = component.get('v.AWSinsert') + 'V2';
                        component.set('v.login', true);
                        helper.insert_agencycontact(component, token, newUrl, requestData, agencyHospitalid, helper, hospitalName);
                    } else {
                        helper.ShowToast({
                            message: 'searchAgency失败',
                            type: 'error'
                            "message": data.message,
                            "type": "error"
                        });
                    }
                } else {
                    helper.ShowToast({
                        "message": 'searchAgency失败',
                        "type": "error"
                    });
                }
            );
            })
            //zhj MEBG新方案改造 2022-11-29 end
            // var arr = new Array();
            // arr.push(agencyReport);
@@ -158,7 +131,7 @@
            // var newUrl = component.get('v.AWSinsert');
            // component.set('v.login',true);
            // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
            //SWAG-CF58C3 fy end
            //SWAG-CF58C3 fy end
            // helper.newlyBuild(component, event, helper);
        } else {
            component.find('OppMessage').setError(vaildationFailReason);
@@ -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.target = '_self'; //
        hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .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,77 +1,53 @@
<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 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: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" />
    <aura:attribute name="OCMSale_Price__c_o" type="String" />
    <aura:attribute name="StageName__c_o" type="String" />
    <aura:attribute name="fieldsmap" type="Map" />
    <aura:attribute name="alldata" type="List" />
    <aura:attribute name="allselectlist" type="Map" />
    <aura:attribute name="doclist" type="List" />
    <aura:attribute name="docmap" type="Map" />
    <aura:attribute name="login" type="Boolean" default="false" />
    <aura:attribute name="Close_Forecasted_Date__c_o" type="Date"/>
    <aura:attribute name="Amount__c_o" type="String"/>
    <aura:attribute name="OCMSale_Price__c_o" type="String"/>
    <aura:attribute name="StageName__c_o" type="String"/>
    <aura:attribute name="fieldsmap" type="Map"/>
    <aura:attribute name="alldata" type="List"/>
    <aura:attribute name="allselectlist" type="Map"/>
    <aura:attribute name="doclist" type="List"/>
    <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="loadOpp" type="Boolean" default="false" />
    <aura:attribute name="reportPageData" type="Map" />
    <aura:attribute name="selectbody" type="String" />
    <aura:attribute name="report_date_list" type="Map" />
    <aura:attribute name="selected_date" type="String" />
    <aura:attribute name="selected_agency_person" type="String" />
    <aura:attribute name="agency_report_header" type="String" />
    <aura:attribute name="agency_report_header_id" type="String" />
    <aura:attribute name="result" type="String" default="" />
    <aura:attribute name="hospital" type="string" default="" />
    <aura:attribute name="hospitalId" type="string" default="" />
    <aura:attribute name="hospitalLinkId" type="string" default="" />
    <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}" />
    <aura:attribute name="loadOpp" type="Boolean" default="false"/>
    <aura:attribute name="reportPageData" type="Map"/>
    <aura:attribute name="selectbody" type="String"/>
    <aura:attribute name="report_date_list" type="Map"/>
    <aura:attribute name="selected_date" type="String"/>
    <aura:attribute name="selected_agency_person" type="String"/>
    <aura:attribute name="agency_report_header" type="String"/>
    <aura:attribute name="agency_report_header_id" type="String"/>
    <aura:attribute name="result" type="String" default=""/>
    <aura:attribute name="hospital" type="string" default=""/>
    <aura:attribute name="hospitalId" type="string" default=""/>
    <aura:attribute name="hospitalLinkId" type="string" default=""/>
    <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}"/>
    <aura:attribute name="hospitalList" type="Map" />
    <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:attribute name="edit_copy_select_report_id" type="String" />
    <aura:attribute name="create_agency_report_id" type="String" />
    <aura:attribute name="reports" type="List" />
    <aura:attribute name="reports_now" type="List" />
    <aura:attribute name="reports_now_count" type="Integer" />
    <aura:attribute name="mode" type="String" />
    <aura:attribute name="select_report_data" type="Map" />
    <aura:attribute name="select_report_data_radio" type="Map" />
    <aura:attribute name="default_select_doctor_id" type="String" />
    <aura:attribute name="default_select_opportunity_id" type="String" />
    <aura:attribute name="report_count" type="Integer" />
    <aura:attribute name="dialog_type" type="String" />
    <aura:attribute name="truthy" type="Boolean" default="false" />
    <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:attribute name="edit_copy_select_report_id" type="String"/>
    <aura:attribute name="create_agency_report_id" type="String"/>
    <aura:attribute name="reports" type="List"/>
    <aura:attribute name="reports_now" type="List"/>
    <aura:attribute name="reports_now_count" type="Integer"/>
    <aura:attribute name="mode" type="String"/>
    <aura:attribute name="select_report_data" type="Map"/>
    <aura:attribute name="select_report_data_radio" type="Map"/>
    <aura:attribute name="default_select_doctor_id" type="String"/>
    <aura:attribute name="default_select_opportunity_id" type="String"/>
    <aura:attribute name="report_count" type="Integer"/>
    <aura:attribute name="dialog_type" type="String"/>
    <aura:attribute name="truthy" type="Boolean" default="false"/>
    <aura:attribute name="list_message" type="String" default="搜索" />
    <aura:attribute name="confirm_status" type="Integer" default="0" />
    <aura:attribute name="modal_confirm_title" type="String" />
@@ -81,46 +57,30 @@
    <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" />
    <aura:attribute name="fileContentData" type="String"/>
    <aura:attribute name="filename" type="String"/>
    <!-- It will display 100 records . Change for your requirement-->
    <aura:attribute name="NumOfRecords" type="Integer" default="1000" />
    <aura:attribute name="showMain" type="Boolean" default="true" />
    <aura:attribute name="NumOfRecords" type="Integer" default="1000"/>
    <aura:attribute name="showMain" type="Boolean" default="true"/>
    <!-- PIPL update Yin Mingjie 21/02/2022 start -->
    <aura:attribute name="AWStoken" type="String" />
    <aura:attribute name="AWSsearch" type="String" />
    <aura:attribute name="AWSinsert" type="String" />
    <aura:attribute name="AWStransactionURL" type="String" />
    <aura:attribute name="AWSDoctor2Map" type="String" />
    <aura:attribute name="awsurl" type="Map" />
    <aura:attribute name="contactawsurl" type="Map" />
    <aura:attribute name="allselectlistAgencyPerson" type="Map" />
    <aura:attribute name="AWStoken" type="String"/>
    <aura:attribute name="AWSsearch" type="String"/>
    <aura:attribute name="AWSinsert" type="String"/>
    <aura:attribute name="AWStransactionURL" type="String"/>
    <aura:attribute name="AWSDoctor2Map" type="String"/>
    <aura:attribute name="awsurl" type="Map"/>
    <aura:attribute name="contactawsurl" type="Map"/>
    <aura:attribute name="allselectlistAgencyPerson" type="Map"/>
    <!-- PIPL update Yin Mingjie 21/02/2022 end -->
    <!-- start DTT-zhj 增加错误信息table 2023-05-16-->
@@ -133,17 +93,14 @@
    <!-- 批量添加周报 end-->
    <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
    <ltng:require scripts="{! $Resource.jquery183minjs }" />
    <!--ロード中...-->
    <aura:renderIf isTrue="{!v.login}">
        <aura:renderIf isTrue="{!!v.loginEdit}">
            <!-- 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>
@@ -152,172 +109,81 @@
            </div>
        </aura:renderIf>
    </aura:renderIf>
    <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 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 class="slds-modal__container">
    <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">
            <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}"
                        />
                        <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 label="保存" variant="brand" onclick="{!c.processFileContent}"
                                              />
                            <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 style="height: 300px; overflow-x: scroll">
                                    <lightning:datatable
                                        keyField="id"
                                        data="{! v.errorData }"
                                        columns="{! v.errorColumns }"
                                        hideCheckboxColumn="true"
                                    />
                            <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" />
                                </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-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">
                            活动日开始日期
                            <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}"
                            />
                            <lightning:button
                                label="取消"
                                variant="brand"
                                onclick="{!c.close_export}"
                            />
                        <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>
                    <!-- <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}"
                        />
                        <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 class="slds-modal__container">
    <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-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" >
                            活动日
                            <!-- <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>
@@ -682,379 +380,176 @@
                                </ul>
                            </div>
                        </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"
                        >
                            <br />
                            <ui:button
                                label="新建"
                                class="slds-button"
                                press="{!c.createCon}"
                                disabled="true"
                                aura:id="new_con"
                            />
                        <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"/>
                        </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>
                        <!-- 活动区分 -->
                        <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=""
                                object="Agency_Opportunity__c"
                                searchField="Name"
                                placeholder="搜索经销商询价..."
                                iconName="standard:opportunity"
                                subtitleField="Department_Cateogy__c,Agency_Opportunity_No__c,Change_To_Opportunity__r.Name"
                                order="StageName__c"
                                limit="5"
                                loadingMessage="Loading..."
                                errorMessage="Invalid input"
                                allowNewRecords="true"
                                overrideNewEvent="true"
                                showRecentRecords="true"
                                value="{!v.data.Opportunity__c}"
                                filter="{!v.opportunity_cfilter}"
                                subTitleFormat="{0}+{1}+{2}"
                            />
                            <c:strike_lookup label=""
                                    object="Agency_Opportunity__c"
                                    searchField="Name"
                                    placeholder="搜索经销商询价..."
                                    iconName="standard:opportunity"
                                    subtitleField="Department_Cateogy__c,Agency_Opportunity_No__c,Change_To_Opportunity__r.Name"
                                    order="StageName__c"
                                    limit="5"
                                    loadingMessage="Loading..."
                                    errorMessage="Invalid input"
                                    allowNewRecords = "true"
                                    overrideNewEvent = "true"
                                    showRecentRecords ="true"
                                    value="{!v.data.Opportunity__c}"
                                    filter="{!v.opportunity_cfilter}"
                                    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,112 +562,58 @@
            </div>
        </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">
            <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:messages aura:id="OppMessage" />
                <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>
                    <br />
                    <br />
                    <br />
                    <br />
                    <br />
                    <br/>
                    <br/>
                    <br/>
                    <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>
                </lightning:recordEditForm>
            </div>
        </div>
    </div>
</aura:component>
</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;
@@ -99,72 +99,71 @@
.THIS .animation_on {
    opacity: 1;
}
.THIS .divbotuser {
    width: fit-content;
.THIS .divbotuser{
    width:fit-content;
}
.THIS .toastMessage.forceActionsText {
    white-space: pre-line !important;
.THIS .toastMessage.forceActionsText{
    white-space : pre-line !important;
}
.THIS .slds-file-selector__dropzone .slds-file-selector__text {
.THIS .slds-file-selector__dropzone .slds-file-selector__text{
    display: none;
}
.THIS .slds-input:focus,
.THIS .slds-input:active {
    border-color: rgb(216, 221, 230);
    box-shadow: none;
.THIS .slds-input:focus, .THIS .slds-input:active {
     border-color: rgb(216, 221, 230);
     box-shadow: none;
}
.THIS .customRequired {
    font-weight: 400;
.THIS .customRequired{
     font-weight: 400;
}
.THIS .customRequired:before{
     content: "*";
     margin: 0 0.125rem 0 0.125rem;
     color: rgb(194, 57, 52);
     float: left;
}
.THIS .none{
     display:none;
}
.THIS .customRequired:before {
    content: '*';
    margin: 0 0.125rem 0 0.125rem;
    color: rgb(194, 57, 52);
    float: left;
}
.THIS .none {
.THIS tr .decrypt{
    display: none;
}
.THIS tr .decrypt {
    display: none;
}
.THIS tr:hover .decrypt {
.THIS tr:hover .decrypt{
    display: unset;
}
.THIS tr:hover .encrypt {
.THIS tr:hover .encrypt{
    display: none;
}
/* add by Deloitte-Link 2023-6-19 start*/
.THIS .weeklyReportSpinner {
    top: 100px;
.THIS .weeklyReportSpinner{
    top:100px;
}
.THIS .weeklyReportSpinnerEdit {
    top: 50px;
.THIS .weeklyReportSpinnerEdit{
    top:50px;
}
.THIS .slds-spinner_container {
.THIS .slds-spinner_container{
    position: absolute;
    top: 100px;
    top:100px;
}
.THIS .slds-spinner_containerEdit {
.THIS .slds-spinner_containerEdit{
    position: absolute;
    top: 50px;
    top:50px;
}
.THIS .marginTop {
.THIS .marginTop{
    margin-top: 10px;
}
.THIS .custom-input .uiInput {
    height: 2rem;
    height: 2rem;
}
/* add by Deloitte-Link 2023-6-19 end*/
/* add by Deloitte-Link 2023-6-19 end*/
force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
@@ -1,58 +1,58 @@
({
    doInit: function (component, event, helper) {
    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) {
    createAopp : function(component, event, helper) {
        var addRecordEvent = $A.get('e.force:createRecord');
        addRecordEvent.setParams({
            entityApiName: 'Agency_Opportunity__c',
            recordTypeId: '012100000006KW7'
        });
        addRecordEvent.fire();
        component.set('v.showErrorInfo', false);
        component.set("v.showErrorInfo", false);
    },
    new_report: function (component, event, helper) {
    new_report : function(component, event, helper) {
        component.find('save_button').set('v.label', '保存并新建');
        component.set('v.data.Report_Date__c', '');
        helper.new_report(component, event, helper);
    },
    copy_button: function (component, event, helper) {
    copy_button : function(component, event, helper) {
        component.find('save_button').set('v.label', '保存并新建');
        helper.copy_button(component, event, helper);
    },
    change_report_radio: function (component, event, helper) {
    change_report_radio : function(component, event, helper) {
        helper.change_report_radio(component, event, helper);
    },
    edit_button: function (component, event, helper) {
    edit_button : function(component, event, helper) {
        component.find('save_button').set('v.label', '保存');
        helper.edit_button(component, event, helper);
    },
    createCon: function (component, event, helper) {
        helper.createCon(component, event, helper);
    createCon : function(component, event, helper) {
        helper.createCon(component, event, helper);
    },
    showRequiredFields: function (component, event, helper) {
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
    showRequiredFields: function(component, event, helper){
        $A.util.removeClass(component.find("newOpportunityField"), "none");
        $A.util.removeClass(component.find("newOpportunityField"), "none");
    },
    handleSuccess: function (component, event, helper) {
    handleSuccess : function(component, event, helper) {
        helper.handleSuccess(component, event, helper);
    },
    handleSubmit: function (component, event, helper) {
    handleSubmit : function(component, event, helper) {
        /*
        var params = event.getParams();
        params.fields["Agency_Hospital__c"] = component.get('v.hospitalLinkId');
@@ -63,44 +63,39 @@
        // 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);
        // PIPL update Yin Mingjie 21/02/2022 start
        let agencyReport = Object.create(null);
        // 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 += '医生区分(职务)不能为空!';
                } else {
                    vaildationFailReason = '医生区分(职务)不能为空!';
                if(vaildationFailReason != ''){
                    vaildationFailReason += "医生区分(职务)不能为空!";
                }else{
                    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
        });
        if (!showValidationError) {
            // PIPL update Yin Mingjie 21/02/2022 start
            /*
@@ -111,72 +106,50 @@
            var agencyHospitalid = component.get('v.hospitalLinkId');
            //zhj MEBG新方案改造 2022-11-29 start
            debugger;
            debugger
            let hospitalName = '';
            //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid
            helper.CallBackAction(
                component,
                'searchAgencyDataId',
                {
                    hospitalId: agencyHospitalid
                },
                function (data) {
                    if (data.getState() == 'SUCCESS') {
                        var data = data.getReturnValue();
                        if (data.IsSuccess == true) {
                            let agencyContactIds = '';
                            if (
                                data.Message == '' &&
                                data.Data &&
                                data.Data.length > 0
                            ) {
                                hospitalName =
                                    data.Data[0].Agency_Hospital__r.Name;
                                for (var i = 0; i < data.Data.length; i++) {
                                    if (data.Data[i].AWS_Data_Id__c)
                                        agencyContactIds +=
                                            ',' + data.Data[i].AWS_Data_Id__c;
                                }
                                agencyContactIds =
                                    agencyContactIds.substring(1);
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            } else {
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
            helper.CallBackAction(component,'searchAgencyDataId',{
                hospitalId : agencyHospitalid
            },function(data){
                if(data.getState() == "SUCCESS"){
                    var data = data.getReturnValue();
                    if(data.IsSuccess == true){
                        let agencyContactIds = ''
                        if(data.Message == '' && data.Data && data.Data.length > 0){
                            hospitalName = data.Data[0].Agency_Hospital__r.Name;
                            for(var i=0;i<data.Data.length;i++){
                                if(data.Data[i].AWS_Data_Id__c)
                                    agencyContactIds += ','+data.Data[i].AWS_Data_Id__c;
                            }
                            var arr = new Array();
                            arr.push(agencyReport);
                            var requestData = JSON.stringify(arr);
                            // helper.set_aws_url(component,data,agencyHospitalid);
                            var token = component.get('v.AWStoken');
                            var newUrl = component.get('v.AWSinsert') + 'V2';
                            component.set('v.loginEdit', true);
                            helper.insert_agencycontact(
                                component,
                                token,
                                newUrl,
                                requestData,
                                agencyHospitalid,
                                helper,
                                hospitalName
                            );
                        } else {
                            helper.ShowToast({
                                message: data.message,
                                type: 'error'
                            });
                            agencyContactIds = agencyContactIds.substring(1);
                            agencyReport['agencyContactIds'] = agencyContactIds;
                        }else{
                            agencyReport['agencyContactIds'] = agencyContactIds;
                        }
                    } else {
                        var arr = new Array();
                        arr.push(agencyReport);
                        var requestData = JSON.stringify(arr);
                        // helper.set_aws_url(component,data,agencyHospitalid);
                        var token = component.get('v.AWStoken');
                        var newUrl = component.get('v.AWSinsert') + 'V2';
                        component.set('v.loginEdit',true);
                        helper.insert_agencycontact(component,token,newUrl,requestData,agencyHospitalid,helper,hospitalName);
                    }else{
                        helper.ShowToast({
                            message: 'searchAgency失败',
                            type: 'error'
                            "message" : data.message,
                            "type" : "error"
                        });
                    }
                }else{
                    helper.ShowToast({
                        "message" : 'searchAgency失败',
                        "type" : "error"
                    });
                }
            );
            })
            //zhj MEBG新方案改造 2022-11-29 end
            // var arr = new Array();
            // arr.push(agencyReport);
@@ -185,12 +158,12 @@
            // var token = component.get('v.AWStoken');
            // var newUrl = component.get('v.AWSinsert');
            // component.set('v.login',true);
            // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
            // PIPL update Yin Mingjie 21/02/2022 end
        } else {
        }else{
            component.find('OppMessage').setError(vaildationFailReason);
        }
        // var eventFields = event.getParam("fields");
@@ -198,166 +171,156 @@
        // component.find('recordEditForm').submit(eventFields);
        // vivek 添加验证 end
    },
    createCancel: function (component, event, helper) {
    createCancel : function(component, event, helper) {
        helper.createCancel(component, event, helper);
    },
    yes_button: function (component, event, helper) {
    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) {
    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) {
    toggle_report : function(component, event, helper) {
        helper.toggle_report(component);
    },
    save_report: function (component, event, helper) {
    save_report : function(component, event, helper) {
        helper.save_report(component, event, helper);
    },
    select_date_change: function (component, event, helper) {
    select_date_change : function(component, event, helper) {
        helper.select_date_change(component, event, helper);
    },
    select_agency_change: function (component, event, helper) {
    select_agency_change : function(component, event, helper) {
        helper.select_agency_change(component, event, helper);
    },
    hosChange: function (component, event, helper) {
        var hospital_name = event.getParam('value');
        if (hospital_name.match(/(\S+\s)+/)) {
            helper.searchHos(component, event, helper);
        } else {
            helper.hideSearch(component, event, helper);
        }
    hosChange : function(component, event, helper) {
        var hospital_name = event.getParam("value");
        if (hospital_name.match(/(\S+\s)+/)) {
            helper.searchHos(component, event, helper);
        } else {
            helper.hideSearch(component, event, helper);
        }
    },
    selectHos: function (component, event, helper) {
        helper.selectHos(component, event, helper);
    selectHos : function(component, event, helper) {
        helper.selectHos(component, event, helper);
        helper.setOpportunity_cfilter(component);
    },
    select_department: function (component, event, helper) {
    select_department : function(component, event, helper) {
        helper.select_department(component, event, helper);
        helper.setOpportunity_cfilter(component);
    },
    select_purpose_type: function (component, event, helper) {
    select_purpose_type : function(component, event, helper) {
        helper.select_purpose_type(component, event, helper);
    },
    doctor_change: function (component, event, helper) {
    doctor_change : function(component, event, helper) {
        helper.doctor_change(component, event, helper);
    },
    opportunityChange: function (component, event, helper) {
    opportunityChange : function(component, event, helper) {
        helper.opportunityChange(component, event, helper);
    },
    productcategoryChange1: function (component, event, helper) {
    productcategoryChange1 : function(component, event, helper) {
        helper.productcategoryChange1(component, event, helper);
    },
    productcategoryChange2: function (component, event, helper) {
    productcategoryChange2 : function(component, event, helper) {
        helper.productcategoryChange2(component, event, helper);
    },
    productcategoryChange3: function (component, event, helper) {
    productcategoryChange3 : function(component, event, helper) {
        helper.productcategoryChange3(component, event, helper);
    },
    stageNameChange: function (component, event, helper) {
    stageNameChange : function(component, event, helper) {
        helper.stageNameChange(component, event, helper);
    },
    onDragOver: function (component, event, helper) {
    onDragOver : function(component, event, helper) {
        event.preventDefault();
    },
    onDrop: function (component, event, helper) {
    onDrop : function(component, event, helper) {
        event.stopPropagation();
        event.preventDefault();
        event.dataTransfer.dropEffect = 'copy';
        var files = event.dataTransfer.files;
        helper.readFile(component, helper, files[0]);
        event.dataTransfer.dropEffect='copy';
        var files=event.dataTransfer.files;
        helper.readFile(component,helper,files[0]);
    },
    CreateRecord: function (component, event, helper) {
        var files = event.getSource().get('v.files');
    CreateRecord : function(component, event, helper){
        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);
        helper.readFile(component,helper,files[0]);
        component.set("v.showErrorInfo", false);
    },
    processFileContent: function (component, event, helper) {
        helper.saveRecords(component, event, helper);
        component.set('v.showErrorInfo', false);
    processFileContent : function(component,event,helper){
        helper.saveRecords(component,event,helper);
        component.set("v.showErrorInfo", false);
    },
    cancel : function(component,event,helper){
        component.set("v.showMain",true);
    },
    cancel: function (component, event, helper) {
        component.set('v.showMain', true);
    },
    import: function (component, event, helper) {
    import : function(component,event,helper){
        // component.find('file').click();
        // console.log('lll'+component.find('file'));
        helper.showImport(component);
    },
    exportDate: function (component, event, helper) {
        var stockData = component.get('v.reports_date');
        console.log('导出数据' + stockData);
        var csv = helper.convertArrayOfObjectsToCSV(component, stockData);
        if (csv == null) {
            return;
        }
    exportDate : function(component,event,helper){
        var stockData = component.get("v.reports_date");
        console.log('导出数据'+stockData);
        var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
        if (csv == null){return;}
        // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####
        var universalBOM = '\uFEFF';
        // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####
        var universalBOM = "\uFEFF";
        var hiddenElement = document.createElement('a');
        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]
        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) {
    export_condition : function(component,event,helper){
        helper.showExport(component);
    },
    select_repores_date: function (component, event, helper) {
        helper.select_repores_date(component, event, helper);
    select_repores_date : function(component,event,helper){
        helper.select_repores_date(component,event,helper);
        // var stockData = component.get("v.reports_date");
        // console.log('查出的数据'+stockData);
        // helper.showExportDate(component,stockData);
        // this.export(component,event,helper);
    },
    export: function (component, event, helper) {
    export : function(component,event,helper){
        console.log('进入export');
        var stockData = component.get('v.reports_date');
        console.log('查出的数据' + stockData);
        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);
    close_import : function(component,event,helper){
        component.set("v.showMain",true);
        helper.close_import(component);
    },
    close_export: function (component, event, helper) {
        component.set('v.showMain', true);
    close_export : function(component,event,helper){
        component.set("v.showMain",true);
        helper.close_export(component);
    },
    exportErrorInfo: function (component, event, helper) {
    exportErrorInfo: function(component,event,helper){
        helper.exportErrorInfoHelper(component);
    }
});
    },
})
force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
Diff too large
force-app/main/default/classes/ArriveGoodsController.cls
Diff too large
force-app/main/default/classes/ArriveGoodsControllerTest.cls
@@ -1,49 +1,26 @@
@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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -120,59 +81,33 @@
            // 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() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
@@ -215,59 +134,30 @@
            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();
        }
    }
    //整体到货
    @isTest
    static void ArriveTest() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
        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 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';
@@ -386,7 +261,7 @@
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Send_Date__c =  Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.Box_Piece__c = '盒';
            Orderdet4.TracingCode__c = 'BXJRD';
@@ -404,11 +279,13 @@
            Orderdet5.Consumable_Shipment_order__c = Order1.Id;
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.Arrive_date__c =  Date.today();
            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,54 +300,31 @@
            System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
            // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
    //整体到货
    @isTest
    static void ArriveTest1() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        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 account[]{myAccount1,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;
        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())) {
        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 };
            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 };
        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 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';
@@ -588,7 +427,7 @@
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Send_Date__c =  Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            Orderdet4.SerialLotNo__c = '5ZK';
            //Orderdet4.Box_Piece__c = '盒';
@@ -604,11 +443,13 @@
            Orderdet5.Consumable_Shipment_order__c = Order1.Id;
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.Arrive_date__c =  Date.today();
            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,53 +464,34 @@
            System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
            // System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
    //返品
    @isTest
    static void productReturn() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -765,7 +571,7 @@
            Orderdet3.Consumable_Sale_order__c = Order1.Id;
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
            Orderdet3.Box_Piece__c = '盒';
            Orderdet3.Box_Piece__c ='盒';
            Orderdet3.TracingCode__c = 'BXJRF';
            //出库
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
@@ -780,7 +586,7 @@
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRN';
            Orderdet4.Box_Piece__c = '个';
            Orderdet4.Box_Piece__c ='个';
            Orderdet4.TracingCode__c = 'BXJRF';
            //quxiao
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
@@ -791,7 +597,7 @@
            Orderdet5.Cancellation_Date__c = Date.today();
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.Box_Piece__c ='盒';
            Orderdet5.TracingCode__c = 'BXJRF';
            //fanpin
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
@@ -802,10 +608,10 @@
            Orderdet6.Consumable_Return_order__c = Order2.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet6.Box_Piece__c = '个';
            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();
@@ -823,60 +629,37 @@
            //System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecordserror[2].esd.Name);
            //System.assertEquals('OCM_02_001001', controller.ConsumableorderdetailsRecordserror[3].esd.Name);
            Controller.GoodsReturnCheck();
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c = '多发';
            controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c = 1;
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c='多发';
            controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c =1;
            //System.assertEquals(1, controller.ShowGoodsofReturnList.size());
            Controller.UpdateGoodsOfReturn();
            Controller.ToReturnGoodsPage();
            Controller.geterrorsize();
            System.Test.stopTest();
        }
    }
    //返品
    @isTest
    static void productReturn_new() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -962,8 +729,8 @@
            Orderdet3.Consumable_Arrived_order__c = Order1.Id;
            //Orderdet3.IsArrival__c = true;
            Orderdet3.Consumable_Sale_order__c = Order1.Id;
            Orderdet3.Box_Piece__c = '盒';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Box_Piece__c ='盒';
            Orderdet3.Used_date__c= Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
@@ -978,7 +745,7 @@
            Orderdet4.Consumable_Arrived_order__c = Order1.Id;
            //Orderdet4.IsArrival__c = true;
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.Box_Piece__c = '个';
            Orderdet4.Box_Piece__c ='个';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
@@ -995,10 +762,10 @@
            Orderdet5.Cancellation_Flag__c = true;
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '个';
            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);
@@ -1011,12 +778,12 @@
            Controller.SearchPro();
            // System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
            System.assertEquals(2, controller.ShowGoodsofReturnList.size());
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c = '多发';
            controller.ShowGoodsofReturnList[1].esd.Return_reason__c = '多发';
            controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c = 1;
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c='多发';
            controller.ShowGoodsofReturnList[1].esd.Return_reason__c='多发';
            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,53 +846,30 @@
            list1.add(Controller.barcode = '0112345678901231106789012105625001234');
            Controller.inventoryEntryNoESetId(list1);
            System.Test.stopTest();
        }
    }
    //直接到货
    @isTest
    static void arrivedirect() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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,39 +877,22 @@
        // 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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //产品注册证
            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),
                RegisterNoClass_Old__c = '6815',
                RegisterNoClass_New__c = '6815',
                RegisterNoStatus__c = '有效'
            );
            Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
                                                              MedPrdClass__c = '3',
                                                              ValidFrom__c = date.newinstance(2018, 07, 22),
                                                              ValidTo__c = date.newinstance(2028, 07, 22),
                                                              RegisterNoClass_Old__c = '6815',
                                                              RegisterNoClass_New__c = '6815',
                                                              RegisterNoStatus__c = '有效'
                                                              );
            insert prc;
            //新旧关系对照表
            //Product_Register_contrast__c prcc = new Product_Register_contrast__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();
@@ -1261,47 +994,23 @@
    //直接到货
    @isTest
    static void arrivedirect241() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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,39 +1018,22 @@
        // 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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //产品注册证
            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),
                RegisterNoClass_Old__c = '6815',
                RegisterNoClass_New__c = '6815',
                RegisterNoStatus__c = '有效'
            );
            Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
                                                              MedPrdClass__c = '3',
                                                              ValidFrom__c = date.newinstance(2018, 07, 22),
                                                              ValidTo__c = date.newinstance(2028, 07, 22),
                                                              RegisterNoClass_Old__c = '6815',
                                                              RegisterNoClass_New__c = '6815',
                                                              RegisterNoStatus__c = '有效'
                                                              );
            insert prc;
            //新旧关系对照表
            //Product_Register_contrast__c prcc = new Product_Register_contrast__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;
            //订单
@@ -1368,20 +1066,20 @@
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01_002';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '到货';
            Order2.Order_type__c   = '到货';
            Order2.Dealer_Info__c = myAccount1.id;
            Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order2.Deliver_date__c = Date.today();
            Order2.Order_date__c = Date.today();
            Order2.Order_date__c   = Date.today();
            insert Order2;
            Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01_002';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '返品';
            Order2.Order_type__c   = '返品';
            Order2.Dealer_Info__c = myAccount1.id;
            Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order2.Deliver_date__c = Date.today();
            Order2.Order_date__c = Date.today();
            Order2.Order_date__c   = Date.today();
            Order2.ReturnGs_Upload_Date__c = Date.today();
            insert Order2;
@@ -1405,7 +1103,7 @@
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet1.Arrive_date__c = Date.today();
            Orderdet1.Rrturn_count__c = 1;
            Orderdet1.Rrturn_count__c =1;
            Orderdet1.TracingCode__c = '20170808';
            //daohuo
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
@@ -1442,7 +1140,7 @@
            Orderdet4.Consumable_Sale_order__c = Order2.Id;
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR3';
            Orderdet4.Used_date__c = Date.today();
            Orderdet4.Used_date__c =Date.today();
            Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001003';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
@@ -1453,7 +1151,7 @@
            Orderdet4.Consumable_Sale_order__c = Order2.Id;
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJ13';
            Orderdet4.Used_date__c = Date.today();
            Orderdet4.Used_date__c =Date.today();
            Orderdet4.TracingCode__c = '20170808';
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001003';
@@ -1469,8 +1167,8 @@
            Orderdet5.Send_Date__c = null;
            Orderdet5.Used_date__c = null;
            Orderdet5.Lose_Flag__c = false;
            Orderdet5.Return_date__c = null;
            Orderdet5.Cancellation_Date__c = Date.today().addDays(1);
            Orderdet5.Return_date__c= null;
            Orderdet5.Cancellation_Date__c= Date.today().addDays(1);
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.TracingCode__c = '20170808';
@@ -1485,10 +1183,10 @@
            Orderdet6.Consumable_Shipment_order__c = Order1.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR4';
            Orderdet6.Send_Date__c = Date.today();
            Orderdet6.Return_date__c = null;
            Orderdet6.Send_Date__c =  Date.today();
            Orderdet6.Return_date__c= null;
            Orderdet6.Box_Piece__c = '盒';
            Orderdet6.Rrturn_count__c = 1;
            Orderdet6.Rrturn_count__c =1;
            Orderdet6.TracingCode__c = '20170808';
            // 单位为个的Barcode对应的出库单
@@ -1502,13 +1200,13 @@
            Orderdet7.Consumable_Shipment_order__c = Order1.Id;
            Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR1';
            Orderdet7.Send_Date__c = Date.today();
            Orderdet7.Send_Date__c =  Date.today();
            Orderdet7.Box_Piece__c = '个';
            Orderdet7.Used_date__c = Date.today();
            Orderdet7.Return_date__c = null;
            Orderdet7.RemoveBox_No__c = 1;
            Orderdet7.Consumable_ZS_order__c = Order1.Id;
            Orderdet7.Rrturn_count__c = 1;
            Orderdet7.Used_date__c =  Date.today();
            Orderdet7.Return_date__c= null;
            Orderdet7.RemoveBox_No__c =1;
            Orderdet7.Consumable_ZS_order__c= Order1.Id;
            Orderdet7.Rrturn_count__c =1;
            Orderdet7.TracingCode__c = '20170808';
            Orderdet7 = new Consumable_order_details2__c();
@@ -1520,13 +1218,13 @@
            Orderdet7.Consumable_Shipment_order__c = Order1.Id;
            Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR7';
            Orderdet7.Send_Date__c = Date.today();
            Orderdet7.Send_Date__c =  Date.today();
            Orderdet7.Box_Piece__c = '个';
            Orderdet7.Used_date__c = Date.today();
            Orderdet7.Return_date__c = null;
            Orderdet7.RemoveBox_No__c = 1;
            Orderdet7.Consumable_ZS_order__c = Order1.Id;
            Orderdet7.Rrturn_count__c = 0;
            Orderdet7.Used_date__c =  Date.today();
            Orderdet7.Return_date__c= null;
            Orderdet7.RemoveBox_No__c =1;
            Orderdet7.Consumable_ZS_order__c= Order1.Id;
            Orderdet7.Rrturn_count__c =0;
            Orderdet7.TracingCode__c = '20170808';
            Consumable_order_details2__c Orderdet8 = new Consumable_order_details2__c();
@@ -1539,19 +1237,19 @@
            Orderdet8.Consumable_Shipment_order__c = Order1.Id;
            Orderdet8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR9';
            Orderdet8.Send_Date__c = Date.today();
            Orderdet8.Send_Date__c =  Date.today();
            Orderdet8.Box_Piece__c = '个';
            Orderdet8.Used_date__c = Date.today();
            Orderdet8.Return_date__c = null;
            Orderdet8.RemoveBox_No__c = 1;
            Orderdet8.Consumable_ZS_order__c = Order1.Id;
            Orderdet8.Rrturn_count__c = null;
            Orderdet8.RemoveBox_date__c = Date.today();
            Orderdet8.Used_date__c =  Date.today();
            Orderdet8.Return_date__c= null;
            Orderdet8.RemoveBox_No__c =1;
            Orderdet8.Consumable_ZS_order__c= Order1.Id;
            Orderdet8.Rrturn_count__c =null;
            Orderdet8.RemoveBox_date__c =  Date.today();
            Orderdet8.Intra_Trade_List_RMB__c = 1;
            Orderdet8.Sterilization_limit__c = Date.today();
            Orderdet8.SerialLotNo__c = '11批次';
            Orderdet8.Sterilization_limit__c =   Date.today();
            Orderdet8.SerialLotNo__c ='11批次';
            Orderdet8.TracingCode__c = '20170808';
            Orderdet8.Arrive_date__c = Date.today();
            Orderdet8.Arrive_date__c =  Date.today();
            Consumable_order_details2__c Orderdet9 = new Consumable_order_details2__c();
            Orderdet9.Name = 'OCM_01_001004';
@@ -1562,13 +1260,13 @@
            Orderdet9.Consumable_Shipment_order__c = Order1.Id;
            Orderdet9.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet9.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR8';
            Orderdet9.Send_Date__c = Date.today();
            Orderdet9.Send_Date__c =  Date.today();
            Orderdet9.Box_Piece__c = '个';
            Orderdet9.Used_date__c = Date.today();
            Orderdet9.Return_date__c = null;
            Orderdet9.Consumable_ZS_order__c = Order1.Id;
            Orderdet9.Arrive_date__c = Date.today();
            Orderdet9.Rrturn_count__c = 10;
            Orderdet9.Used_date__c =  Date.today();
            Orderdet9.Return_date__c= null;
            Orderdet9.Consumable_ZS_order__c= Order1.Id;
            Orderdet9.Arrive_date__c =  Date.today();
            Orderdet9.Rrturn_count__c =10;
            Orderdet9.TracingCode__c = '20170808';
            Consumable_order_details2__c lose = new Consumable_order_details2__c();
            lose.Name = 'OCM_01_001004';
@@ -1580,9 +1278,9 @@
            lose.Consumable_Shipment_order__c = Order1.Id;
            lose.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            lose.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR5';
            lose.Send_Date__c = null;
            lose.Arrive_date__c = null;
            lose.Used_date__c = null;
            lose.Send_Date__c =  null;
            lose.Arrive_date__c =  null;
            lose.Used_date__c =  null;
            lose.Box_Piece__c = '盒';
            lose.TracingCode__c = '20170808';
            Consumable_order_details2__c lose1 = new Consumable_order_details2__c();
@@ -1595,9 +1293,9 @@
            lose1.Consumable_Shipment_order__c = Order1.Id;
            lose1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            lose1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR6';
            lose1.Send_Date__c = null;
            lose1.Arrive_date__c = Date.today();
            lose1.Used_date__c = null;
            lose1.Send_Date__c =  null;
            lose1.Arrive_date__c =   Date.today();
            lose1.Used_date__c =  null;
            lose1.Box_Piece__c = '盒';
            lose1.TracingCode__c = '20170808';
            Consumable_order_details2__c lose2 = new Consumable_order_details2__c();
@@ -1610,33 +1308,20 @@
            lose2.Consumable_Shipment_order__c = Order2.Id;
            lose2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            lose2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJR7';
            lose2.Send_Date__c = null;
            lose2.Arrive_date__c = Date.today();
            lose2.Used_date__c = null;
            lose2.Send_Date__c =  null;
            lose2.Arrive_date__c =   Date.today();
            lose2.Used_date__c =  null;
            lose2.Box_Piece__c = '盒';
            lose2.Intra_Trade_List_RMB__c = 1;
            lose2.Direct_Arrive_Product__c = true;
            lose2.Sterilization_limit__c = Date.today();
            lose2.SerialLotNo__c = '11批次';
            lose2.Sterilization_limit__c =   Date.today();
            lose2.SerialLotNo__c ='11批次';
            lose2.TracingCode__c = '20170808';
            //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,50 +1337,27 @@
        }
    }
    //返品 明细2不存在的对应的到货订单明细
    @isTest
    static void productReturn_oldbarcode() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -1813,7 +1459,7 @@
            Orderdet5.Cancellation_Date__c = Date.today();
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '个';
            Orderdet5.Box_Piece__c ='个';
            Orderdet5.TracingCode__c = 'BXSYS';
            //fanpin
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
@@ -1824,7 +1470,7 @@
            Orderdet6.Consumable_Return_order__c = Order2.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet6.Box_Piece__c = '个';
            Orderdet6.Box_Piece__c ='个';
            Orderdet6.TracingCode__c = 'BXSYS';
            //发货明细
@@ -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,83 +1508,44 @@
            controller.getinventorysize();
            System.Test.stopTest();
        }
    }
    @isTest
    static void barcodecheck() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
        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 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);
@@ -2056,87 +1663,46 @@
        }
    }
    @isTest
    static void barcodechkeck_2() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //产品注册证
            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),
                RegisterNoClass_Old__c = '6815',
                RegisterNoClass_New__c = '6815',
                RegisterNoStatus__c = '有效'
            );
            Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
                                                              MedPrdClass__c = '3',
                                                              ValidFrom__c = date.newinstance(2018, 07, 22),
                                                              ValidTo__c = date.newinstance(2028, 07, 22),
                                                              RegisterNoClass_Old__c = '6815',
                                                              RegisterNoClass_New__c = '6815',
                                                              RegisterNoStatus__c = '有效'
                                                              );
            insert prc;
            //新旧关系对照表
            //Product_Register_contrast__c prcc = new Product_Register_contrast__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
                FROM Product2__c
                WHERE Estimation_Entry_Possibility__c = '○' AND Pro2_Dealer_Object__c = TRUE AND OT_CODE__c = 'test'
            ];
            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' ];
            //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,81 +1834,42 @@
            list1.clear();
            list1.add(Controller.barcode = '011123410120412017120100250AAAAA');
            Controller.inventoryEntryNoESetId(list1);
        }
    }
    //自动出库
    @isTest
    static void addSaleOrderAuto() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
        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 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();
@@ -2376,77 +1910,37 @@
    // UPDATE TCM TEST1
    @isTest
    static void methodTest1() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -2477,7 +1971,7 @@
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet1.Arrive_date__c = Date.today();
            Orderdet1.Arrive_date__c=Date.today();
            // Orderdet1.Send_Date__c=Date.today();
            // Orderdet1.Used_date__c=Date.today();
            Orderdet1.TracingCode__c = 'BXJRF';
@@ -2492,7 +1986,7 @@
            Orderdet2.Asset_Model_No__c = 'Test01';
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181234105ZK250BXJRF';
            Orderdet2.Arrive_date__c = Date.today();
            Orderdet2.Arrive_date__c=Date.today();
            Orderdet2.TracingCode__c = 'BXJRF';
            Orderdet2.SerialLotNo__c = '5ZK';
            insert Orderdet2;
@@ -2508,88 +2002,46 @@
            // 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() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -2615,27 +2067,27 @@
            //发货明细
            //fahuo
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001001';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Pro001';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Box_Piece__c = '盒';
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            //daohuo
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001002';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Pro001';
            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            //Orderdet2.IsArrival__c = true;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Box_Piece__c = '盒';
            Orderdet2.Arrive_date__c = Date.today();
            //Orderdet2.Send_Date__c = Date.today();
            //Orderdet2.Used_date__c= Date.today();
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
               Orderdet1.Name = 'OCM_01_001001';
               Orderdet1.Consumable_order_minor__c = Order1.Id;
               Orderdet1.Consumable_Product__c = pro1.Id;
               Orderdet1.Asset_Model_No__c = 'Pro001';
               Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
               Orderdet1.Box_Piece__c ='盒';
               Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
               //daohuo
               Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
               Orderdet2.Name = 'OCM_01_001002';
               Orderdet2.Consumable_order_minor__c = Order1.Id;
               Orderdet2.Consumable_Product__c = pro1.Id;
               Orderdet2.Asset_Model_No__c = 'Pro001';
               Orderdet2.Consumable_Arrived_order__c = Order1.Id;
               //Orderdet2.IsArrival__c = true;
               Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
               Orderdet2.Box_Piece__c ='盒';
               Orderdet2.Arrive_date__c = Date.today();
               //Orderdet2.Send_Date__c = Date.today();
               //Orderdet2.Used_date__c= Date.today();
               Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            //sale
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001003';
@@ -2645,8 +2097,8 @@
            Orderdet3.Consumable_Arrived_order__c = Order1.Id;
            //Orderdet3.IsArrival__c = true;
            Orderdet3.Consumable_Sale_order__c = Order1.Id;
            Orderdet3.Box_Piece__c = '盒';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Box_Piece__c ='盒';
            Orderdet3.Used_date__c= Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
@@ -2661,7 +2113,7 @@
            Orderdet4.Consumable_Arrived_order__c = Order1.Id;
            //Orderdet4.IsArrival__c = true;
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.Box_Piece__c = '个';
            Orderdet4.Box_Piece__c ='个';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
@@ -2678,10 +2130,10 @@
            Orderdet5.Cancellation_Flag__c = true;
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '个';
            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);
@@ -2694,12 +2146,12 @@
            Controller.SearchPro();
            System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
            // System.assertEquals(2, controller.ShowGoodsofReturnList.size());
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c = '多发';
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c='多发';
            // controller.ShowGoodsofReturnList[1].esd.Return_reason__c='多发';
            // 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,53 +2214,29 @@
            list1.add(Controller.barcode = '0112345678901231106789012105625001234');
            Controller.inventoryEntryNoESetId(list1);
            System.Test.stopTest();
        }
    }
    //整体到货
    @isTest
    static void ArrivejancodeTest() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
        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 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';
@@ -2927,7 +2340,7 @@
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Send_Date__c =  Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.Box_Piece__c = '盒';
            Orderdet4.TracingCode__c = 'BXJRD';
@@ -2945,11 +2358,13 @@
            Orderdet5.Consumable_Shipment_order__c = Order1.Id;
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.Arrive_date__c =  Date.today();
            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,53 +2379,30 @@
            System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
            // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
    //发错货 入库
    @isTest
    static void ArriveotheragencyTest() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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,29 +2410,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 };
            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert new List<Product2__c>{ pro1 };
            Account myAccount3 = new Account(name = 'Testaccount003', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        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 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();
            Order2.Name = 'OCM_02_001';
@@ -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,53 +2562,31 @@
            // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
            System.Test.stopTest();
        }
    }
    //返品
    @isTest
    static void addInventoryDetails1() {
    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 myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 };
            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 };
        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 Product2__c[] {pro1, pro2};
            //订单
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            Consumable_order__c Order1 = new Consumable_order__c();
@@ -3325,7 +2666,7 @@
            Orderdet3.Consumable_Sale_order__c = Order1.Id;
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
            Orderdet3.Box_Piece__c = '盒';
            Orderdet3.Box_Piece__c ='盒';
            Orderdet3.TracingCode__c = 'BXJRF';
            //出库
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
@@ -3340,7 +2681,7 @@
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRN';
            Orderdet4.Box_Piece__c = '个';
            Orderdet4.Box_Piece__c ='个';
            Orderdet4.TracingCode__c = 'BXJRF';
            //quxiao
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
@@ -3351,7 +2692,7 @@
            Orderdet5.Cancellation_Date__c = Date.today();
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.Box_Piece__c ='盒';
            Orderdet5.TracingCode__c = 'BXJRF';
            //fanpin
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
@@ -3362,7 +2703,7 @@
            Orderdet6.Consumable_Return_order__c = Order2.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet6.Box_Piece__c = '个';
            Orderdet6.Box_Piece__c ='个';
            Orderdet6.TracingCode__c = 'BXJRF';
            // 丢失
@@ -3376,10 +2717,10 @@
            Orderdet7.Arrive_date__c = Date.today();
            Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJQT';
            Orderdet7.Box_Piece__c = '个';
            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();
@@ -3397,100 +2738,60 @@
            //System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecordserror[2].esd.Name);
            //System.assertEquals('OCM_02_001001', controller.ConsumableorderdetailsRecordserror[3].esd.Name);
            // Controller.GoodsReturnCheck();
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c = '多发';
            controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c = 1;
            controller.ShowGoodsofReturnList[0].esd.Return_reason__c='多发';
            controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c =1;
            //System.assertEquals(1, controller.ShowGoodsofReturnList.size());
            Controller.UpdateGoodsOfReturn();
            Controller.ToReturnGoodsPage();
            Controller.geterrorsize();
            System.Test.stopTest();
        }
    }
    @isTest
    static void makeRecordsVieweTest() {
        Integer count = 1001;
    static  void makeRecordsVieweTest() {
        Integer count  = 1001;
        List<ArriveGoodsController.ConsumableorderdetailsInfo> conList = new List<ArriveGoodsController.ConsumableorderdetailsInfo>();
        for (Integer i = 0; i < 1001; i++) {
        for(Integer i = 0; i < 1001; i++){
            conList.add(new ArriveGoodsController.ConsumableorderdetailsInfo());
        }
        ArriveGoodsController arr = new ArriveGoodsController();
        arr.makeRecordsView(conList);
        ArriveGoodsController arr1 = new ArriveGoodsController('', '');
        ArriveGoodsController arr1 = new ArriveGoodsController('','');
    }
    @isTest
    static void compareToTest() {
    static  void compareToTest() {
        ArriveGoodsController.ConsumableorderdetailsInfo c1 = new ArriveGoodsController.ConsumableorderdetailsInfo();
        ArriveGoodsController.ConsumableorderdetailsInfo c2 = new ArriveGoodsController.ConsumableorderdetailsInfo();
        c1.compareTo(c2);
    }
    @isTest
    static void searchProTest1() {
        List<RecordType> rectCo = [
            SELECT Id
            FROM RecordType
            WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
        ];
    static  void searchProTest1() {
        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'
        );
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };
        Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id);
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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__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 };
        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 Product2__c[] {pro1, pro2};
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -3518,7 +2819,7 @@
            Orderdet1.TracingCode__c = 'BXJRF';
            Orderdet1.SerialLotNo__c = '5ZK';
            insert Orderdet1;
            System.debug('Orderdet1:' + Orderdet1);
            System.debug('Orderdet1:'+Orderdet1);
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001001';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
@@ -3539,11 +2840,8 @@
            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
@@ -1,207 +1,163 @@
@isTest
public class ArriveGoodsControllerTestV2 {
    @isTest
    static void myUnitTest() {
        // // TO DO: implement unit test
        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)'
        ];
    @isTest
    static void myUnitTest() {
        // // TO DO: implement unit test
        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)'];
        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 };
        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 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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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');
        System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            // Order1.Dealer_Info__c = myAccount1.id;
            Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c = 1;
            Order1.Delivery_detail_count__c = 1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            // Order1.Dealer_Info__c = myAccount1.id;
            Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c =1;
            Order1.Delivery_detail_count__c=1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;
            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';
            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';
            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c = Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c= Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c =  Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';
            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c =  Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';
            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };
            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            System.assertEquals(1, cod1.size());
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
            System.assertEquals(1, cod1.size());
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            Controller.init();
            //排序
            Controller.barcode = '';
            Controller.SearchPro();
            Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123';
            Controller.SearchPro();
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            // System.assertEquals(3, controller.ConsumableorderdetailsRecordsdummy.size());    //tcm
            Controller.ArriveGoodsConfim();
            System.Test.stopTest();
        }
    }
}
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            Controller.init();
            //排序
            Controller.barcode = '';
            Controller.SearchPro();
            Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123';
            Controller.SearchPro();
            // System.assertEquals(3, controller.ConsumableorderdetailsRecordsdummy.size());    //tcm
            Controller.ArriveGoodsConfim();
            System.Test.stopTest();
        }
    }
}
force-app/main/default/classes/ArriveGoodsControllerTestV2.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>58.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/Batch_FixAttachmentToFiles.cls
@@ -1,9 +1,9 @@
global without sharing class Batch_FixAttachmentToFiles implements Database.Batchable<sObject> {
global without sharing class Batch_FixAttachmentToFiles implements Database.Batchable<sObject>{
    // Id batchJobId = Database.executeBatch(new Batch_FixAttachmentToFiles('Consumable_order__c',Datetime.newInstance(2023, 1, 1, 8, 0, 0),Datetime.newInstance(2024, 1, 1, 8, 0, 0)),2000);
    private Datetime creStartDate = null;
    private Datetime creEndDate = null;
    private String objectApiName = null;
    private Set<String> parentIds = new Set<String>(); //Add by Li Jun 20230703
    private String objectApiName  = null;
    private Set<String> parentIds = new Set<String>();//Add by Li Jun 20230703
    public Batch_FixAttachmentToFiles(String objectType, Datetime startTime, Datetime endTime) {
        creStartDate = startTime;
        creEndDate = endTime;
@@ -13,10 +13,10 @@
    public Batch_FixAttachmentToFiles(Set<String> parentIds) {
        this.parentIds = parentIds;
    }
    //Add by Li Jun 20230703 End
     //Add by Li Jun 20230703 End
    global Database.QueryLocator start(Database.BatchableContext BC) {
        String queryObject = 'SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById FROM Attachment WHERE Parent.Type =:objectApiName AND CreatedDate >=:creStartDate AND CreatedDate <:creEndDate Order by CreatedDate ASC';
        if (parentIds.size() > 0) {
        if(parentIds.size() > 0){
            queryObject = 'SELECT Id, Name, OwnerId, ParentId, Parent.Name, Parent.Type, Body, CreatedDate, CreatedById FROM Attachment WHERE ParentId in:parentIds';
        }
        return Database.getQueryLocator(queryObject);
@@ -24,73 +24,72 @@
    global void execute(Database.BatchableContext BC, List<Attachment> scope) {
        List<ContentVersion> insertContents = new List<ContentVersion>();
        Map<string, id> nameParentMaps = new Map<string, id>();
        Set<String> attachmentIds = new Set<String>();
        Map<string,id> nameParentMaps = new Map<string,id>();
        Set<String> attachmentIds = new Set<String>();
        for (Attachment att : scope) {
            nameParentMaps.put(att.Name, att.ParentId);
            attachmentIds.add(att.Id);
            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.Origin = 'C'; //C-Content Origin. H-Chatter Origin.
            cVersion.Title = att.Name; //Name of the file
            cVersion.VersionData = att.Body; //File content
            insertContents.add(cVersion);
            cVersion.ContentLocation = 'S';     //S-Document is in Salesforce. E-Document is outside of Salesforce. L-Document is on a Social Netork.
            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
            insertContents.add(cVersion);
        }
        if (insertContents.isEmpty()) {
        if(insertContents.isEmpty()){
            return;
        }
        //Insert insertContents;
        List<Database.SaveResult> saveResultsContents = Database.insert(insertContents, false);
        insertLog(saveResultsContents, attachmentIds);
        set<Id> contentIds = new Set<Id>();
        for (ContentVersion cv : insertContents) {
        insertLog(saveResultsContents,attachmentIds);
        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<ContentDocumentLink> insertDocLinks = new List<ContentDocumentLink>();
        for (ContentVersion cv : conDocuments) {
        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.ShareType = 'V'; //V - Viewer permission. C - Collaborator permission. I - Inferred permission.
            cDocLink.ContentDocumentId = cv.ContentDocumentId;          //Add ContentDocumentId
            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);
        }
        //Insert insertDocLinks;
        List<Database.SaveResult> saveResultsLinks = Database.insert(insertDocLinks, false);
        insertLog(saveResultsLinks, attachmentIds);
        insertLog(saveResultsLinks,attachmentIds);
    }
    global void insertLog(List<Database.SaveResult> saveResults, Set<String> attachmentIds) {
    global void insertLog(List<Database.SaveResult> saveResults,Set<String> attachmentIds) {
        Transaction_Log__c traLog = new Transaction_Log__c();
        List<Map<String, String>> logMapList = new List<Map<String, String>>();
        List<Map<String,String>> logMapList = new List<Map<String,String>>();
        for (Database.SaveResult result : saveResults) {
            String recordId = result.getId();
            if (!result.isSuccess()) {
                for (Database.Error error : result.getErrors()) {
                    Map<String, String> logMap = new Map<String, String>();
                    Map<String,String> logMap = new Map<String,String>();
                    String errorMsg = error.getMessage();
                    logMap.put('recordId', recordId);
                    logMap.put('errorMsg', errorMsg);
                    logMap.put('recordId',recordId);
                    logMap.put('errorMsg',errorMsg);
                    logMapList.add(logMap);
                }
            }
        }
        if (logMapList.size() > 0) {
            Map<String, String> attachmentIdMap = new Map<String, String>();
            attachmentIdMap.put('attachmentIds', JSON.serialize(attachmentIds));
        if(logMapList.size() > 0){
            Map<String,String> attachmentIdMap = new Map<String,String>();
            attachmentIdMap.put('attachmentIds',JSON.serialize(attachmentIds));
            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
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls
@@ -1,9 +1,10 @@
@isTest(SeeAllData=true)
private class Batch_FixAttachmentToFilesTest {
    @isTest(SeeAllData=true)
    @isTest(SeeAllData=true)
    static void testInit() {
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        Account accountItem1 = new Account(Name = 'Testaccount001', RecordTypeId = rectCo);
        Account accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo);
        insert accountItem1;
        Consumable_order__c consOrder = new Consumable_order__c();
@@ -16,28 +17,26 @@
        consOrder.Dealer_Info__c = accountItem1.Id;
        consOrder.Delivery_detail_count__c = 5;
        insert consOrder;
        List<Attachment> attachList = new List<Attachment>();
        Attachment attach = new Attachment();
        attach.Name = 'A-65224941-20200923--1.docx';
        Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body');
        attach.Name='A-65224941-20200923--1.docx';
        Blob bodyBlob= Blob.valueOf('Unit Test Attachment Body');
        attach.body = bodyBlob;
        attach.ParentId = consOrder.Id;
        attachList.add(attach);
        insert attachList;
        Set<String> Id = new Set<String>();
        String objectType;
        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;
@@ -45,8 +44,8 @@
            creEndDate = att.CreatedDate.addDays(1);
        }
        System.Test.startTest();
        Database.executeBatch(new Batch_FixAttachmentToFiles(objectType, creStartDate, creEndDate), 1);
        Database.executeBatch(new Batch_FixAttachmentToFiles(Id), 1);
        System.Test.stopTest();
    }
}
        Database.executeBatch(new Batch_FixAttachmentToFiles(objectType,creStartDate,creEndDate),1);
        Database.executeBatch(new Batch_FixAttachmentToFiles(Id),1);
        System.Test.stopTest();
    }
}
force-app/main/default/classes/Batch_FixAttachmentToFilesTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/DealerInquiryModifyStateController.cls
@@ -1,23 +1,23 @@
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; }
    /*****************検索用******************/
    /*******************检索属性值*******************/
    public String accSearch { get; set; } //经销商医院
    public String aooSearch { get; set; } //担当人
    public String accSearch { get; set; }//经销商医院
    public String aooSearch { get; set; }//担当人
    public String numtext1 { get; set; } //数据字段01
    public String numtext { get; set; } //数据字段03
    public String numtext { get; set; }//数据字段03
    public String numtext2 { get; set; } //数据字段02
    public String timetext1 { get; set; } //日期01
    public String timetext2 { get; set; } //日期02
    public Agency_Opportunity__c tmpAO { get; set; } //检索日期用
    public Agency_Opportunity__c tmpBO { get; set; } //检索日期用
    public String limits { get; set; } //日期03
    public String limits { get; set; }//日期03
    public List<SelectOption> dateOpts { get; private set; }
    public List<SelectOption> textOpts { get; private set; }
@@ -34,28 +34,27 @@
    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' };
    public Set<String> columusSet = new Set<String> {'Id'};
    // 项目set 字段标签
    public List<String> titleLeft { get; private set; }
    public List<String> titleRight { get; private set; }
    // 项目set 字段名
    public List<List<String>> columnsLeftApi { get; private set; } // 参照項目用
    public List<List<String>> columnsRightApi { get; private set; } // 参照項目用
    public List<String> columnLeftCss { get; private set; } // css 用
    public List<String> columnRightCss { get; private set; } // css 用
    public Map<String, String> columnLeftRW { get; private set; } // r,w,wm用
    public Map<String, String> columnRightRW { get; private set; } // r,w,wm用
    public List<List<String>> columnsLeftApi { get; private set; }         // 参照項目用
    public List<List<String>> columnsRightApi { get; private set; }        // 参照項目用
    public List<String> columnLeftCss { get; private set; }               // css 用
    public List<String> columnRightCss { get; private set; }              // css 用
    public Map<String, String> columnLeftRW { get; private set; }              // r,w,wm用
    public Map<String, String> columnRightRW { get; private set; }             // r,w,wm用
    private String strColumus;
    private String strRtColumus;
    //add by Link 2023-6-2
    public String remindMsg { get; set; }
    public String remindMsg{get;set;}
    @TestVisible
    private String accTypeForSort = null;
    @TestVisible private String accTypeForSort = null;
    private static Integer oppLimit = 500;
    public DealerInquiryModifyStateController() {
@@ -83,7 +82,7 @@
        textOpts.add(new SelectOption('Oly_Inquiry_Stage__c', 'Oly询价阶段'));
        //精琢科技   zxk    2021-08-25   end
        textOpts.add(new SelectOption('Hospital_City_Master__c', '市'));
        // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.Salesdepartment_HP__c', '销售本部'));
        // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.State_Master__r.Name', '省'));
        // textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.City_Master__r.Name', '市'));
@@ -160,7 +159,7 @@
            layoutItem.layoutComponents.add(layoutComponent);
            // return dlr;
        } else {
            dlr = soap.describeLayout('Agency_Opportunity__c', null, null);
            dlr  = soap.describeLayout('Agency_Opportunity__c', null, null);
            // dlr  = soap.describeLayout('asdas', null, null);
        }
@@ -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,17 +309,14 @@
        // 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 +
            ' FROM Agency_Opportunity__c WHERE recordType.DeveloperName = \'Opportunity\' ';
        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)) {
            accSearch = accSearch.trim();
            // soql += 'AND Agency__r.Name  '   + '  LIKE  \'%' + accSearch + '%\' ';
            soql += 'AND Agency_Hospital__r.Name  ' + '  LIKE  \'%' + accSearch + '%\' ';
            soql += 'AND Agency_Hospital__r.Name  '   + '  LIKE  \'%' + accSearch + '%\' ';
        }
        //数据字段:担当人  +SOQL
        if (!String.isBlank(aooSearch)) {
@@ -335,7 +327,7 @@
        //数据字段:03 手动填写项 准备调用makeTextSql;
        if (!String.isBlank(numtext)) {
            String newNumtext = numtext.trim();
            String str = makeTextSql(numtext1, numtext2, newNumtext);
            String str = makeTextSql(numtext1,  numtext2,  newNumtext);
            soql += str;
            System.debug('+++++++++++++=============++++++++++++++++++' + soql);
        }
@@ -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);
@@ -367,7 +347,7 @@
        // System.debug('pppqqq111'+userlist1);
        List<Agency_Opportunity__c> InfoList = Database.query(soql);
        System.debug('+++++++-------------------' + InfoList);
        System.debug('+++++++-------------------'+InfoList);
        // List<Agency_Opportunity__c> InfoList = ControllerUtil.DatabaseQuery(soql);
        // System.debug('InfoList[0].Change_To_Opportunity_T__c'+InfoList[0].Change_To_Opportunity_T__c);
@@ -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(' ')) {
@@ -497,13 +480,15 @@
                for (Integer icount = 0; icount < vals.size(); icount++) {
                    String val = vals[icount];
                    if (equalOpts == 'starts with') {
                        soql += ' ' + textOpts + '  LIKE  \'%' + val + '%\'';
                        soql += ' ' + textOpts + '  LIKE  \'%' + val + '%\'' ;
                        if (icount < vals.size() - 1) {
                            soql += ' OR ';
                        }
                    }
                }
                soql += ')';
            }
            //精琢科技   zxk    2021-08-25   end
@@ -524,23 +509,22 @@
        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;
            if (!String.isBlank(tmpVal)) {
                if (equalOpts == 'contains' || equalOpts == 'notcontains') {
                    if (equalOpts == 'contains') {
                        soql += ' ' + textOpts + '  LIKE  \'%' + val + '%\'';
                        soql += ' ' + textOpts + '  LIKE  \'%' + val + '%\'' ;
                    } else if (equalOpts == 'notcontains') {
                        soql += ' ( NOT ' + textOpts + '  LIKE  \'%' + val + '%\' ) ';
                        soql += ' ( NOT ' + textOpts + '  LIKE  \'%' + val + '%\' ) ' ;
                    }
                } else if (equalOpts == '=' || equalOpts == '<>') {
                    if (equalOpts == '=') {
                        soql += ' AND ' + textOpts + ' = ' + val;
                        soql += ' AND ' + textOpts + ' = ' + val ;
                    } else if (equalOpts == '<>') {
                        soql += ' AND ' + textOpts + ' <> ' + val;
                        soql += ' AND ' + textOpts + ' <> ' + val ;
                    }
                }
            } else {
@@ -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';
@@ -586,7 +571,7 @@
                // }
            }
            if (updTarget.size() > 0) {
                system.debug('updTarget.size:' + updTarget.size());
                system.debug('updTarget.size:' + updTarget.size() );
                update updTarget;
            }
            // if (updOpps.size() > 0) {
@@ -656,4 +641,4 @@
            AgcOpp = record;
        }
    }
}
}
force-app/main/default/classes/DealerInquiryModifyStateControllerTest.cls
@@ -1,64 +1,51 @@
@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;
        }
        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Name = 'NFM007TestCompany';
        company.Name         = 'NFM007TestCompany';
        insert company;
        Account section = new Account();
        section.RecordTypeId = rectSct[0].Id;
        section.Name = '*';
        section.Name         = '*';
        section.Department_Class_Label__c = '消化科';
        section.ParentId = company.Id;
        section.ParentId                  = company.Id;
        section.Hospital_Department_Class__c = company.Id;
        insert section;
        // Test.startTest();
        Account depart = new Account();
        depart.RecordTypeId = rectDpt[0].Id;
        depart.Name = '*';
        depart.Department_Name__c = 'NFM007TestDepart';
        depart.ParentId = section.Id;
        depart.Name         = '*';
        depart.Department_Name__c  = 'NFM007TestDepart';
        depart.ParentId            = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c = company.Id;
        depart.Hospital__c         = company.Id;
        insert depart;
        Opportunity opp = new Opportunity();
        opp.AccountId = depart.Id;
        opp.AccountId           = depart.Id;
        opp.Department_Class__c = section.Id;
        opp.Hospital__c = company.Id;
        opp.SAP_Send_OK__c = false;
        opp.Name = 'GZ-SP-NFM007_1';
        opp.Trade__c = '内貿';
        opp.StageName = '引合';
        opp.CloseDate = Date.today();
        opp.Hospital__c         = company.Id;
        opp.SAP_Send_OK__c      = false;
        opp.Name                = 'GZ-SP-NFM007_1';
        opp.Trade__c            = '内貿';
        opp.StageName           = '引合';
        opp.CloseDate           = Date.today();
        opp.Stock_apply_status__c = '申请中';
        insert opp;
        Test.startTest();
@@ -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 = 'ユーザー';
@@ -96,14 +84,10 @@
        user.Alias = 'テユ';
        user.CommunityNickname = 'テストユーザー';
        user.SalesManager__c = UserInfo.getUserId();
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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();
@@ -116,14 +100,9 @@
        //
        //System.assertEquals('テスト',users[0].LastName);
        System.assertEquals('ユーザー', users[0].FirstName);
        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;
@@ -134,22 +113,25 @@
        agency_opportunity.StageName__c = '还没申请预算';
        agency_opportunity.OwnerId = user.Id;
        agency_opportunity.Change_To_Opportunity_T__c = '::CF-HQ290I';
        agency_opportunity.Sales_Manager__c = UserInfo.getUserId();
        agency_opportunity.Sales_Manager__c =UserInfo.getUserId();
        insert agency_opportunity;
        Test.stopTest();
    }
    static testMethod void myUnitTest_SortKey() {
        Test.startTest();
        Test.startTest();
        Test.setMock(WebServiceMock.class, new NFMTest_Mock());
        Test.stopTest();
        PageReference page = new PageReference('/apex/DealerInquiryModifyState');
        System.Test.setCurrentPage(page);
        // 初始化测试
        DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController();
        controller.init();
        //System.assertEquals(1, controller.oppRecords.size());验证预期值和结果值正确性
        // 排序测试
@@ -164,7 +146,7 @@
        // Test.stopTest();
    }
    static testMethod void myUnitTest_AccSearchAndAoosearch() {
        Test.startTest();
        Test.startTest();
        Test.setMock(WebServiceMock.class, new NFMTest_Mock());
        Test.stopTest();
        PageReference page = new PageReference('/apex/DealerInquiryModifyState');
@@ -172,7 +154,7 @@
        DealerInquiryModifyStateController controller = new DealerInquiryModifyStateController();
        // 初始化测试
        // Test.startTest();
        controller.init();
        //文本输入框检索
        //1:经销商医院
@@ -361,7 +343,8 @@
        controller.chick();
        controller.tmpBO.MaxActivityDate__c = date.valueOf('2018-02-09');
        controller.chick();
        Test.stopTest();
         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');
@@ -434,4 +418,4 @@
        controller.init();
        Test.stopTest();
    }
}
}
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) {
@@ -25,20 +26,20 @@
    public static Results searchProduct(String barcode, String arrControllerStr) {
        Results results = new Results();
        try {
            System.debug('arrControllerStr:' + arrControllerStr);
            ArriveGoodsController arrController = (ArriveGoodsController) JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
            System.debug('arrControllerStr:'+arrControllerStr);
            ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
            arrController.barcode = barcode;
            arrController.returnError = null;
            arrController.warningList = new List<String>();
            arrController.errorList = new List<String>();
            arrController.SearchPro();
            results.arrGoodCon = JSON.serialize(arrController);
            if (arrController.returnError != null && arrController.returnError != '') {
            if(arrController.returnError != null && arrController.returnError != ''){
                results.result = 'Fail';
                results.errorMsgList = arrController.errorList;
                results.warningMsgList = arrController.warningList;
                results.errorMsg = arrController.returnError;
            } else {
            }else {
                results.coc = arrController.coc;
                results.saveFLGbln = arrController.saveFLGbln;
                results.returnFLGbln = arrController.ReturnFLGbln;
@@ -63,20 +64,20 @@
    public static Results arriveGoodsConfim(String arrControllerStr) {
        Results results = new Results();
        try {
            ArriveGoodsController arrController = (ArriveGoodsController) JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
            ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
            arrController.returnError = null;
            arrController.warningList = new List<String>();
            arrController.errorList = new List<String>();
            Pagereference page = arrController.ArriveGoodsConfim();
            results.arrGoodCon = JSON.serialize(arrController);
            if (arrController.returnError != null && arrController.returnError != '') {
            if(arrController.returnError != null && arrController.returnError != ''){
                results.result = 'Fail';
                results.errorMsgList = arrController.errorList;
                results.warningMsgList = arrController.warningList;
                results.errorMsg = arrController.returnError;
            } else {
                if (arrController.urlType == 'UnabletoEdit') {
                    results.url = '/lexarrivegsdetails?EsetId=' + arrController.arriveId;
            }else {
                if(arrController.urlType == 'UnabletoEdit'){
                    results.url = '/lexarrivegsdetails?EsetId='+arrController.arriveId;
                }
                results.errorMsgList = arrController.errorList;
                results.warningMsgList = arrController.warningList;
@@ -88,17 +89,14 @@
        }
        return results;
    }
    //登录返品
    @AuraEnabled
    public static Results updateGoodsOfReturn(String arrControllerStr, String showGoodsofReturnListStr) {
        Results results = new Results();
        try {
            List<ConsumableorderdetailsInfo> showGoodsofReturnList = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
                showGoodsofReturnListStr,
                List<ConsumableorderdetailsInfo>.class
            );
            ArriveGoodsController arrController = (ArriveGoodsController) JSON.deserialize(arrControllerStr, ArriveGoodsController.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;
            arrController.warningList = new List<String>();
@@ -106,17 +104,17 @@
            StaticParameter.ConsumableOrderTrigger = true; //Add by Li Jun for bypass ConsumableOrderTrigger 20230616
            Pagereference page = arrController.UpdateGoodsOfReturn();
            results.arrGoodCon = JSON.serialize(arrController);
            if (arrController.returnError != null && arrController.returnError != '') {
            if(arrController.returnError != null && arrController.returnError != ''){
                results.result = 'Fail';
                results.errorMsgList = arrController.errorList;
                results.warningMsgList = arrController.warningList;
                results.errorMsg = arrController.returnError;
            } else {
                if (arrController.urlType == 'ToReturnGoodsPage') {
                    results.url = '/detail/' + arrController.return_Order_id;
            }else {
                if(arrController.urlType == 'ToReturnGoodsPage'){
                    results.url = '/detail/'+arrController.return_Order_id;
                }
                if (arrController.urlType == 'ToInventoryGoodsPage') {
                    results.url = '/detail/' + arrController.inventory_Order_id;
                if(arrController.urlType == 'ToInventoryGoodsPage'){
                    results.url = '/detail/'+arrController.inventory_Order_id;
                }
                results.errorMsgList = arrController.errorList;
                results.warningMsgList = arrController.warningList;
@@ -129,10 +127,10 @@
        return results;
    }
    public static List<ConsumableorderdetailsInfo> changeType1(List<ArriveGoodsController.ConsumableorderdetailsInfo> conList) {
    public static List<ConsumableorderdetailsInfo> changeType1(List<ArriveGoodsController.ConsumableorderdetailsInfo> conList){
        List<ConsumableorderdetailsInfo> conList1 = new List<ConsumableorderdetailsInfo>();
        if (conList != null) {
            for (ArriveGoodsController.ConsumableorderdetailsInfo con : conList) {
        if(conList != null){
            for(ArriveGoodsController.ConsumableorderdetailsInfo con : conList){
                ConsumableorderdetailsInfo con1 = new ConsumableorderdetailsInfo();
                con1.esd = con.esd;
                con1.Prod = con.Prod;
@@ -155,10 +153,10 @@
        return conList1;
    }
    public static List<ArriveGoodsController.ConsumableorderdetailsInfo> changeType2(List<ConsumableorderdetailsInfo> conList) {
    public static List<ArriveGoodsController.ConsumableorderdetailsInfo> changeType2(List<ConsumableorderdetailsInfo> conList){
        List<ArriveGoodsController.ConsumableorderdetailsInfo> conList1 = new List<ArriveGoodsController.ConsumableorderdetailsInfo>();
        if (conList != null) {
            for (ConsumableorderdetailsInfo con : conList) {
        if(conList != null){
            for(ConsumableorderdetailsInfo con : conList){
                ArriveGoodsController.ConsumableorderdetailsInfo con1 = new ArriveGoodsController.ConsumableorderdetailsInfo();
                con1.esd = con.esd;
                con1.Prod = con.Prod;
@@ -246,7 +244,8 @@
        @AuraEnabled
        public String ReportProductExpirationDate { get; set; }
        public ConsumableorderdetailsInfo() {
        public ConsumableorderdetailsInfo(){
        }
        // 排序
@@ -254,4 +253,4 @@
            return null;
        }
    }
}
}
force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>56.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexArriveGoodsControllerTest.cls
@@ -1,418 +1,318 @@
@isTest
private class LexArriveGoodsControllerTest {
    @IsTest
    static void test1() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
    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 = '販売店'
        ];
        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)'
        ];
        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)'];
        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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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');
        System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            // Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c = 1;
            Order1.Delivery_detail_count__c = 1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            // Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c =1;
            Order1.Delivery_detail_count__c=1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;
            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';
            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';
            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c = Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c= Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c =  Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';
            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c =  Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';
            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };
            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            System.assertEquals(1, cod1.size());
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
            System.assertEquals(1, cod1.size());
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id);
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            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();
            System.Test.stopTest();
        }
    }
    @IsTest
    static void test2() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
    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 = '販売店'
        ];
        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)'
        ];
        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)'];
        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 };
        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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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 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');
        System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
            //订单
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            //返品订单
            //返品订单
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01_002';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '返品';
            Order2.Dealer_Info__c = myAccount1.id;
            Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
            insert Order1;
            insert Order2;
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01_002';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '返品';
            Order2.Dealer_Info__c = myAccount1.id;
            Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
            insert Order1;
            insert Order2;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;
            //发货明细
            //没出库,没销售,就是在库
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001001';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Pro001';
            Orderdet1.Arrive_date__c = date.today();
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet1.TracingCode__c = 'BXSYS';
            //发货明细
            //没出库,没销售,就是在库
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001001';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Pro001';
            Orderdet1.Arrive_date__c = date.today();
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet1.TracingCode__c = 'BXSYS';
            //daohuo
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001002';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Pro001';
            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.Arrive_date__c = date.today();
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI';
            Orderdet2.TracingCode__c = 'BXSYS';
            //sale
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001003';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Pro001';
            Orderdet3.Consumable_Arrived_order__c = Order1.Id;
            Orderdet3.Arrive_date__c = date.today();
            Orderdet3.Used_date__c = date.today();
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
            Orderdet3.TracingCode__c = 'BXSYS';
            //出库
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001004';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Pro001';
            Orderdet4.Consumable_Arrived_order__c = Order1.Id;
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.Send_Date__c = date.today();
            Orderdet4.Arrive_date__c = date.today();
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222';
            Orderdet4.TracingCode__c = 'BXSYS';
            //quxiao
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001005';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Pro001';
            Orderdet5.Cancellation_Date__c = Date.today();
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '个';
            Orderdet5.TracingCode__c = 'BXSYS';
            //fanpin
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001006';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Pro001';
            Orderdet6.Consumable_Return_order__c = Order2.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet6.Box_Piece__c = '个';
            Orderdet6.TracingCode__c = 'BXSYS';
            //daohuo
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001002';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Pro001';
            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.Arrive_date__c = date.today();
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI';
            Orderdet2.TracingCode__c = 'BXSYS';
            //sale
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001003';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Pro001';
            Orderdet3.Consumable_Arrived_order__c = Order1.Id;
            Orderdet3.Arrive_date__c = date.today();
            Orderdet3.Used_date__c = date.today();
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
            Orderdet3.TracingCode__c = 'BXSYS';
            //出库
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001004';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Pro001';
            Orderdet4.Consumable_Arrived_order__c = Order1.Id;
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.Send_Date__c = date.today();
            Orderdet4.Arrive_date__c = date.today();
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222';
            Orderdet4.TracingCode__c = 'BXSYS';
            //quxiao
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001005';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Pro001';
            Orderdet5.Cancellation_Date__c = Date.today();
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c ='个';
            Orderdet5.TracingCode__c = 'BXSYS';
            //fanpin
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001006';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Pro001';
            Orderdet6.Consumable_Return_order__c = Order2.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet6.Box_Piece__c ='个';
            Orderdet6.TracingCode__c = 'BXSYS';
            Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
            Orderdet7.Name = 'OCM_01_001001';
            Orderdet7.Consumable_order_minor__c = Order1.Id;
            Orderdet7.Consumable_Product__c = pro1.Id;
            Orderdet7.Asset_Model_No__c = 'Pro001';
            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 };
            ArriveGoodsController Controller = new ArriveGoodsController();
            System.Test.startTest();
            Controller.init();
            Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222';
            Controller.SearchPro();
            Controller.ArriveGoodsConfim();
            Controller.UpdateGoodsOfReturn();
            controller.getinventorysize();
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', '');
            Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
            Orderdet7.Name = 'OCM_01_001001';
            Orderdet7.Consumable_order_minor__c = Order1.Id;
            Orderdet7.Consumable_Product__c = pro1.Id;
            Orderdet7.Asset_Model_No__c = 'Pro001';
            Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333';
            Orderdet7.TracingCode__c = 'BXSYS';
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7};
            ArriveGoodsController Controller = new ArriveGoodsController();
            System.Test.startTest();
            Controller.init();
            Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222';
            Controller.SearchPro();
            Controller.ArriveGoodsConfim();
            Controller.UpdateGoodsOfReturn();
            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));
@@ -420,7 +320,7 @@
            List<LexArriveGoodsController.ConsumableorderdetailsInfo> conList = new List<LexArriveGoodsController.ConsumableorderdetailsInfo>();
            conList.add(con);
            LexArriveGoodsController.changeType2(conList);
            System.Test.stopTest();
            System.Test.stopTest();
        }
    }
}
}
force-app/main/default/classes/LexArriveGoodsControllerTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls
@@ -1,214 +1,159 @@
@isTest
public class LexArriveGoodsControllerTest1 {
    static void test1() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
    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 = '販売店'
        ];
        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)'
        ];
        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)'];
        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'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
        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');
        System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 };
            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 };
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            // Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c = 1;
            Order1.Delivery_detail_count__c = 1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // 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 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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            // Order1.Dealer_Info__c = myAccount1.id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c =1;
            Order1.Delivery_detail_count__c=1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;
            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;
            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';
            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';
            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c = Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c= Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';
            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c =  Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';
            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';
            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c =  Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';
            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };
            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';
            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            System.assertEquals(1, cod1.size());
            insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
            System.assertEquals(1, cod1.size());
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id);
            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            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();
            System.Test.stopTest();
        }
    }
}
}
force-app/main/default/classes/LexArriveGoodsControllerTest1.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexArriveGoodsMainController.cls
@@ -1,224 +1,233 @@
public without sharing class LexArriveGoodsMainController {
    /*****************検索用******************/
    //经销商产品分类
    public static String agencyProType { get; set; }
    // public static Consumable_order__c coc { get; set; }
    public static String category1 { get; set; }
    private static String cate1ForSort = null;
    private static Date cate2ForSort = Date.today();
    private static Date cate2 = Date.today();
    private static String[] columus = new List<String>{ 'Product2__c.Name' };
    // 产品 ID
    private static String ESetId = '';
    private static String accountid = null;
    // 订单 字段标签
    public static List<String> title { get; private set; }
    // 订单 字段名
    public static List<String> column;
    public static List<List<String>> columns { get; private set; }
    // 画面显示数据
    public static List<Consumable_order__c> raesList { get; private set; }
    // 登录者工作地
    private static String userWorkLocation;
    // 20200904 ljh  汇总使用 start
    public static Integer Total_num { get; set; }
    public static Integer OrderNumber_arrived { get; set; }
    public static Integer Delivery_detail_count { get; set; }
    public static Integer OrderNumber_notarrive { get; set; }
    public static Integer More_than_seven_days { get; set; }
  /*****************検索用******************/
  //经销商产品分类
  public static String agencyProType { get; set; }
  // public static Consumable_order__c coc { get; set; }
  public static String category1 { get; set; }
  private static String cate1ForSort = null;
  private static Date cate2ForSort = Date.today();
  private static Date cate2 = Date.today();
  private static String[] columus = new List<String>{ 'Product2__c.Name' };
  // 产品 ID
  private static String ESetId = '';
  private static String accountid = null;
  // 订单 字段标签
  public static List<String> title { get; private set; }
  // 订单 字段名
  public static List<String> column;
  public static List<List<String>> columns { get; private set; }
  // 画面显示数据
  public static List<Consumable_order__c> raesList { get; private set; }
  // 登录者工作地
  private static String userWorkLocation;
  // 20200904 ljh  汇总使用 start
  public static Integer Total_num { get; set; }
  public static Integer OrderNumber_arrived { get; set; }
  public static Integer Delivery_detail_count { get; set; }
  public static Integer OrderNumber_notarrive { get; set; }
  public static Integer More_than_seven_days { get; set; }
    @AuraEnabled
    public static Results init() {
        Results results = new Results();
        results.isNoteStay = LexUtility.getIsNoteStay();
        try {
            // coc = new Consumable_order__c();
            String userId = UserInfo.getUserId();
            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;
            if (String.isBlank(Useracc[0].UserPro_Type__c)) {
                agencyProType = 'ET';
            }
            // 获得订单一览
            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();
            // 获得字段标签和字段名
            title = new List<String>();
            column = new List<String>();
            columns = new List<List<String>>();
            for (FieldSetMember fsm : fsmList) {
                title.add(fsm.getLabel());
                column.add(fsm.getFieldPath());
                columns.add(fsm.getFieldPath().split('\\.'));
            }
            // 获得显示数据
            raesList = new List<Consumable_order__c>();
            String soql = 'select Id';
            for (String s : column) {
                soql += ',' + s;
            }
            soql +=
                ' from Consumable_order__c where Order_type__c = \'' +
                '订单' +
                '\' and  recordtypeid =\'' +
                System.Label.RT_ConOrder_Delivery +
                '\' and Dealer_Info__c =\'' +
                accountid +
                '\' and Order_ProType__c =\'' +
                agencyProType +
                '\' and   (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' +
                userWorkLocation +
                '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; //
            // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList';
            raesList = Database.query(soql);
            //20200904 ljh add start
            Total_num = 0;
            OrderNumber_arrived = 0;
            Delivery_detail_count = 0;
            OrderNumber_notarrive = 0;
            More_than_seven_days = 0;
            System.debug('-----1------' + raesList);
            for (Consumable_order__c conorder : raesList) {
                if (conorder.Total_num__c != null) {
                    Total_num += (Integer) conorder.Total_num__c;
                }
                if (conorder.OrderNumber_arrived__c != null) {
                    OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c;
                }
                if (conorder.Delivery_detail_count__c != null) {
                    Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c;
                }
                if (conorder.OrderNumber_notarrive__c != null) {
                    OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c;
                }
                if (conorder.More_than_seven_days__c != null) {
                    More_than_seven_days += (Integer) conorder.More_than_seven_days__c;
                }
            }
            results.agencyProType = agencyProType;
            results.accountId = accountid;
            results.title = title;
            results.raesList = raesList;
            results.userWorkLocation = userWorkLocation;
            results.totalNum = Total_num;
            results.orderNumberArrived = OrderNumber_arrived;
            results.deliveryDetailCount = Delivery_detail_count;
            results.orderNumberNotarrive = OrderNumber_notarrive;
            results.moreThanSevenDays = More_than_seven_days;
            results.result = 'Success';
        } catch (Exception e) {
            results.result = 'Fail';
            results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
  @AuraEnabled
  public static Results init() {
    Results results = new Results();
    results.isNoteStay = LexUtility.getIsNoteStay();
    try {
      // coc = new Consumable_order__c();
      String userId = UserInfo.getUserId();
      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;
      if (String.isBlank(Useracc[0].UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      // 获得订单一览
      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();
      // 获得字段标签和字段名
      title = new List<String>();
      column = new List<String>();
      columns = new List<List<String>>();
      for (FieldSetMember fsm : fsmList) {
        title.add(fsm.getLabel());
        column.add(fsm.getFieldPath());
        columns.add(fsm.getFieldPath().split('\\.'));
      }
      // 获得显示数据
      raesList = new List<Consumable_order__c>();
      String soql = 'select Id';
      for (String s : column) {
        soql += ',' + s;
      }
      soql +=
        ' from Consumable_order__c where Order_type__c = \'' +
        '订单' +
        '\' and  recordtypeid =\'' +
        System.Label.RT_ConOrder_Delivery +
        '\' and Dealer_Info__c =\'' +
        accountid +
        '\' and Order_ProType__c =\'' +
        agencyProType +
        '\' and   (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' +
        userWorkLocation +
        '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; //
      // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList';
      raesList = Database.query(soql);
      //20200904 ljh add start
      Total_num = 0;
      OrderNumber_arrived = 0;
      Delivery_detail_count = 0;
      OrderNumber_notarrive = 0;
      More_than_seven_days = 0;
      System.debug('-----1------' + raesList);
      for (Consumable_order__c conorder : raesList) {
        if (conorder.Total_num__c != null) {
          Total_num += (Integer) conorder.Total_num__c;
        }
        return results;
    }
    @AuraEnabled
    public static Results searchConsumableorderdetails(
        String category1Str,
        Date cate2Str,
        String accountidStr,
        String userWorkLocationStr,
        String agencyProTypeStr
    ) {
        Results results = new Results();
        category1 = category1Str;
        cate2 = cate2Str;
        accountid = accountidStr;
        userWorkLocation = userWorkLocationStr;
        agencyProType = agencyProTypeStr;
        try {
            // cate2 = coc.Shipment_date__c;
            // 获得订单一览
            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();
            // 获得字段标签和字段名
            title = new List<String>();
            column = new List<String>();
            columns = new List<List<String>>();
            for (FieldSetMember fsm : fsmList) {
                title.add(fsm.getLabel());
                column.add(fsm.getFieldPath());
                columns.add(fsm.getFieldPath().split('\\.'));
            }
            // 获得显示数据
            raesList = new List<Consumable_order__c>();
            String soql = 'select Id';
            for (String s : column) {
                soql += ',' + s;
            }
            soql +=
                ' from Consumable_order__c where Order_type__c = \'' +
                '订单' +
                '\' and  recordtypeid =\'' +
                System.Label.RT_ConOrder_Delivery +
                '\' and Dealer_Info__c =\'' +
                accountid +
                '\' and  (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) ';
            soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            soql += 'and showFalseNotshowTrue__c = false';
            if (!String.isBlank(category1)) {
                soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
            }
            if (cate2 != null) {
                soql += ' and Shipment_date__c = :cate2 ';
            }
            soql += '  and Order_ProType__c =\'' + agencyProType + '\'';
            soql += ' order by Deliver_date__c';
            system.debug('====soql:' + soql);
            raesList = Database.query(soql);
            results.raesList = raesList;
            results.result = 'Success';
        } catch (Exception e) {
            results.result = 'Fail';
            results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
        if (conorder.OrderNumber_arrived__c != null) {
          OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c;
        }
        return results;
        if (conorder.Delivery_detail_count__c != null) {
          Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c;
        }
        if (conorder.OrderNumber_notarrive__c != null) {
          OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c;
        }
        if (conorder.More_than_seven_days__c != null) {
          More_than_seven_days += (Integer) conorder.More_than_seven_days__c;
        }
      }
      results.agencyProType = agencyProType;
      results.accountId = accountid;
      results.title = title;
      results.raesList = raesList;
      results.userWorkLocation = userWorkLocation;
      results.totalNum = Total_num;
      results.orderNumberArrived = OrderNumber_arrived;
      results.deliveryDetailCount = Delivery_detail_count;
      results.orderNumberNotarrive = OrderNumber_notarrive;
      results.moreThanSevenDays = More_than_seven_days;
      results.result = 'Success';
    } catch (Exception e) {
      results.result = 'Fail';
      results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
    }
    return results;
  }
    public class Results {
        @AuraEnabled
        public String result;
        @AuraEnabled
        public String errorMsg;
        @AuraEnabled
        public String agencyProType;
        @AuraEnabled
        public String category1;
        @AuraEnabled
        public Date cate2;
        @AuraEnabled
        public String eSetId;
        @AuraEnabled
        public String accountId;
        @AuraEnabled
        public List<String> title;
        @AuraEnabled
        public List<Consumable_order__c> raesList;
        @AuraEnabled
        public String userWorkLocation;
        @AuraEnabled
        public Integer totalNum;
        @AuraEnabled
        public Integer orderNumberArrived;
        @AuraEnabled
        public Integer deliveryDetailCount;
        @AuraEnabled
        public Integer orderNumberNotarrive;
        @AuraEnabled
        public Integer moreThanSevenDays;
        @AuraEnabled
        public Boolean isNoteStay;
  @AuraEnabled
  public static Results searchConsumableorderdetails(
    String category1Str,
    Date cate2Str,
    String accountidStr,
    String userWorkLocationStr,
    String agencyProTypeStr
  ) {
    Results results = new Results();
    category1 = category1Str;
    cate2 = cate2Str;
    accountid = accountidStr;
    userWorkLocation = userWorkLocationStr;
    agencyProType = agencyProTypeStr;
    try {
      // cate2 = coc.Shipment_date__c;
      // 获得订单一览
      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();
      // 获得字段标签和字段名
      title = new List<String>();
      column = new List<String>();
      columns = new List<List<String>>();
      for (FieldSetMember fsm : fsmList) {
        title.add(fsm.getLabel());
        column.add(fsm.getFieldPath());
        columns.add(fsm.getFieldPath().split('\\.'));
      }
      // 获得显示数据
      raesList = new List<Consumable_order__c>();
      String soql = 'select Id';
      for (String s : column) {
        soql += ',' + s;
      }
      soql +=
        ' from Consumable_order__c where Order_type__c = \'' +
        '订单' +
        '\' and  recordtypeid =\'' +
        System.Label.RT_ConOrder_Delivery +
        '\' and Dealer_Info__c =\'' +
        accountid +
        '\' and  (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) ';
      soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
      soql += 'and showFalseNotshowTrue__c = false';
      if (!String.isBlank(category1)) {
        soql +=
          ' and Name like \'%' +
          String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) +
          '%\' ';
      }
      if (cate2 != null) {
        soql += ' and Shipment_date__c = :cate2 ';
      }
      soql += '  and Order_ProType__c =\'' + agencyProType + '\'';
      soql += ' order by Deliver_date__c';
      system.debug('====soql:' + soql);
      raesList = Database.query(soql);
      results.raesList = raesList;
      results.result = 'Success';
    } catch (Exception e) {
      results.result = 'Fail';
      results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
    }
}
    return results;
  }
  public class Results {
    @AuraEnabled
    public String result;
    @AuraEnabled
    public String errorMsg;
    @AuraEnabled
    public String agencyProType;
    @AuraEnabled
    public String category1;
    @AuraEnabled
    public Date cate2;
    @AuraEnabled
    public String eSetId;
    @AuraEnabled
    public String accountId;
    @AuraEnabled
    public List<String> title;
    @AuraEnabled
    public List<Consumable_order__c> raesList;
    @AuraEnabled
    public String userWorkLocation;
    @AuraEnabled
    public Integer totalNum;
    @AuraEnabled
    public Integer orderNumberArrived;
    @AuraEnabled
    public Integer deliveryDetailCount;
    @AuraEnabled
    public Integer orderNumberNotarrive;
    @AuraEnabled
    public Integer moreThanSevenDays;
    @AuraEnabled
    public Boolean isNoteStay;
  }
}
force-app/main/default/classes/LexArriveGoodsMainControllerTest.cls
@@ -1,81 +1,61 @@
@istest
public class LexArriveGoodsMainControllerTest {
    @IsTest
    static void lexArriveGoodsMainControllerTest1() {
    static void lexArriveGoodsMainControllerTest1(){
        User myUser_test = new User();
        Account myAccount1;
        Contact core;
        User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        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 = '販売店'
            ];
        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 = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            myAccount1 = new Account(name = 'testaccount001', RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999900');
            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',
                EmailEncodingKey = 'UTF-8',
                LastName = 'testUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                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 = '北京'
            );
                TimeZoneSidKey='Asia/Shanghai',
                UserName='testUser@testorg.com',
                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__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 };
        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 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 Product2__c[] {pro1, pro2};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c(
                Name = 'OCM_01_001',
                Name='OCM_01_001',
                RecordTypeId = System.Label.RT_ConOrder_Delivery,
                Order_type__c = '订单',
                Dealer_info__c = myAccount1.Id,
                Order_ProType__c = 'ET'
            );
                Order_type__c ='订单',
                Dealer_info__c=myAccount1.Id,
                Order_ProType__c = 'ET');
            Consumable_order__c Order2 = new Consumable_order__c(
                Name = 'OCM_01_002',
                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_type__c ='订单',
                Dealer_info__c=myAccount1.Id,
                Order_ProType__c = 'ET');
            insert new Consumable_order__c[] {Order1, Order2};
            //明细1
            Consumable_orderdetails__c createDetail = new Consumable_orderdetails__c();
@@ -83,51 +63,47 @@
            createDetail.Consumable_Product__c = pro1.id;
            createDetail.Dealer_Custom_Price__c = 999.00;
            createDetail.Consumable_count__c = 3;
            createDetail.Consumable_order__c = Order1.id;
            createDetail.Consumable_order__c =  Order1.id;
            createDetail.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert createDetail;
            Consumable_orderdetails__c createDetail1 = new Consumable_orderdetails__c();
            createDetail1.name = 'Too002';
            createDetail1.Consumable_Product__c = pro2.id;
            createDetail1.Consumable_order__c = Order2.id;
            createDetail1.Consumable_order__c =  Order2.id;
            createDetail1.Dealer_Custom_Price__c = 999.00;
            createDetail1.Consumable_count__c = 4;
            createDetail1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert createDetail1;
            //订单明细
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(
                Name = 'OCM_01_001001',
            Consumable_order_details2__c Orderdet1 =  new Consumable_order_details2__c(
                Name='OCM_01_001001',
                Consumable_order_minor__c = Order1.Id,
                Arrive_date__c = Date.today(),
                Consumable_Product__c = pro1.id,
                RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery
            );
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(
                Name = 'OCM_01_001002',
                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
            );
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(
                Name = 'OCM_01_001003',
                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
            );
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(
                Name = 'OCM_01_001004',
                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
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexArriveGsDetailsController.cls
@@ -19,72 +19,45 @@
        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 == '') {
            } 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
                    FROM Consumable_order__c
                    WHERE id = :eSetId
                ];
                coc = new Consumable_order__c();
                if (rs.size() > 0) {
            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
                        FROM Consumable_order__c
                        WHERE id =:eSetId];
                coc =  new Consumable_order__c();
                if(rs.size()>0){
                    coc = rs[0];
                    orderallcount = coc.Arrive_Order__r.Total_num__c;
                }
                if (coc.Arrive_Order__c == null) {
                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,
                        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
                ];
                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 ];
                for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
                    consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
                }
                        consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
                    }
            }
            for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) {
            for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){
                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
            }
@@ -92,7 +65,7 @@
            //add by rentx 20210622 CHAN-C3K4ZQ
            // makeRecordsView(consumableorderdetailsRecords);
            //add by rentx 20210622 CHAN-
            for (ConsumableorderdetailsInfo con : consumableorderdetailsRecords) {
            for(ConsumableorderdetailsInfo con : consumableorderdetailsRecords){
                con.prodName = con.esd.Consumable_Product__r.Name__c;
            }
            results.coc = coc;
@@ -117,28 +90,25 @@
        try {
            orderallcount = orderallcountParm;
            consumableorderdetailsCount = consumableorderdetailsCountParm;
            coc = (Consumable_order__c) JSON.deserialize(cocStr, Consumable_order__c.class);
            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
                FROM Consumable_order_details2__c
                WHERE
                    Consumable_order_minor__c = :coc.Arrive_Order__c
                    AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
                    AND Dealer_Arrive__c = TRUE
            ];
            if (orderallcount != consumableorderdetailsCount) {
            orderdetails = [SELECT Id
                            FROM Consumable_order_details2__c
                            WHERE Consumable_order_minor__c =:coc.Arrive_Order__c
                            AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
                            AND Dealer_Arrive__c = true ];
            if(orderallcount!= consumableorderdetailsCount){
                results.result = 'Fail';
                results.errorMsg = '订单不完全到货,无法出库';
                return results;
            }
            if (coc.Arrive_Order__r.IsShipment__c == true) {
            if(coc.Arrive_Order__r.IsShipment__c == true){
                results.result = 'Fail';
                results.errorMsg = '订单已经出库';
                return results;
            }
            results.url = '/lexsummonscreat?arriveorder=' + eSetId + '&KeyWords=Redirect';
            results.url = '/lexsummonscreat?arriveorder=' + eSetId +'&KeyWords=Redirect';
            results.result = 'Success';
        } catch (Exception e) {
            results.result = 'Fail';
@@ -174,7 +144,7 @@
        @AuraEnabled
        public Consumable_order_details2__c esd;
        @AuraEnabled
        public Product2__c Prod;
        public Product2__c Prod;
        @AuraEnabled
        public Decimal packing_list;
        @AuraEnabled
@@ -188,6 +158,7 @@
        @AuraEnabled
        public String prodName;
        // 已存在消耗品明细用
        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
            esd = e;
@@ -198,4 +169,4 @@
            return null;
        }
    }
}
}
force-app/main/default/classes/LexArriveGsDetailsControllerTest.cls
@@ -1,66 +1,33 @@
@isTest
public class LexArriveGsDetailsControllerTest {
    @IsTest
    static void test1() {
    static void test1(){
        User myUser_test = new User();
        Account myAccount1;
        Account myAccount2;
        Contact core;
        User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        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 = '販売店'
            ];
        System.runAs(currentUser){
            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 };
            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 };
            myAccount2 = new Account(name = 'Testaccount002', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id);
            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 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);
            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) {
            System.runAs(MyUser_Test){
                StaticParameter.ConsumableAssetHanderTrigger = true;
                Consumable_order__c order1 = new Consumable_order__c();
                order1.Name = 'OCM_01_001';
@@ -68,16 +35,16 @@
                order1.Order_type__c = '订单';
                order1.Dealer_Info__c = myAccount2.Id;
                order1.RecordTypeid = System.Label.RT_ConOrder_Arrive;
                insert order1;
                insert  order1;
                Consumable_order__c olyorder = new Consumable_order__c();
                olyorder.Name = 'OCM_01_001';
                olyorder.Order_status__c = '批准';
                olyorder.Order_type__c = '订单';
                olyorder.Dealer_Info__c = myAccount2.Id;
                olyorder.RecordTypeid = System.Label.RT_ConOrder_Delivery;
                insert olyorder;
                insert  olyorder;
                //订单明细
                Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
                Orderdet1.Name = 'OCM_01_001001';
@@ -93,80 +60,42 @@
                //Orderdet2.IsArrival__c = true;
                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);
            }
        }
    }
    @IsTest
    static void test2() {
    static void test2(){
        User myUser_test = new User();
        Account myAccount1;
        Account myAccount2;
        Contact core;
        User currentUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        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 = '販売店'
            ];
        System.runAs(currentUser){
            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 };
            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 };
            myAccount2 = new Account(name = 'Testaccount002', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id);
            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 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);
            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) {
            System.runAs(MyUser_Test){
                StaticParameter.ConsumableAssetHanderTrigger = true;
                Consumable_order__c order1 = new Consumable_order__c();
                order1.Name = 'OCM_01_001';
@@ -174,7 +103,7 @@
                order1.Order_type__c = '订单';
                order1.RecordTypeid = System.Label.RT_ConOrder_Arrive;
                order1.IsShipment__c = true;
                insert order1;
                insert  order1;
                Consumable_order__c olyorder = new Consumable_order__c();
                olyorder.Name = 'OCM_01_001';
@@ -183,7 +112,8 @@
                olyorder.Dealer_Info__c = myAccount2.Id;
                olyorder.RecordTypeid = System.Label.RT_ConOrder_Delivery;
                olyorder.IsShipment__c = true;
                insert olyorder;
                insert  olyorder;
                //订单明细
                Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
@@ -201,10 +131,10 @@
                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
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexCancelRemoveBoxController.cls
@@ -1,6 +1,6 @@
public with sharing class LexCancelRemoveBoxController {
    //经销商产品分类
    public static String agencyProType { get; set; }
    public static String agencyProType {get;set;}
    public static String userPro_Typestr = null;
    public static String barcode { get; set; }
    /*****************画面表示Bean******************/
@@ -9,32 +9,32 @@
    public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordserror { get; set; }
    //拆盒明细
    public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { get; set; }
    public static boolean saveFLGbln { get; set; }
    public static boolean saveFLGbln {get;set;}
    //错误信息
    public static String alertMessage { get; set; }
    public static String alertMessage {set;get;}
    //拆盒明细件数
    public static Integer getinventorysize() {
    public static Integer getinventorysize(){
        return ConsumableorderdetailsRecordsdummy.size();
    }
    public static Map<String, String> ExistIdMap = new Map<String, String>();
    public static Map<String, String> ErrorIdMap = new Map<String, String>();
    public static Map<String, String> AllMap = new Map<String, String>();
    public static List<String> BarCodeListP = new List<String>();
    public static  List<String> BarCodeListP = new List<String>();
    //不符合的barcode和型号
    public static list<String> notInlist = new List<String>();
    public static String baseUrl { get; private set; }
    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;
    //public String[] proidList =new String[]{};
    // 登录者工作地
    private static String userWorkLocation;
    public LexCancelRemoveBoxController() {
    public LexCancelRemoveBoxController(){
        baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
        ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>();
        ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>();
        consumableInventory = new List<ConsumableorderdetailsInfo>();
        saveFLGbln = false;
        saveFLGbln = FALSE;
    }
    @AuraEnabled
@@ -44,46 +44,39 @@
        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;
        if (String.isBlank(Useracc[0].UserPro_Type__c)) {
        if(String.isBlank(Useracc[0].UserPro_Type__c)){
            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(',');
        data.put('accountName', accountName);
        data.put('userWorkLocation', userWorkLocation);
        data.put('agencyProType', agencyProType);
        data.put('accountName',accountName);
        data.put('userWorkLocation',userWorkLocation);
        data.put('agencyProType',agencyProType);
        res.status = 'Success';
        res.code = 200;
        System.debug('res = ' + res);
        return res;
    }
    // 将页面或取得BarCode去掉重复的,转换成List
    public static List<String> ParseBarCode(String Code) {
        String[] Cache = new List<String>{};
    public static List<String> ParseBarCode(String Code){
        String[] Cache = new String[]{};
        Cache = Code.split('\n');
        Set<String> Buff = new Set<String>();
        for (String A : Cache) {
        Set <String> Buff = new Set<String>();
        for(String A : Cache){
            Buff.add(A);
        }
        List<String> outPut = new List<String>();
        for (String B : Buff) {
        for(String B :Buff){
            B = B.trim();
            outPut.add(B);
        }
@@ -92,14 +85,9 @@
    //获取明细
    @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>();
        Map<String,object> data = new Map<String,object>();
        res.entity = data;
        userPro_Typestr = '%' + agencyProType + '%';
        barcode = barcode;
@@ -109,18 +97,20 @@
        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;
        alertMessage = '';
        saveFLGbln = FALSE;
        alertMessage='';
        //判断barcode是否为空
        if (barcode == null || barcode == '') {
            return new ResponseBodyLWC('Error', 500, '请输入BarCode号', '');
        if(barcode == null || barcode ==''){
            return new ResponseBodyLWC('Error',500, '请输入BarCode号', '');
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'请输入BarCode号。'));
            // return;
        }
@@ -132,416 +122,309 @@
        // 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,
                //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
                AND Dealer_Info_text__c = :accountName
                AND Arrive_Owner_Work_Location__c = :userWorkLocation
                AND (NOT Product_Type__c LIKE :userPro_Typestr)
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    AND   Dealer_Info_text__c = :accountName
                    AND   Arrive_Owner_Work_Location__c = : userWorkLocation
                    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)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                    String str = '该商品类型' + reSet1[i].Product_Type__c + '与产品类型' + agencyProType + '不符,不能拆盒';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                }else{
                    String str = '该商品类型'+ reSet1[i].Product_Type__c +'与产品类型'+ agencyProType +'不符,不能拆盒';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                AND Box_Piece__c = '盒'
                //AND  ProductPacking_list_manual__c > 1
                AND Bar_Code__c IN :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ]; //没出库,没销售,在库,没有拆盒
        if (reSet1.size() > 0) {
        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
                    AND  Box_Piece__c = '盒'
                    //AND  ProductPacking_list_manual__c > 1
                    AND  Bar_Code__c in :BarCodeListP
                    AND  Dealer_Info_text__c = :accountName
                    ORDER BY Name ];  //没出库,没销售,在库,没有拆盒
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品没有拆盒';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                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 Bar_Code__c IN :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    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   Bar_Code__c in :BarCodeListP
                    AND   Dealer_Info_text__c = :accountName
                    ORDER BY Name ];
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品还未到货';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    AND   Box_Piece__c = '个'
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                    AND   Dealer_Info_text__c = :accountName
                    ORDER BY Name ];
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品存在出货履历';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    AND   Box_Piece__c = '个'
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                    AND   Dealer_Info_text__c = :accountName
                    ORDER BY Name ];
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品存在销售履历';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    AND   Box_Piece__c = '个'
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                    AND   Dealer_Info_text__c = :accountName
                    ORDER BY Name ];
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品存在返品履历';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                AND Box_Piece__c = '个'
                AND RemoveBox_date__c != NULL
                AND Bar_Code__c IN :BarCodeListP
                AND Dealer_Info_text__c = :accountName
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    AND   Box_Piece__c = '个'
                    AND   RemoveBox_date__c != null
                    AND   Bar_Code__c in :BarCodeListP
                    AND   Dealer_Info_text__c = :accountName
                    ORDER BY Name ];
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品存在盘点履历';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__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
                AND Dealer_Info_text__c = :accountName
                AND Arrive_Owner_Work_Location__c != :userWorkLocation
            ORDER BY Name
        ];
        if (reSet1.size() > 0) {
        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
                    AND   Dealer_Info_text__c = :accountName
                    AND   Arrive_Owner_Work_Location__c !=: userWorkLocation
                    ORDER BY Name ];
        if(reSet1.size() > 0){
            for (Integer i = 0; i < reSet1.size(); i++) {
                if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) {
                if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
                    // 跳过已经处理的消耗品明细
                    continue;
                } else {
                }else{
                    String str = '该商品属于' + reSet1[i].Arrive_Owner_Work_Location__c + ',不能取消拆盒';
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c);
                    ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
                    ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
                }
            }
        }
        reSet = [
            SELECT
                Id,
                Name,
                Intra_Trade_List_RMB__c,
                Asset_Model_No__c,
                Consumable_Product__c,
                Consumable_Product__r.Name,
                Consumable_Product__r.Name__c,
                Sterilization_limit__c,
                Deliver_date__c,
                Bar_Code__c,
                Arrive_date__c,
                Send_Date__c,
                Consumable_order_minor__r.Name,
                Consumable_order_minor__c,
                Dealer_Arrive__c,
                Guarantee_period_for_products__c,
                CFDA_Status__c,
                ProductPacking_list_manual__c,
                Report_Product_Approbation__c,
                Report_Product_Expiration__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
                AND Box_Piece__c = '个'
                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
        ];
        if (reSet.size() > 0) {
        reSet = [SELECT Id,
                        Name,
                        Intra_Trade_List_RMB__c,
                        Asset_Model_No__c,
                        Consumable_Product__c,
                        Consumable_Product__r.Name,
                        Consumable_Product__r.Name__c,
                        Sterilization_limit__c,
                        Deliver_date__c,
                        Bar_Code__c,
                        Arrive_date__c,
                        Send_Date__c,
                        Consumable_order_minor__r.Name,
                        Consumable_order_minor__c,
                        Dealer_Arrive__c,
                        Guarantee_period_for_products__c,
                        CFDA_Status__c,
                        ProductPacking_list_manual__c,
                        Report_Product_Approbation__c,
                        Report_Product_Expiration__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
                    AND Box_Piece__c = '个'
                    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
                ];
        if(reSet.size()>0){
            for (Integer i = 0; i < reSet.size(); i++) {
                if (ErrorIdMap.containsKey(reSet[i].Bar_Code__c)) {
                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);
                    ExistIdMap.put(reSet[i].Bar_Code__c,reSet[i].Bar_Code__c);
                }
            }
        }
@@ -549,97 +432,89 @@
        AllMap.putAll(ExistIdMap);
        //得到不存在的BarCode
        for (Integer i = 0; i < BarCodeListP.size(); i++) {
            if (ExistIdMap.containsKey(BarCodeListP[i])) {
        for(Integer i = 0; i < BarCodeListP.size(); i++){
            if(ExistIdMap.containsKey(BarCodeListP[i])){
                continue;
            } else if (ErrorIdMap.containsKey(BarCodeListP[i])) {
            }else if(ErrorIdMap.containsKey(BarCodeListP[i])){
                continue;
            } else {
            }else{
                notInlist.add(BarCodeListP[i]);
            }
        }
        if (notInlist.size() > 0) {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。'));
            return new ResponseBodyLWC('Error', 500, 'BarCode' + notInlist + '不存在。', '');
        if(notInlist.size()>0){
                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。'));
                return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '不存在。', '');
        }
        data.put('ConsumableorderdetailsRecordsdummy', JSON.serialize(ConsumableorderdetailsRecordsdummy));
        data.put('ConsumableorderdetailsRecordserror', JSON.serialize(ConsumableorderdetailsRecordserror));
        data.put('dataSize', ConsumableorderdetailsRecordsdummy.size());
        data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy));
        data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror));
        data.put('dataSize',ConsumableorderdetailsRecordsdummy.size());
        res.status = 'Success';
        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>();
        Map<String,object> data = new Map<String,object>();
        res.entity = data;
        userPro_Typestr = '%' + agencyProType + '%';
        accountName = accountName;
        userWorkLocation = userWorkLocation;
        List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
            saveConsumableorderdetailsRecordsdummy,
            List<ConsumableorderdetailsInfo>.class
        );
        userWorkLocation =userWorkLocation;
        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) {
        if(ConsumableorderdetailsRecordsdummy.size()<1){
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在取消拆盒明细'));
            return new ResponseBodyLWC('Error', 500, '不存在取消拆盒明细', '');
            return new ResponseBodyLWC('Error',500, '不存在取消拆盒明细', '');
            // return null;
        }
        List<String> BarCodeList = new List<String>();
        for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) {
        for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy)  {
            BarCodeList.add(tmp.esd.Bar_Code__c);
        }
        try {
        try{
            //取得通番大于001的在库明细
            List<Consumable_order_details2__c> orderDetails2del = [
                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__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
            List<Consumable_order_details2__c> orderDetails2del =  [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__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
                    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 Dealer_Info_text__c = :accountName
                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
                    AND Product_Type__c LIKE :userPro_Typestr
            ];
                    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
                ];
            List<Consumable_order_details2__c> orderlistdel = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> orderlistupd = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> orderlistupd= new List<Consumable_order_details2__c>();
            for (Consumable_order_details2__c detail2tmp : orderDetails2del) {
                Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c();
                delDetails2.Id = detail2tmp.Id;
                delDetails2.Id                           = detail2tmp.Id;
                //删除通番大于001的明细2
                //delete delDetails2;
@@ -647,48 +522,46 @@
            }
            //取得通番001的在库明细
            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__c*/
                    //add by rebtx 2020-10-13 end
            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__c*/
                        //add by rebtx 2020-10-13 end
                    // tcm start
                    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
                    ,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
                    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 Dealer_Info_text__c = :accountName
                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
                    AND Product_Type__c LIKE :userPro_Typestr
            ];
                    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
                ];
            for (Consumable_order_details2__c detail2tmp : orderDetails2) {
                Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c();
                updDetails2.Id = detail2tmp.Id;
                updDetails2.Box_Piece__c = '盒';
                updDetails2.RemoveBox_date__c = null;
                updDetails2.RemoveBox_No__c = null;
                updDetails2.Id                           = detail2tmp.Id;
                updDetails2.Box_Piece__c                 = '盒';
                updDetails2.RemoveBox_date__c            = null;
                updDetails2.RemoveBox_No__c              = null;
                // tcm start
                if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) {
                    updDetails2.ContractNo_text__c = detail2tmp.ContractNo_text__c;
                } else {
                    updDetails2.ContractNo_text__c = detail2tmp.Consumable_order_minor__r.ContractNo__c;
                    updDetails2.ContractNo_text__c= detail2tmp.ContractNo_text__c;
                }else {
                    updDetails2.ContractNo_text__c= detail2tmp.Consumable_order_minor__r.ContractNo__c;
                }
                // updDetails2.ContractNo_text__c       = detail2tmp.ContractNo__c;
                // tcm end
@@ -698,28 +571,29 @@
                orderlistupd.add(updDetails2);
            }
            if (orderlistdel.size() > 0) {
            if(orderlistdel.size()>0){
                delete orderlistdel;
            }
            if (orderlistupd.size() > 0) {
            if(orderlistupd.size()>0){
                update orderlistupd;
            }
            saveFLGbln = true;
            alertMessage = '取消拆盒完成';
            data.put('saveFLGbln', saveFLGbln);
            data.put('saveFLGbln',saveFLGbln);
            res.status = 'Success';
            res.code = 200;
            res.msg = alertMessage;
            System.debug('res = ' + res);
            return res;
            // return null;
        } catch (Exception e) {
        }catch(Exception e){
            Database.rollback(sp);
            ApexPages.addMessages(e);
            return null;
        }
    }
    @TestVisible
    class ConsumableorderdetailsInfo implements Comparable {
@@ -733,18 +607,18 @@
        //public String tracingCodeNo { get; set; }
        public String oldConsumableCount { get; set; }
        public String ErrorReason { get; set; }
        public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) {
            esd = e;
            Prod = e.Consumable_Product__r;
        public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) {
            esd                = e;
            Prod               = e.Consumable_Product__r;
            oldConsumableCount = e.name;
            ErrorReason = str;
            ErrorReason        = str;
        }
        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
            esd = e;
            Prod = e.Consumable_Product__r;
            esd                = e;
            Prod               = e.Consumable_Product__r;
            oldConsumableCount = e.name;
        }
        /*
/*
        public ConsumableorderdetailsInfo(Product2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) {
            esd = new Consumable_order_details2__c();
            ProductName = e.Name__c;
@@ -770,4 +644,4 @@
            return null;
        }
    }
}
}
force-app/main/default/classes/LexCancelRemoveBoxControllerTest.cls
@@ -1,91 +1,35 @@
@IsTest
private class LexCancelRemoveBoxControllerTest {
    static testMethod void testMethod1() {
    static testMethod void testMethod1(){
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        user myUser_test;
        Account myAccount2;
        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 = '販売店'
            ];
        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 = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            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'
            );
            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');
            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__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 };
        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 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 Product2__c[] {pro1, pro2,pro3};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
@@ -94,8 +38,9 @@
            Order1.Dealer_Info__c = myAccount2.Id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            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();
@@ -107,8 +52,8 @@
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet2.Used_date__c = null;
            Orderdet2.Lose_Flag__c = false;
            Orderdet2.Return_date__c = null;
            Orderdet2.Send_Date__c = null;
            Orderdet2.Return_date__c= null;
            Orderdet2.Send_Date__c= null;
            Orderdet2.Box_Piece__c = '盒';
            conList.add(Orderdet2);
            // insert Orderdet2;
@@ -122,13 +67,15 @@
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.Send_Date__c = Date.today();
            Orderdet3.Box_Piece__c = '个';
            Orderdet3.RemoveBox_date__c = Date.today();
            Orderdet3.RemoveBox_date__c= Date.today();
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet3.Used_date__c = null;
            Orderdet3.Lose_Flag__c = false;
            Orderdet3.Return_date__c = null;
            Orderdet3.Return_date__c= null;
            conList.add(Orderdet3);
            // insert Orderdet3;
            //sale
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
@@ -138,13 +85,14 @@
            Orderdet4.Asset_Model_No__c = 'Test02';
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.Box_Piece__c = '个';
            Orderdet4.RemoveBox_date__c = Date.today();
            Orderdet4.RemoveBox_date__c= Date.today();
            Orderdet4.Bar_Code__c = '011495317020843711170400172003311074K250CXSDS';
            Orderdet4.Lose_Flag__c = false;
            Orderdet4.Return_date__c = null;
            Orderdet4.Used_date__c = Date.today();
            Orderdet4.Return_date__c= null;
            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();
@@ -155,17 +103,17 @@
            Orderdet5.Arrive_date__c = Date.today();
            //Orderdet5.Used_date__c = Date.today();
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.RemoveBox_date__c = Date.today();
            Orderdet5.RemoveBox_date__c= Date.today();
            Orderdet5.Used_date__c = null;
            Orderdet5.Lose_Flag__c = false;
            Orderdet5.Return_date__c = null;
            Orderdet5.Send_Date__c = null;
            Orderdet5.Return_date__c= null;
            Orderdet5.Send_Date__c=null;
            Orderdet5.Bar_Code__c = '010495317014059411170400172203311074K250DCWQW';
            // insert Orderdet5;
            conList.add(Orderdet5);
            //pandian
            Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
         Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
            Orderdet7.Name = 'OCM_01_001004';
            Orderdet7.Consumable_order_minor__c = Order1.Id;
            Orderdet7.Consumable_Product__c = pro2.Id;
@@ -173,12 +121,12 @@
            Orderdet7.Box_Piece__c = '盒';
            Orderdet7.Lose_Flag__c = false;
            Orderdet7.Bar_Code__c = '010495317014059411170400172203311074K250DBVUD';
            Orderdet7.RemoveBox_date__c = Date.today();
            Orderdet7.Inventory_date__c = Date.today();
            Orderdet7.RemoveBox_date__c= Date.today();
            Orderdet7.Inventory_date__c= Date.today();
            // insert Orderdet7;
            conList.add(Orderdet7);
            Consumable_order_details2__c Orderdet8 = new Consumable_order_details2__c();
            Consumable_order_details2__c Orderdet8= new Consumable_order_details2__c();
            Orderdet8.Name = 'OCM_01_001004';
            Orderdet8.Consumable_order_minor__c = Order1.Id;
            Orderdet8.Consumable_Product__c = pro2.Id;
@@ -189,89 +137,61 @@
            Orderdet8.Bar_Code__c = '1683272847250250WZIOF';
            Orderdet8.Used_date__c = null;
            Orderdet8.Lose_Flag__c = false;
            Orderdet8.Return_date__c = null;
            Orderdet8.RemoveBox_date__c = Date.today();
            Orderdet8.Send_Date__c = null;
            Orderdet8.RemoveBox_No__c = 3;
            Orderdet8.Return_date__c= null;
            Orderdet8.RemoveBox_date__c=Date.today();
            Orderdet8.Send_Date__c=null;
            Orderdet8.RemoveBox_No__c =3;
            conList.add(Orderdet8);
            insert conList;
            // insert Orderdet8;
            System.Test.startTest();
            LexCancelRemoveBoxController.init();
            // LexCancelRemoveBoxController.getinventorysize();
            LexCancelRemoveBoxController.searchConsumableorderdetails('1683272847250250WZIOF', '捷尔医疗(海南)有限公司', '深圳', 'ENG');
            LexCancelRemoveBoxController.searchConsumableorderdetails('', '捷尔医疗(海南)有限公司', '深圳', 'ENG');
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList), '捷尔医疗(海南)有限公司', '深圳', 'ENG');
            LexCancelRemoveBoxController.searchConsumableorderdetails('1683272847250250WZIOF','捷尔医疗(海南)有限公司','深圳','ENG');
            LexCancelRemoveBoxController.searchConsumableorderdetails('','捷尔医疗(海南)有限公司','深圳','ENG');
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList),'捷尔医疗(海南)有限公司','深圳','ENG');
            System.Test.stopTest();
        }
    }
    static testMethod void testMethod2() {
    static testMethod void testMethod2(){
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        user myUser_test;
        Account myAccount2;
        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 = '販売店'
            ];
        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 = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            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'
            );
            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');
            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) {
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '到货';
            Order1.Dealer_Info__c = myAccount2.Id;
            Order1.RecordTypeid = '01210000000c9dqAAA';
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>();
        System.runAs(MyUser_Test){
             //订单
             Consumable_order__c Order1 = new Consumable_order__c();
             Order1.Name = 'OCM_01_001';
             Order1.Order_status__c = '批准';
             Order1.Order_type__c = '到货';
             Order1.Dealer_Info__c = myAccount2.Id;
             Order1.RecordTypeid = '01210000000c9dqAAA';
             Order1.Order_ProType__c = 'ET';
             insert  Order1;
            List<Consumable_order_details2__c> conList = new  List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList1 = new  List<Consumable_order_details2__c>();
            Consumable_order_details2__c con = new Consumable_order_details2__c();
            con.Consumable_Arrived_order__c = Order1.Id;
            con.Send_Date__c = null;
@@ -297,131 +217,50 @@
            con.RemoveBox_No__c = 1;
            con1.Bar_Code__c = '1682414917514250XSCYW';
            conList.add(con1);
            insert (conList);
            System.debug('conList' + conList);
            insert(conList);
            System.debug('conList'+conList);
            System.Test.startTest();
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList), 'Testaccount002', '重庆', 'ET');
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList1), 'Testaccount002', '重庆', 'ET');
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList),'Testaccount002','重庆','ET');
            LexCancelRemoveBoxController.cancelRemoveBoxConfirm(JSON.serialize(conList1),'Testaccount002','重庆','ET');
            System.Test.stopTest();
        }
    }
    static testMethod void testMethod3() {
    }
}
    static testMethod void testMethod3(){
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        User myUser_test;
        Account myAccount2;
        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 = '販売店'
            ];
        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 = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            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');
            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);
            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.debug('MyUser_Test'+MyUser_Test);
        }
        System.runAs(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__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 };
            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 Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01';
@@ -430,7 +269,7 @@
            Order1.Dealer_Info__c = myAccount2.Id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Order_ProType__c = 'ENG';
            insert Order1;
            insert  Order1;
            //出货
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01';
@@ -439,11 +278,11 @@
            Order2.Dealer_Info__c = myAccount2.Id;
            Order2.RecordTypeid = '012100000006Jx9AAE';
            Order2.Order_ProType__c = 'ENG';
            insert Order2;
            insert  Order2;
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c> ();
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> ();
            List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c> ();
            //产品类型不同
            Consumable_order_details2__c con = new Consumable_order_details2__c();
            con.Name = 'OCM_01_001001';
@@ -454,8 +293,8 @@
            con.Bar_Code__c = '10061';
            con.Used_date__c = null;
            con.Lose_Flag__c = false;
            con.Return_date__c = null;
            con.Send_Date__c = null;
            con.Return_date__c= null;
            con.Send_Date__c= null;
            con.Box_Piece__c = '盒';
            conList.add(con);
            insert conList;
@@ -469,7 +308,7 @@
            conList1.add(con1);
            //没有拆盒
            Consumable_order_details2__c con2 = new Consumable_order_details2__c();
            con2.Send_Date__c = null;
            con2.Send_Date__c =null;
            con2.Used_date__c = null;
            con2.Lose_Flag__c = false;
            con2.Box_Piece__c = '盒';
@@ -484,7 +323,7 @@
            //已出货 未到货
            Consumable_order_details2__c con3 = new Consumable_order_details2__c();
            con3.Arrive_date__c = null;
            con3.Send_Date__c = null;
            con3.Send_Date__c =null;
            con3.Used_date__c = null;
            con3.Return_date__c = null;
            con3.Lose_Flag__c = false;
@@ -510,22 +349,14 @@
            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;
            c2.ErrorReason = str;
            c2.ErrorReason  = str;
            LexCancelRemoveBoxController.ConsumableorderdetailsInfo c1 = new LexCancelRemoveBoxController.ConsumableorderdetailsInfo(con2);
            c1.esd = con;
            c1.Prod = con.Consumable_product__r;
@@ -534,123 +365,43 @@
            System.Test.stopTest();
        }
    }
    static testMethod void testMethod4() {
    static testMethod void testMethod4(){
        Oly_TriggerHandler.bypass('ConsumableAssetHander');
        Oly_TriggerHandler.bypass('Oly_TriggerHandler');
        User myUser_test;
        Account myAccount2;
        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 = '販売店'
            ];
        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 = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            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');
            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);
            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.debug('MyUser_Test'+MyUser_Test);
        }
        System.runAs(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__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 };
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
            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 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();
            Order1.Name = 'OCM_01';
@@ -660,7 +411,7 @@
            Order1.RecordTypeid = '01210000000c9duAAA';
            Order1.Order_ProType__c = 'ENG';
            orderList.add(Order1);
            //返品
            //返品
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01';
            Order2.Order_status__c = '批准';
@@ -690,9 +441,9 @@
            orderList.add(Order4);
            insert orderList;
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c> ();
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> ();
            List<Consumable_order_details2__c> conList2 = new List<Consumable_order_details2__c> ();
            //拆盒已销售
            Consumable_order_details2__c con4 = new Consumable_order_details2__c();
            con4.Arrive_date__c = Date.today();
@@ -703,7 +454,7 @@
            con4.Used_date__c = Date.today();
            con4.Lose_Flag__c = false;
            con4.Box_Piece__c = '个';
            con4.RemoveBox_date__c = Date.today();
            con4.RemoveBox_date__c = Date.today();
            con4.RecordTypeId = '01210000000kUDKAA2';
            con4.Consumable_Product__c = pro2.Id;
            con4.Bar_Code__c = '100611';
@@ -719,7 +470,7 @@
            con5.Sterilization_limit__c = Date.today();
            con5.Used_date__c = Date.today();
            con5.Box_Piece__c = '个';
            con5.RemoveBox_date__c = Date.today();
            con5.RemoveBox_date__c = Date.today();
            con5.RecordTypeId = '01210000000kUDPAA2';
            con5.Consumable_Product__c = pro2.Id;
            con5.Consumable_order_minor__c = Order4.Id;
@@ -742,7 +493,7 @@
            conList2.add(con6);
            insert conList2;
            List<Consumable_order_details2__c> conList3 = new List<Consumable_order_details2__c>();
            List<Consumable_order_details2__c> conList3 = new List<Consumable_order_details2__c> ();
            //拆盒已出货
            Consumable_order_details2__c con3 = new Consumable_order_details2__c();
            con3.Arrive_date__c = Date.today();
@@ -751,7 +502,7 @@
            con3.Used_date__c = null;
            con3.Lose_Flag__c = false;
            con3.Box_Piece__c = '个';
            con3.Deliver_date__c = Date.today();
            con3.Deliver_date__c =  Date.today();
            con3.RemoveBox_date__c = Date.today();
            con3.RecordTypeId = '01210000000kUDKAA2';
            con3.Consumable_Product__c = pro2.Id;
@@ -760,6 +511,7 @@
            con3.Sterilization_limit__c = Date.today();
            conList3.add(con3);
            insert conList3;
            //reset
            // Consumable_order_details2__c con1 = new Consumable_order_details2__c();
@@ -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
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexConInvoiceListTest.cls
@@ -1,83 +1,34 @@
@isTest
private class LexConInvoiceListTest {
    static testMethod void conInvoiceListTestinit() {
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);
            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();
@@ -89,88 +40,38 @@
        }
    }
    //检索
    static testMethod void invoiceCodeSearchTest() {
    static testMethod void invoiceCodeSearchTest(){
        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);
            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');
            LexConInvoiceList.invoiceCodeSearch(Date.today(),Date.today(),'提交','test','test1','0010l00001ajxZ2AAI','北京','ET');
            // CDC.init();
            // System.assertEquals('Test1', CDC.raesList[0].name);
            // System.assertEquals('Test2', CDC.raesList[1].name);
@@ -181,4 +82,4 @@
            // System.assertEquals(2, CDC.raesList.size());
        }
    }
}
}
force-app/main/default/classes/LexConInvoiceListTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
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) {
@@ -407,7 +399,7 @@
                FROM ContentVersion
                WHERE ContentDocumentId IN :documentIds
            ];
            if (cvInfo.size() > 0) {
                for (Integer i = 0; i < cvInfo.size(); i++) {
                    attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i]));
@@ -637,8 +629,8 @@
                    invoiceHead.Order_ForDealer__c = SecondDealer;
                }
                invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
                if (Test.isRunningTest()) {
                    invoiceHead.Order_ForHospital__c = null;
                if(Test.isRunningTest()){
                    invoiceHead.Order_ForHospital__c  = null;
                }
                insert invoiceHead;
                invoiceId = invoiceHead.Id;
@@ -737,8 +729,8 @@
                    invoiceHead.Order_ForDealer__c = SecondDealer;
                }
                invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
                if (Test.isRunningTest()) {
                    invoiceHead.Order_ForHospital__c = null;
                if(Test.isRunningTest()){
                    invoiceHead.Order_ForHospital__c  = null;
                }
                insert invoiceHead;
                System.debug('invoiceHead = ' + invoiceHead);
@@ -1688,4 +1680,4 @@
            return null;
        }
    }
}
}
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls
Diff too large
force-app/main/default/classes/LexConInvoiceViewControllerTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
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
@@ -399,4 +395,4 @@
            Invoice_UnitOptsMap.put('个', '个');
        }
    }
}
}
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls
@@ -1,164 +1,68 @@
@isTest
private class LexConInvoicedetailsControllerTest {
    @isTest
    static void all() {
    static void all() {
        User myUser_test;
        Account myAccount1;
        Account myAccount2;
        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', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id);
            myAccount2 = new Account(Name = 'testaccount002', Dealer_discount__c = 20, RecordTypeId = rectHos[0].Id);
            myAccount1 = new Account(Name='testaccount001',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id );
            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
            );
            insert myAccount2;
            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) {
        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__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 };
            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 Product2__c[] {pro4, pro5,pro6,pro1, pro2, pro3};
            //发票
            Consumable_order__c invoiceorder = new Consumable_order__c();
            invoiceorder.Name = 'invoice02';
            invoiceorder.Name='invoice02';
            invoiceorder.Order_type__c = '发票';
            invoiceorder.Invoice_status__c = '已完成';
            invoiceorder.Invoice_status__c='已完成';
            invoiceorder.Invoice_Date__c = Date.today();
            invoiceorder.RecordTypeid = System.Label.RT_ConOrder_Invoice;
            invoiceorder.Dealer_info__c = myAccount1.Id;
            invoiceorder.Dealer_info__c= myAccount1.Id;
            // createId.Order_ForHospital__c = myAccount2.Id;
            invoiceorder.SummonsForDirction__c = '直接销售给医院';
            invoiceorder.Order_status__c = '草案中';
            invoiceorder.SummonsForDirction__c='直接销售给医院';
            invoiceorder.Order_status__c='草案中';
            insert invoiceorder;
            //出库单信息
            //出库单
            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 };
            TestList2.Deliver_date__c=Date.today();
            insert new Consumable_order__c[]{testList1,testList2};
            List<Consumable_Orderdetails__c> invoiceList = new List<Consumable_Orderdetails__c>();
            //发票明细1
@@ -173,10 +77,10 @@
            invoicedet1.Shipment_Count__c = 1;
            invoicedet1.Invoice_Unitprice__c = 1;
            invoicedet1.Delivery_List_RMB__c = 1;
            invoicedet1.InvoicedProCost_RMB__c = 1;
            invoicedet1.InvoicedProCost_RMB__c =1;
            invoicedet1.Invoice_Unit__c = '个';
            invoicedet1.Invoiced_Procount__c = 3;
            invoicedet1.RrturnPro_count__c = 3;
            invoicedet1.Invoiced_Procount__c  = 3;
            invoicedet1.RrturnPro_count__c =3;
            invoiceList.add(invoicedet1);
            Consumable_orderdetails__c invoicedet2 = new Consumable_orderdetails__c();
@@ -190,10 +94,10 @@
            invoicedet2.Shipment_Count__c = 1;
            invoicedet2.Invoice_Unitprice__c = 1;
            invoicedet2.Delivery_List_RMB__c = 1;
            invoicedet2.InvoicedProCost_RMB__c = 1;
            invoicedet2.InvoicedProCost_RMB__c =1;
            invoicedet2.Invoice_Unit__c = '个';
            invoicedet2.Invoiced_Procount__c = 3;
            invoicedet2.RrturnPro_count__c = 3;
            invoicedet2.Invoiced_Procount__c  = 3;
            invoicedet2.RrturnPro_count__c =3;
            invoiceList.add(invoicedet2);
            Consumable_orderdetails__c invoicedet3 = new Consumable_orderdetails__c();
@@ -209,8 +113,8 @@
            invoicedet3.Delivery_List_RMB__c = 2.0;
            invoicedet3.Invoice_Unitprice__c = 1;
            invoicedet3.InvoicedProCost_RMB__c = 1;
            invoicedet3.Invoiced_Procount__c = 3;
            invoicedet3.RrturnPro_count__c = 3;
            invoicedet3.Invoiced_Procount__c  = 3;
            invoicedet3.RrturnPro_count__c =3;
            invoiceList.add(invoicedet3);
            insert invoiceList;
@@ -228,8 +132,8 @@
            orderdet1.Delivery_List_RMB__c = 2.0;
            orderdet1.Invoice_Unitprice__c = 1;
            orderdet1.InvoicedProCost_RMB__c = 1;
            orderdet1.Invoiced_Procount__c = 3;
            orderdet1.RrturnPro_count__c = 3;
            orderdet1.Invoiced_Procount__c  = 3;
            orderdet1.RrturnPro_count__c =3;
            orderdet1.Invoice_Unit__c = '个';
            codList.add(orderdet1);
@@ -244,8 +148,8 @@
            orderdet2.Delivery_List_RMB__c = 2.0;
            orderdet2.Invoice_Unitprice__c = 1;
            orderdet2.InvoicedProCost_RMB__c = 1;
            orderdet2.Invoiced_Procount__c = 3;
            orderdet2.RrturnPro_count__c = 3;
            orderdet2.Invoiced_Procount__c  = 3;
            orderdet2.RrturnPro_count__c =3;
            orderdet2.Invoice_Unit__c = '盒';
            codList.add(orderdet2);
@@ -260,11 +164,12 @@
            orderdet3.Delivery_List_RMB__c = 2.0;
            orderdet3.Invoice_Unitprice__c = 1;
            orderdet3.InvoicedProCost_RMB__c = 1;
            orderdet3.Invoiced_Procount__c = 3;
            orderdet3.RrturnPro_count__c = 3;
            orderdet3.Invoiced_Procount__c  = 3;
            orderdet3.RrturnPro_count__c =3;
            orderdet3.Invoice_Unit__c = '个';
            orderdet3.Invoiced_Count__c = 3;
            orderdet3.Invoiced_Count__c= 3;
            codList.add(orderdet3);
            Consumable_orderdetails__c orderdet4 = new Consumable_orderdetails__c();
            orderdet4.Name = 'Test1_0010031';
@@ -277,10 +182,10 @@
            orderdet4.Delivery_List_RMB__c = 2.0;
            orderdet4.Invoice_Unitprice__c = 1;
            orderdet4.InvoicedProCost_RMB__c = 1;
            orderdet4.Invoiced_Procount__c = 3;
            orderdet4.RrturnPro_count__c = 3;
            orderdet4.Invoiced_Procount__c  = 3;
            orderdet4.RrturnPro_count__c =3;
            orderdet4.Invoice_Unit__c = '盒';
            orderdet4.Invoiced_Count__c = 3;
            orderdet4.Invoiced_Count__c= 3;
            codList.add(orderdet4);
            Consumable_orderdetails__c orderdet5 = new Consumable_orderdetails__c();
@@ -293,9 +198,9 @@
            orderdet5.Invoice_Unit__c = '个';
            orderdet5.Shipment_Count__c = 11;
            orderdet5.Delivery_List_RMB__c = 2.0;
            orderdet5.Invoiced_Procount__c = 3;
            orderdet5.RrturnPro_count__c = 3;
            orderdet5.Invoiced_Count__c = 3;
            orderdet5.Invoiced_Procount__c  = 3;
            orderdet5.RrturnPro_count__c =3;
            orderdet5.Invoiced_Count__c= 3;
            codList.add(orderdet5);
            Consumable_orderdetails__c orderdet6 = new Consumable_orderdetails__c();
@@ -308,9 +213,9 @@
            orderdet6.Invoice_Unit__c = '盒';
            orderdet6.Shipment_Count__c = 11;
            orderdet6.Delivery_List_RMB__c = 2.0;
            orderdet6.Invoiced_Procount__c = 3;
            orderdet6.RrturnPro_count__c = 3;
            orderdet6.Invoiced_Count__c = 3;
            orderdet6.Invoiced_Procount__c  = 3;
            orderdet6.RrturnPro_count__c =3;
            orderdet6.Invoiced_Count__c= 3;
            codList.add(orderdet6);
            Consumable_orderdetails__c orderdet7 = new Consumable_orderdetails__c();
@@ -324,33 +229,31 @@
            orderdet7.Invoice_Unit__c = '个';
            orderdet7.Shipment_Count__c = 11;
            orderdet7.Delivery_List_RMB__c = 2.0;
            orderdet7.Invoiced_Procount__c = 3;
            orderdet7.Invoiced_Count__c = 3;
            orderdet7.RrturnPro_count__c = 3;
            orderdet7.Invoiced_Procount__c  = 3;
            orderdet7.Invoiced_Count__c= 3;
            orderdet7.RrturnPro_count__c =3;
            codList.add(orderdet7);
            insert codList;
            LexConInvoicedetailsController.init(testList1.Id, invoiceorder.Id);
            LexConInvoicedetailsController.init(testList1.Id,invoiceorder.Id);
            //序列化Json
            System.Test.startTest();
            System.debug('===>数据' + LexConInvoicedetailsController.consumableorderdetails1Records);
            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) {
                ass.check = true;
                ass.invoiceCount = 1;
            List<LexConInvoicedetailsController.ConsumableorderdetailsInfo> inList1 = new List<LexConInvoicedetailsController.ConsumableorderdetailsInfo>();
            for(LexConInvoicedetailsController.ConsumableorderdetailsInfo ass:inList){
                ass.check= true;
                ass.invoiceCount= 1;
                ass.esd.Invoice_Unit__c = '个';
                inList1.add(ass);
            }
            LexConInvoicedetailsController.save(JSON.serialize(inList1), invoiceorder.Id, testList1.Id);
            LexConInvoicedetailsController.save(JSON.serialize(inList1),invoiceorder.Id,testList1.Id);
            System.Test.stopTest();
        }
    }
}
}
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
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);
            }
@@ -186,7 +188,7 @@
            // for (String key : mapTemp.keySet()) {
            //     sortedMap.put(key, mapTemp.get(key));
            // }
            // System.debug('Sorted Map: ' + sortedMap);
            //查询客户信息(名称,省,县)
@@ -194,9 +196,9 @@
            List<String> accountList = new List<String>();
            for (AggregateResult ar : arList) {
                System.debug('thisAmount = ' + String.valueOf(ar.get('thisAmount')));
                if (String.valueOf(ar.get('thisAmount')) != '0.0') {
                if(String.valueOf(ar.get('thisAmount')) != '0.0'){
                    accountList.add(String.valueOf(ar.get('Order_ForHospital__c')));
                    topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount'))));
                    topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount'))));
                }
            }
@@ -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);
@@ -372,7 +381,7 @@
            List<Account> allSelectAccount = Database.query(soql);
            totalCount = allSelectAccount.size();
            String nullFL = sortOrder.toLowerCase() == 'asc' ? 'NULLS FIRST' : 'NULLS LAST';
            String nullFL = sortOrder.toLowerCase() == 'asc' ? 'NULLS FIRST': 'NULLS LAST';
            if (String.isNotBlank(sortField)) {
                soql += ' order by ' + sortField + ' ' + sortOrder + ' ' + nullFL;
            }
@@ -454,4 +463,4 @@
            deList = new List<Decimal>();
        }
    }
}
}
force-app/main/default/classes/LexConsumableAccountControllerTest.cls
@@ -3,187 +3,181 @@
    public static Account account1 = new Account();
    public static Account account2 = new Account();
    public static Account account3 = new Account();
    public static Account consumable = new Account();
    public static Contact contact1 = new Contact();
      public static Account consumable = new Account();
      public static Contact contact1 = new Contact();
    public static User user = new User();
    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()];
        System.runAs(thisUser) {
            // 取引先
            account1.Name = 'test1医院';
            account1.RecordTypeId = '01210000000QemG';
            //   account1.Is_Active__c = '草案中';
            insert account1;
    static testMethod void testMethod1(){
    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 = '草案中';
          accList.add(account1);
            account2.Name = 'test2医院';
            account2.RecordTypeId = '01210000000QemG';
            //   account2.Is_Active__c = '有効';
            insert account2;
          account2.Name = 'test2医院';
          account2.RecordTypeId = '01210000000QemG';
        //   account2.Is_Active__c = '有効';
          accList.add(account2);
          account3.Name = 'test3医院';
          account3.RecordTypeId = '01210000000QemG';
        //   account3.Is_Active__c = '申请中';
          accList.add(account3);
          insert accList;
          consumable.Name = 'test1经销商';
          consumable.RecordTypeId = '01210000000Qem1';
          insert consumable;
          contact1.AccountId = account1.Id;
          contact1.FirstName = '責任者';
          contact1.LastName = 'test1医院';
          insert contact1;
          // ユーザー
          Profile p = [select Id from Profile where Name = '901_经销商社区普通权限'];
          user.ProfileId = p.Id;
          user.ContactId = contact1.Id;
          user.FirstName = 'ユーザー';
          user.LastName = 'テスト';
          user.Email = 'test_user@example.com';
          user.emailencodingkey='UTF-8';
          user.languagelocalekey='zh_CN';
          user.localesidkey='ja_JP';
          user.timezonesidkey='Asia/Shanghai';
          user.Username = 'test_user@example.com';
          user.Alias = 'テユ';
          user.CommunityNickname = 'テストユーザー';
          insert user;
          // 代理店医院
          agency_hospital_link.Name = 'test1代理店医院';
          agency_hospital_link.Hospital__c = account1.Id;
          agency_hospital_link.Agency__c = consumable.Id;
          agency_hospital_link.OwnerId = user.Id;
          insert agency_hospital_link;
            account3.Name = 'test3医院';
            account3.RecordTypeId = '01210000000QemG';
            //   account3.Is_Active__c = '申请中';
            insert account3;
            consumable.Name = 'test1经销商';
            consumable.RecordTypeId = '01210000000Qem1';
            insert consumable;
    }
    System.runAs(user){
         //订单
          Consumable_order__c Order1 = new Consumable_order__c();
          Order1.Name = 'OCM_01_001';
          Order1.Order_status__c = '批准';
          Order1.Order_type__c = '到货';
          Order1.Dealer_Info__c = account1.Id;
          Order1.RecordTypeid = '01210000000c9dqAAA';
          Order1.Order_ProType__c = 'ET';
          Order1.Order_ForHospital__c = account1.Id;
          insert Order1;
            contact1.AccountId = account1.Id;
            contact1.FirstName = '責任者';
            contact1.LastName = 'test1医院';
            insert contact1;
            // ユーザー
            Profile p = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限'
            ];
            user.ProfileId = p.Id;
            user.ContactId = contact1.Id;
            user.FirstName = 'ユーザー';
            user.LastName = 'テスト';
            user.Email = 'test_user@example.com';
            user.emailencodingkey = 'UTF-8';
            user.languagelocalekey = 'zh_CN';
            user.localesidkey = 'ja_JP';
            user.timezonesidkey = 'Asia/Shanghai';
            user.Username = 'test_user@example.com';
            user.Alias = 'テユ';
            user.CommunityNickname = 'テストユーザー';
            insert user;
          Consumable_Orderdetails__c con = new Consumable_Orderdetails__c();
          con.Consumable_order__c = Order1.Id;
          insert con;
            // 代理店医院
            agency_hospital_link.Name = 'test1代理店医院';
            agency_hospital_link.Hospital__c = account1.Id;
            agency_hospital_link.Agency__c = consumable.Id;
            agency_hospital_link.OwnerId = user.Id;
            insert agency_hospital_link;
        }
        System.runAs(user) {
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01_001';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '到货';
            Order1.Dealer_Info__c = account1.Id;
            Order1.RecordTypeid = '01210000000c9dqAAA';
            Order1.Order_ProType__c = 'ET';
            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');
            LexConsumableAccountController.init(2, 1, '2023');
            LexConsumableAccountController.changeFiscalYearView('thisYear');
            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');
        }
        LexConsumableAccountController.init(2,1,'thisYear');
        LexConsumableAccountController.init(2,1,'lastYear');
        LexConsumableAccountController.init(2,1,'2023');
        LexConsumableAccountController.changeFiscalYearView('thisYear');
        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()];
        System.runAs(thisUser) {
            // 取引先
            account1.Name = 'test1医院';
            account1.RecordTypeId = '01210000000QemG';
            //   account1.Is_Active__c = '草案中';
            insert account1;
            account2.Name = 'test2医院';
            account2.RecordTypeId = '01210000000QemG';
            //   account2.Is_Active__c = '有効';
            insert account2;
            account3.Name = 'test3医院';
            account3.RecordTypeId = '01210000000QemG';
            //   account3.Is_Active__c = '申请中';
            insert account3;
            consumable.Name = 'test1经销商';
            consumable.RecordTypeId = '01210000000Qem1';
            insert consumable;
            contact1.AccountId = account1.Id;
            contact1.FirstName = '責任者';
            contact1.LastName = 'test1医院';
            insert contact1;
            // ユーザー
            Profile p = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限'
            ];
            user.ProfileId = p.Id;
            user.ContactId = contact1.Id;
            user.FirstName = 'ユーザー';
            user.LastName = 'テスト';
            user.Email = 'test_user@example.com';
            user.emailencodingkey = 'UTF-8';
            user.languagelocalekey = 'zh_CN';
            user.localesidkey = 'ja_JP';
            user.timezonesidkey = 'Asia/Shanghai';
            user.Username = 'test_user@example.com';
            user.Alias = 'テユ';
            user.CommunityNickname = 'テストユーザー';
            insert user;
            // 代理店医院
            agency_hospital_link.Name = 'test1代理店医院';
            agency_hospital_link.Hospital__c = account1.Id;
            agency_hospital_link.Agency__c = consumable.Id;
            agency_hospital_link.OwnerId = user.Id;
            insert agency_hospital_link;
        }
        System.runAs(user) {
            PageReference page = new PageReference('/apex/ConsumableAccount');
            System.Test.setCurrentPage(page);
            ConsumableAccountController ca = new ConsumableAccountController();
            //ConsumableAccountController.getlistViewOptions();
            ca.init();
            ca.filterName = '61. 医院_Hospital草案中的医院';
            ca.changelistView();
            ca.filterName = '62. 医院_Hospital申请中的医院';
            ca.changelistView();
            ca.filterName = '63. 医院_Hospital上周创建的医院';
            ca.changelistView();
            ca.refreshPageSize();
            ca.sortKey = '0';
            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'
            );
        }
    }
}
static testMethod void testMethod2(){
  User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
  System.runAs(thisUser){
        // 取引先
        account1.Name = 'test1医院';
        account1.RecordTypeId = '01210000000QemG';
      //   account1.Is_Active__c = '草案中';
        insert account1;
        account2.Name = 'test2医院';
        account2.RecordTypeId = '01210000000QemG';
      //   account2.Is_Active__c = '有効';
        insert account2;
        account3.Name = 'test3医院';
        account3.RecordTypeId = '01210000000QemG';
      //   account3.Is_Active__c = '申请中';
        insert account3;
        consumable.Name = 'test1经销商';
        consumable.RecordTypeId = '01210000000Qem1';
        insert consumable;
        contact1.AccountId = account1.Id;
        contact1.FirstName = '責任者';
        contact1.LastName = 'test1医院';
        insert contact1;
        // ユーザー
        Profile p = [select Id from Profile where Name = '901_经销商社区普通权限'];
        user.ProfileId = p.Id;
        user.ContactId = contact1.Id;
        user.FirstName = 'ユーザー';
        user.LastName = 'テスト';
        user.Email = 'test_user@example.com';
        user.emailencodingkey='UTF-8';
        user.languagelocalekey='zh_CN';
        user.localesidkey='ja_JP';
        user.timezonesidkey='Asia/Shanghai';
        user.Username = 'test_user@example.com';
        user.Alias = 'テユ';
        user.CommunityNickname = 'テストユーザー';
        insert user;
        // 代理店医院
        agency_hospital_link.Name = 'test1代理店医院';
        agency_hospital_link.Hospital__c = account1.Id;
        agency_hospital_link.Agency__c = consumable.Id;
        agency_hospital_link.OwnerId = user.Id;
        insert agency_hospital_link;
  }
  System.runAs(user){
      PageReference page = new PageReference('/apex/ConsumableAccount');
      System.Test.setCurrentPage(page);
      ConsumableAccountController ca = new ConsumableAccountController();
      //ConsumableAccountController.getlistViewOptions();
      ca.init();
      ca.filterName = '61. 医院_Hospital草案中的医院';
      ca.changelistView();
      ca.filterName = '62. 医院_Hospital申请中的医院';
      ca.changelistView();
      ca.filterName = '63. 医院_Hospital上周创建的医院';
      ca.changelistView();
      ca.refreshPageSize();
      ca.sortKey = '0';
      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');
  }
}
}
force-app/main/default/classes/LexConsumableAccountControllerTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexConsumableAccountInfoControllerTest.cls
@@ -1,16 +1,19 @@
@isTest
private class LexConsumableAccountInfoControllerTest {
    @isTest
    public static void test_method_one() {
        // Implement test code
        Account account1 = new Account();
        account1.Name = 'test1医院';
    @isTest
    public static void test_method_one() {
        // Implement test code
        Account account1 = new Account();
        account1.Name = 'test1医院';
        account1.RecordTypeId = '01210000000QemG';
        //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
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
force-app/main/default/classes/LexConsumableAccountSOQL.cls
@@ -1,27 +1,30 @@
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,
                    sum(Sale_amount__c) thisAmount
                FROM Consumable_Orderdetails__c
                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
            ]
        );
    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,
            sum(Sale_amount__c) thisAmount
            FROM Consumable_Orderdetails__c
            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;
    }
    public static AggregateResult[] getAccountTotalSales(Datetime thisDatetime, Datetime nextDatetime) {
    public static AggregateResult[] getAccountTotalSales(Datetime thisDatetime ,Datetime nextDatetime){
        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
@@ -1,83 +1,31 @@
@isTest
private class LexConsumableAccountSOQLTest {
    @testSetup
    static void testInfo() {
    @testSetup
    static void testInfo(){
        User userTest;
        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 = '販売店'
            ];
        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 = '販売店'];
            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__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 };
        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 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 Product2__c[] {pro1, pro2};
            Consumable_order__c createId = new Consumable_order__c();
            createId.Name = 'testMing1';
@@ -90,12 +38,12 @@
            createId.Delivery_detail_count__c = 5;
            createId.orderPattern__c = 'hospitalorder';
            insert createId;
            List<Consumable_Orderdetails__c> coListTest = new List<Consumable_Orderdetails__c>();
            Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c();
            conOrderDetail1.Name = 'testConOrderDetail1';
            conOrderDetail1.Consumable_Arrivecount__c = 5;
            conOrderDetail1.Unitprice_To_agency__c = 0;
            conOrderDetail1.Unitprice_To_agency__c  = 0;
            conOrderDetail1.Delivery_List_RMB__c = 99;
            conOrderDetail1.Shipment_Count__c = 100;
            conOrderDetail1.Consumable_product__c = pro1.id;
@@ -104,7 +52,7 @@
            Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c();
            conOrderDetail2.Name = 'testConOrderDetail2';
            conOrderDetail1.Unitprice_To_agency__c = 0;
            conOrderDetail1.Unitprice_To_agency__c  = 0;
            conOrderDetail1.Delivery_List_RMB__c = 99;
            conOrderDetail2.Shipment_Count__c = 99;
            conOrderDetail2.Consumable_product__c = pro2.id;
@@ -112,23 +60,23 @@
            coListTest.add(conOrderDetail2);
            insert coListTest;
        }
    }
    }
    @isTest
    static void testGetAccountBySales() {
    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);
        arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime,nextDatetime);
        System.Test.stopTest();
    }
    @isTest
    static void testGetAccountTotalSales() {
    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);
        saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime,nextDatetime);
        System.Test.stopTest();
    }
}
}
force-app/main/default/classes/LexConsumableAccountSOQLTest.cls-meta.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <status>Active</status>
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;
            }
@@ -2360,4 +2312,4 @@
        @AuraEnabled
        public String value;
    }
}
}
force-app/main/default/classes/LexConsumableControllerTest.cls
@@ -1,1245 +1,780 @@
@istest
public class LexConsumableControllerTest {
    @IsTest
    static void ConsumableOrdertest1() {
    static void ConsumableOrdertest1(){
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        Account contract;
        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'
            ];
        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'];
            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'
            );
            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
            );
            insert contract;
            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 = '重庆'
            );
            insert MyUser_Test;
        }
            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');
            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);
               insert contract;
            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 = '重庆');
            insert MyUser_Test;
        System.runAs(MyUser_Test) {
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'CDS',
                Category4__c = 'OER',
                Category5__c = '其它',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test001',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
        }
        System.runAs(MyUser_Test){
            //产品数据
            Product2 prod01 = new Product2(Name='Test01',
                                ProductCode='Test01',
                                Asset_Model_No__c = 'Test01',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'CDS',
                                Category4__c = 'OER',
                                Category5__c = '其它',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test001',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'ENT',
                Category4__c = 'Celon',
                Category5__c = 'Celon',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test002',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod02 = new Product2(Name='Test02',
                                ProductCode='Test02',
                                Asset_Model_No__c = 'Test02',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'ENT',
                                Category4__c = 'Celon',
                                Category5__c = 'Celon',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test002',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'US',
                Category4__c = 'ALOKA',
                Category5__c = '体外超声',
                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 };
            Product2 prod03 = new Product2(Name='Test03',
                                ProductCode='Test03',
                                Asset_Model_No__c = 'Test03',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'US',
                                Category4__c = 'ALOKA',
                                Category5__c = '体外超声',
                                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 Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:' + proG);
            System.debug('proG1:' + proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:' + prod01);
            System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            insert proF;
            //制作产品
            Product2__c proG = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:'+proG);
            System.debug('proG1:'+proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:'+prod01);
            System.debug('prod071:'+prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name='MB-677:BNC电缆',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
            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();
            order.Name = 'testMing';
            order.Order_status__c = '批准';
            order.RecordTypeid = System.Label.RT_ConOrder_Order;
            order.Dealer_Info__c = myAccount1.id;
            order.Inventory_date__c = Date.today();
            order.Order_type__c = '订单';
            order.Order_ProType__c = 'ET';
            order.orderPattern__c = 'agreementorder';
            insert order;
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = order.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = proG.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;
            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = proG.id;
            createDetail2.Asset_Model_No__c = 'Test01';
            createDetail2.Consumable_order_minor__c = order.id;
            createDetail2.Consumable_Arrived_order__c = order.id;
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail2.Asset_Model_No__c = proG.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '123';
            createDetail2.Box_Piece__c = '盒';
            createDetail2.Arrive_date__c = Date.today();
            //订单
            Consumable_order__c order = new Consumable_order__c();
            order.Name = 'testMing';
            order.Order_status__c = '批准';
            order.RecordTypeid = System.Label.RT_ConOrder_Order;
            order.Dealer_Info__c = myAccount1.id;
            order.Inventory_date__c = Date.today();
            order.Order_type__c = '订单';
            order.Order_ProType__c = 'ET';
            order.orderPattern__c = 'agreementorder';
            insert  order;
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = order.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = proG.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail2;
            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = proG.id;
            createDetail2.Asset_Model_No__c     = 'Test01';
            createDetail2.Consumable_order_minor__c =  order.id;
            createDetail2.Consumable_Arrived_order__c = order.id;
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail2.Asset_Model_No__c         = proG.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '123';
            createDetail2.Box_Piece__c ='盒';
            createDetail2.Arrive_date__c            = Date.today();
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail2;
            Test.startTest();
            LexConsumableController.ConsumableorderdetailsInfo c1 = new LexConsumableController.ConsumableorderdetailsInfo(Orderdet);
            ContentVersion v = new ContentVersion();
            LexConsumableController.ConsumableorderdetailsInfo c2 = new LexConsumableController.ConsumableorderdetailsInfo(v);
            LexConsumableController.ConsumableorderdetailsInfo c1 = new LexConsumableController.ConsumableorderdetailsInfo(Orderdet);
            ContentVersion v = new ContentVersion();
            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.sorder(order.Id, myAccount1.Id);
            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.sorder(order.Id,myAccount1.Id);
            Test.stopTest();
        }
    }
    @IsTest
    static void ConsumableOrdertest2() {
    @IsTest
    static void ConsumableOrdertest2(){
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        Account contract;
        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'
            ];
        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'];
            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'
            );
            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
            );
            insert contract;
            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');
            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);
               insert contract;
            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 = '重庆'
            );
            insert MyUser_Test;
        }
            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 = '重庆');
            insert MyUser_Test;
        System.runAs(MyUser_Test) {
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'CDS',
                Category4__c = 'OER',
                Category5__c = '其它',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test001',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
        }
        System.runAs(MyUser_Test){
            //产品数据
            Product2 prod01 = new Product2(Name='Test01',
                                ProductCode='Test01',
                                Asset_Model_No__c = 'Test01',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'CDS',
                                Category4__c = 'OER',
                                Category5__c = '其它',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test001',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'ENT',
                Category4__c = 'Celon',
                Category5__c = 'Celon',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test002',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod02 = new Product2(Name='Test02',
                                ProductCode='Test02',
                                Asset_Model_No__c = 'Test02',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'ENT',
                                Category4__c = 'Celon',
                                Category5__c = 'Celon',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test002',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'US',
                Category4__c = 'ALOKA',
                Category5__c = '体外超声',
                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 };
            Product2 prod03 = new Product2(Name='Test03',
                                ProductCode='Test03',
                                Asset_Model_No__c = 'Test03',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'US',
                                Category4__c = 'ALOKA',
                                Category5__c = '体外超声',
                                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 Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:' + proG);
            System.debug('proG1:' + proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:' + prod01);
            System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            insert proF;
            //制作产品
            Product2__c proG = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:'+proG);
            System.debug('proG1:'+proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:'+prod01);
            System.debug('prod071:'+prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name='MB-677:BNC电缆',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name='TooMAJ-643R:水囊鞘管003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id);
            insert proF;
            //创建医院
            Account hospital = new Account();
            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 = '卫生部';
            hospital.Speciality_Type__c = '综合医院';
            hospital.Grade__c = '一级';
            hospital.OCM_Category__c = 'SLTV';
            hospital.Is_Medical__c = '医疗机构';
            hospital.Town__c = '东京';
            insert hospital;
            //创建医院
            Account hospital = new Account();
            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 = '卫生部';
            hospital.Speciality_Type__c = '综合医院';
            hospital.Grade__c = '一级';
            hospital.OCM_Category__c = 'SLTV';
            hospital.Is_Medical__c = '医疗机构';
            hospital.Town__c = '东京';
            insert hospital;
            //建一条医院特价产品
            hospitalprice__c hc = new hospitalprice__c();
            hc.hospital__c = hospital.Id;
            hc.product__c = proG.Id;
            hc.aph__c = '12332';
            hc.account__c = myAccount1.Id;
            insert hc;
            //建一条医院特价产品
            hospitalprice__c hc = new hospitalprice__c();
            hc.hospital__c = hospital.Id;
            hc.product__c = proG.Id;
            hc.aph__c = '12332';
            hc.account__c = myAccount1.Id;
            insert hc;
            //医院
            Consumable_order__c order1 = new Consumable_order__c();
            order1.Name = 'testMing1';
            order1.Order_status__c = '批准';
            order1.RecordTypeid = System.Label.RT_ConOrder_Order;
            order1.Dealer_Info__c = myAccount1.id;
            order1.Inventory_date__c = Date.today();
            order1.Order_type__c = '订单';
            order1.Order_ProType__c = 'ET';
            order1.orderPattern__c = 'hospitalorder';
            insert order1;
            Consumable_orderdetails__c Orderdet1 = new Consumable_orderdetails__c();
            Orderdet1.Name = 'OCM_01_00102';
            Orderdet1.Consumable_order__c = order1.Id;
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet1.Consumable_Product__c = proG.Id;
            Orderdet1.Consumable_count__c = 4;
            insert Orderdet1;
            //医院
            Consumable_order__c order1 = new Consumable_order__c();
            order1.Name = 'testMing1';
            order1.Order_status__c = '批准';
            order1.RecordTypeid = System.Label.RT_ConOrder_Order;
            order1.Dealer_Info__c = myAccount1.id;
            order1.Inventory_date__c = Date.today();
            order1.Order_type__c = '订单';
            order1.Order_ProType__c = 'ET';
            order1.orderPattern__c = 'hospitalorder';
            insert  order1;
            Consumable_orderdetails__c Orderdet1 = new Consumable_orderdetails__c();
            Orderdet1.Name = 'OCM_01_00102';
            Orderdet1.Consumable_order__c = order1.Id;
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet1.Consumable_Product__c = proG.Id;
            Orderdet1.Consumable_count__c = 4;
            insert Orderdet1;
            Consumable_order_details2__c createDetail3 = new Consumable_order_details2__c();
            createDetail3 = new Consumable_order_details2__c();
            createDetail3.Consumable_Product__c = proG.id;
            createDetail3.Asset_Model_No__c = 'Test02';
            createDetail3.Consumable_order_minor__c = order1.id;
            createDetail3.Consumable_Arrived_order__c = order1.id;
            createDetail3.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail3.Asset_Model_No__c = proG.Asset_Model_No__c;
            createDetail3.Bar_Code__c = '123';
            createDetail3.Box_Piece__c = '盒';
            createDetail3.Arrive_date__c = Date.today();
            Consumable_order_details2__c createDetail3 = new Consumable_order_details2__c();
            createDetail3 = new Consumable_order_details2__c();
            createDetail3.Consumable_Product__c = proG.id;
            createDetail3.Asset_Model_No__c     = 'Test02';
            createDetail3.Consumable_order_minor__c =  order1.id;
            createDetail3.Consumable_Arrived_order__c = order1.id;
            createDetail3.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail3.Asset_Model_No__c         = proG.Asset_Model_No__c;
            createDetail3.Bar_Code__c = '123';
            createDetail3.Box_Piece__c ='盒';
            createDetail3.Arrive_date__c            = Date.today();
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail3;
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail3;
            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.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);
            Test.stopTest();
        }
    }
    @IsTest
    static void ConsumableOrdertest3() {
    @IsTest
    static void ConsumableOrdertest3(){
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        Consumable_order__c order2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        Account contract;
        Consumable_order__c order2;
        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'
            ];
        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'];
            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'
            );
            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
            );
            insert contract;
            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 = '重庆'
            );
            insert MyUser_Test;
            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');
            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);
               insert contract;
            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 = '重庆');
            insert MyUser_Test;
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'CDS',
                Category4__c = 'OER',
                Category5__c = '其它',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test001',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'ENT',
                Category4__c = 'Celon',
                Category5__c = 'Celon',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test002',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'US',
                Category4__c = 'ALOKA',
                Category5__c = '体外超声',
                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 };
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:' + proG);
            System.debug('proG1:' + proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:' + prod01);
            System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
            insert proF;
            Dealer_Product__c dpc = new Dealer_Product__c();
            dpc.Dealer_Contact__c = contract.id;
            dpc.Dealer_Product2__c = proG.id;
            dpc.Special_Discount__c = 45;
            dpc.Campaign_StartDate__c = Date.today().addDays(-1);
            dpc.Campaign_EndDate__c = Date.today().addDays(1);
            insert dpc;
            Dealer_Product__c dpc2 = new Dealer_Product__c();
            dpc2.Dealer_Contact__c = contract.id;
            dpc2.Dealer_Product2__c = proG.id;
            dpc2.Special_Campaign_Price__c = 4500;
            insert dpc2;
            Dealer_Product__c dpc1 = new Dealer_Product__c();
            dpc1.Dealer_Contact__c = contract.id;
            dpc1.Dealer_Product2__c = proH.id;
            dpc1.Special_Campaign_Price__c = 23456;
            insert dpc1;
            //促销
            order2 = new Consumable_order__c();
            order2.Name = 'testMing2';
            order2.Order_status__c = '批准';
            order2.RecordTypeid = System.Label.RT_ConOrder_Order;
            order2.Dealer_Info__c = myAccount1.id;
            order2.Inventory_date__c = Date.today();
            order2.Order_type__c = '订单';
            order2.Order_ProType__c = 'ET';
            order2.orderPattern__c = 'promotionorder';
            insert order2;
            Consumable_orderdetails__c Orderdet2 = new Consumable_orderdetails__c();
            Orderdet2.Name = 'OCM_01_00103';
            Orderdet2.Consumable_order__c = order2.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet2.Consumable_Product__c = proG.Id;
            Orderdet2.Consumable_count__c = 4;
            insert Orderdet2;
            Consumable_order_details2__c createDetail4 = new Consumable_order_details2__c();
            createDetail4 = new Consumable_order_details2__c();
            createDetail4.Consumable_Product__c = proG.id;
            createDetail4.Asset_Model_No__c = 'Test03';
            createDetail4.Consumable_order_minor__c = order2.id;
            createDetail4.Consumable_Arrived_order__c = order2.id;
            createDetail4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail4.Asset_Model_No__c = proG.Asset_Model_No__c;
            createDetail4.Bar_Code__c = '123';
            createDetail4.Box_Piece__c = '盒';
            createDetail4.Arrive_date__c = Date.today();
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail4;
        }
        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
            );
            Test.stopTest();
        }
    }
    @IsTest
    static void ConsumableOrdertest4() {
        user MyUser_Test;
        Account myAccount1;
        Account contract;
        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'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            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'
            );
            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
            );
            insert contract;
            System.debug('account111:' + contract);
            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 = '重庆'
            );
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            //产品数据
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'CDS',
                Category4__c = 'OER',
                Category5__c = '其它',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test001',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'ENT',
                Category4__c = 'Celon',
                Category5__c = 'Celon',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test002',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'US',
                Category4__c = 'ALOKA',
                Category5__c = '体外超声',
                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 };
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:' + proG);
            System.debug('proG1:' + proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:' + prod01);
            System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
            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();
            order.Name = 'testMing';
            order.Order_status__c = '批准';
            order.RecordTypeid = System.Label.RT_ConOrder_Order;
            order.Dealer_Info__c = myAccount1.id;
            order.Inventory_date__c = Date.today();
            order.Order_type__c = '订单';
            order.Order_ProType__c = 'ET';
            order.orderPattern__c = 'agreementorder';
            insert order;
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = order.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = proG.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;
            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = proG.id;
            createDetail2.Asset_Model_No__c = 'Test01';
            createDetail2.Consumable_order_minor__c = order.id;
            createDetail2.Consumable_Arrived_order__c = order.id;
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail2.Asset_Model_No__c = proG.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '123';
            createDetail2.Box_Piece__c = '盒';
            createDetail2.Arrive_date__c = Date.today();
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail2;
            //产品数据
            Product2 prod01 = new Product2(Name='Test01',
                                ProductCode='Test01',
                                Asset_Model_No__c = 'Test01',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'CDS',
                                Category4__c = 'OER',
                                Category5__c = '其它',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test001',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod02 = new Product2(Name='Test02',
                                ProductCode='Test02',
                                Asset_Model_No__c = 'Test02',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'ENT',
                                Category4__c = 'Celon',
                                Category5__c = 'Celon',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test002',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod03 = new Product2(Name='Test03',
                                ProductCode='Test03',
                                Asset_Model_No__c = 'Test03',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'US',
                                Category4__c = 'ALOKA',
                                Category5__c = '体外超声',
                                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 Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:'+proG);
            System.debug('proG1:'+proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:'+prod01);
            System.debug('prod071:'+prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name='MB-677:BNC电缆',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name='TooMAJ-643R:水囊鞘管003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id);
            insert proF;
            Dealer_Product__c dpc = new Dealer_Product__c();
            dpc.Dealer_Contact__c = contract.id;
            dpc.Dealer_Product2__c = proG.id;
            dpc.Special_Discount__c = 45;
            dpc.Campaign_StartDate__c = Date.today().addDays(-1);
            dpc.Campaign_EndDate__c = Date.today().addDays(1);
            insert dpc;
            Dealer_Product__c dpc2 = new Dealer_Product__c();
            dpc2.Dealer_Contact__c = contract.id;
            dpc2.Dealer_Product2__c = proG.id;
            dpc2.Special_Campaign_Price__c = 4500;
            insert dpc2;
            Dealer_Product__c dpc1 = new Dealer_Product__c();
            dpc1.Dealer_Contact__c = contract.id;
            dpc1.Dealer_Product2__c = proH.id;
            dpc1.Special_Campaign_Price__c = 23456;
            insert dpc1;
            //促销
            order2 = new Consumable_order__c();
            order2.Name = 'testMing2';
            order2.Order_status__c = '批准';
            order2.RecordTypeid = System.Label.RT_ConOrder_Order;
            order2.Dealer_Info__c = myAccount1.id;
            order2.Inventory_date__c = Date.today();
            order2.Order_type__c = '订单';
            order2.Order_ProType__c = 'ET';
            order2.orderPattern__c = 'promotionorder';
            insert  order2;
            Consumable_orderdetails__c Orderdet2 = new Consumable_orderdetails__c();
            Orderdet2.Name = 'OCM_01_00103';
            Orderdet2.Consumable_order__c = order2.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet2.Consumable_Product__c = proG.Id;
            Orderdet2.Consumable_count__c = 4;
            insert Orderdet2;
            Consumable_order_details2__c createDetail4 = new Consumable_order_details2__c();
            createDetail4 = new Consumable_order_details2__c();
            createDetail4.Consumable_Product__c = proG.id;
            createDetail4.Asset_Model_No__c     = 'Test03';
            createDetail4.Consumable_order_minor__c =  order2.id;
            createDetail4.Consumable_Arrived_order__c = order2.id;
            createDetail4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail4.Asset_Model_No__c         = proG.Asset_Model_No__c;
            createDetail4.Bar_Code__c = '123';
            createDetail4.Box_Piece__c ='盒';
            createDetail4.Arrive_date__c            = Date.today();
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail4;
        }
        System.runAs(MyUser_Test){
            Test.startTest();
            LexConsumableController.Results re = LexConsumableController.init('agreementorder', '', '');
            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.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);
            Test.stopTest();
        }
    }
    @IsTest
    static void ConsumableOrdertest5() {
    @IsTest
    static void ConsumableOrdertest4(){
        user MyUser_Test;
        Account myAccount1;
        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;
        Account contract;
        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 = '販売店'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            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'
            );
            insert myAccount1;
            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 = '重庆'
            );
            insert MyUser_Test;
        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'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            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');
            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);
            insert contract;
            System.debug('account111:'+contract);
            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 = '重庆');
            insert MyUser_Test;
            order = new Consumable_order__c();
            order.Name = 'testMing';
            order.Order_status__c = '批准';
            order.RecordTypeid = System.Label.RT_ConOrder_Order;
            order.Dealer_Info__c = myAccount1.id;
            order.Inventory_date__c = Date.today();
            order.Order_type__c = '订单';
            order.Order_ProType__c = 'ET';
            order.orderPattern__c = 'agreementorder';
            insert order;
        }
        System.runAs(MyUser_Test){
            //产品数据
            Product2 prod01 = new Product2(Name='Test01',
                                ProductCode='Test01',
                                Asset_Model_No__c = 'Test01',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'CDS',
                                Category4__c = 'OER',
                                Category5__c = '其它',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test001',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            cv = new ContentVersion();
            Product2 prod02 = new Product2(Name='Test02',
                                ProductCode='Test02',
                                Asset_Model_No__c = 'Test02',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'ENT',
                                Category4__c = 'Celon',
                                Category5__c = 'Celon',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test002',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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);
            Product2 prod03 = new Product2(Name='Test03',
                                ProductCode='Test03',
                                Asset_Model_No__c = 'Test03',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'US',
                                Category4__c = 'ALOKA',
                                Category5__c = '体外超声',
                                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 Product2[] {prod01,prod02,prod03};
            //制作产品
            Product2__c proG = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
            insert proG;
            System.debug('proG:'+proG);
            System.debug('proG1:'+proG.Estimation_Entry_Possibility__c);
            System.debug('prod07:'+prod01);
            System.debug('prod071:'+prod01.Estimation_Entry_Possibility__c);
            Product2__c proH = new Product2__c(Name='MB-677:BNC电缆',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
            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();
            order.Name = 'testMing';
            order.Order_status__c = '批准';
            order.RecordTypeid = System.Label.RT_ConOrder_Order;
            order.Dealer_Info__c = myAccount1.id;
            order.Inventory_date__c = Date.today();
            order.Order_type__c = '订单';
            order.Order_ProType__c = 'ET';
            order.orderPattern__c = 'agreementorder';
            insert  order;
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = order.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = proG.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;
            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = proG.id;
            createDetail2.Asset_Model_No__c     = 'Test01';
            createDetail2.Consumable_order_minor__c =  order.id;
            createDetail2.Consumable_Arrived_order__c = order.id;
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail2.Asset_Model_No__c         = proG.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '123';
            createDetail2.Box_Piece__c ='盒';
            createDetail2.Arrive_date__c            = Date.today();
            Oly_TriggerHandler.bypass('ConsumableAssetHander');
            insert createDetail2;
            Test.startTest();
            LexConsumableController.Results re =  LexConsumableController.init('agreementorder', '', '');
            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);
            Test.stopTest();
        }
    }
    @IsTest
    static void ConsumableOrdertest5(){
        user MyUser_Test;
        Account myAccount1;
        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 = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            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');
            insert myAccount1;
            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 = '重庆');
            insert MyUser_Test;
            order = new Consumable_order__c();
            order.Name = 'testMing';
            order.Order_status__c = '批准';
            order.RecordTypeid = System.Label.RT_ConOrder_Order;
            order.Dealer_Info__c = myAccount1.id;
            order.Inventory_date__c = Date.today();
            order.Order_type__c = '订单';
            order.Order_ProType__c = 'ET';
            order.orderPattern__c = 'agreementorder';
            insert  order;
            cv = new ContentVersion();
            cv.Title = 'test.txt';
            cv.PathOnClient = '/' + 'test.txt';
            cv.FirstPublishLocationId = order.Id;
            cv.VersionData = EncodingUtil.base64Decode('VGVzdA==');
            cv.IsMajorVersion = true;
            insert cv;
        }
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'CDS',
                Category4__c = 'OER',
                Category5__c = '其它',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test001',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                SFDA_Status__c = '有効',
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'CDS',
                Category4__c = 'OER',
                Category5__c = 'Celon',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test002',
                Packing_list_manual__c = 1,
                SFDA_Expiration_Date__c = Date.today(),
                Intra_Trade_List_RMB_1__c = 1000,
                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
            );
        }
        System.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',
                                ProductCode='Test01',
                                Asset_Model_No__c = 'Test01',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'CDS',
                                Category4__c = 'OER',
                                Category5__c = '其它',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test001',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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
                                );
            Product2 prod03 = new Product2(
                Name = 'Test03',
                ProductCode = 'Test03',
                Asset_Model_No__c = 'Test03',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'US',
                Category4__c = 'ALOKA',
                Category5__c = '体外超声',
                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 prod02 = new Product2(Name='Test02',
                                ProductCode='Test02',
                                Asset_Model_No__c = 'Test02',
                                SFDA_Status__c = '有効',
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'CDS',
                                Category4__c = 'OER',
                                Category5__c = 'Celon',
                                Dealer_special_Object__c = true,
                                SFDA_Approbation_No__c = 'Test002',
                                Packing_list_manual__c = 1,
                                SFDA_Expiration_Date__c= Date.today(),
                                Intra_Trade_List_RMB_1__c = 1000,
                                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
                                );
            Product2 prod04 = new Product2(
                Name = 'Test04',
                ProductCode = 'Test04',
                Asset_Model_No__c = 'Test04',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = 'OCS',
                Category4__c = '附属品',
                Category5__c = 'OCS',
                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',
                ProductCode = 'Test05',
                Asset_Model_No__c = 'Test05',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Product_Status__c = '正常销售',
                SFDA_Approbated_Status__c = '有效',
                Category3__c = '光源',
                Category4__c = 'CLV',
                Category5__c = 'S45',
                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 };
            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 };
            Product2 prod03 = new Product2(Name='Test03',
                                ProductCode='Test03',
                                Asset_Model_No__c = 'Test03',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'US',
                                Category4__c = 'ALOKA',
                                Category5__c = '体外超声',
                                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);
            Test.startTest();
            LexConsumableController.Results re1 = LexConsumableController.categoryAllload('ET', 'CDS');
            LexConsumableController.Results re2 = LexConsumableController.categoryAllload('ENG', 'CDS');
            LexConsumableController.Results re3 = LexConsumableController.categoryAllload('', 'CDS');
            LexConsumableController.Results re4 = LexConsumableController.categoryload('ET', 'CDS', 'OER');
            LexConsumableController.Results re5 = LexConsumableController.categoryload('ENG', 'CDS', 'OER');
            LexConsumableController.Results re6 = LexConsumableController.categoryload('', 'CDS', 'OER');
            String pid = order.Id;
            LexConsumableController.filesUpload(pid, 'tset.txt', 'VGVzdA==');
            LexConsumableController.deleteAtt(cv.Id, pid);
            LexConsumableController.backOrder(pid);
            LexConsumableController.setEditAble(pid);
            LexConsumableController.delConsumable(pid);
            LexConsumableController.OffersPrice();
            Product2 prod04 = new Product2(Name='Test04',
                ProductCode='Test04',Asset_Model_No__c = 'Test04',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = 'OCS',
                                Category4__c = '附属品',
                                Category5__c = 'OCS',
                                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',
                                ProductCode='Test05',
                                Asset_Model_No__c = 'Test05',
                                SFDA_Status__c = '有効',
                                Dealer_special_Object__c = true,
                                Product_Status__c = '正常销售',
                                SFDA_Approbated_Status__c = '有效',
                                Category3__c = '光源',
                                Category4__c = 'CLV',
                                Category5__c = 'S45',
                                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 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 Product2__c[] {pro1,pro2,pro3,pro4, pro5};
            Test.startTest();
            LexConsumableController.Results re1 =  LexConsumableController.categoryAllload('ET','CDS');
            LexConsumableController.Results re2 =  LexConsumableController.categoryAllload('ENG','CDS');
            LexConsumableController.Results re3 =  LexConsumableController.categoryAllload('','CDS');
            LexConsumableController.Results re4 =  LexConsumableController.categoryload('ET','CDS','OER');
            LexConsumableController.Results re5 =  LexConsumableController.categoryload('ENG','CDS','OER');
            LexConsumableController.Results re6 =  LexConsumableController.categoryload('','CDS','OER');
            String pid = order.Id;
            LexConsumableController.filesUpload(pid,'tset.txt','VGVzdA==');
            LexConsumableController.deleteAtt(cv.Id, pid);
            LexConsumableController.backOrder(pid);
            LexConsumableController.setEditAble(pid);
            LexConsumableController.delConsumable(pid);
            LexConsumableController.OffersPrice();
            Test.stopTest();
        }
    }
}
        }
    }
}
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