dataImpModule.controller('extractFinancialDataController', ['$scope', '$log', '$translate', '$timeout', '$q', '$interval' , 'apiInterceptor', 'Upload', 'vatImportService', 'SweetAlert', 'uiGridConstants', '$uibModal' , 'vatSessionService', 'enums', 'vatOperationLogService' , 'projectService', 'vatCommonService','orgService', 'dataImportService', function ($scope, $log, $translate, $timeout, $q, $interval , apiInterceptor, Upload, vatImportService, SweetAlert, uiGridConstants, $uibModal , vatSessionService, enums, vatOperationLogService , projectService, vatCommonService , orgService,dataImportService) { 'use strict'; var comment = vatSessionService.project.name + " " + vatSessionService.project.year + "年" + vatSessionService.month + "月"; $scope.period = $scope.periodId; $scope.moduleid = enums.vatModuleEnum.Import_TrialBalance; $scope.chunkSize = 100000; $scope.success = false; $scope.showErrorTable = false; $scope.showInitTable = false; $scope.showImportTable = false; $scope.isSelectPeriod = true; $scope.isShowImportTotalBtn = true; $scope.projectID = vatSessionService.project.id; $scope.startRowNum = 2; $scope.validationType = 0; $scope.sheetData = { sheetNameList: [], dataList: [], selectedSheetIndex: 0 }; $scope.sheetInfo = { selectedSheetName: '', selectedSheetIndex: 0 }; $scope.balanceInputList = []; $scope.toInputList = []; $scope.importEnum = { Import: 0, CoverImport: 1, AddImport: 2, ApiImport: 2 }; //导入方式 $scope.selectedPeriod = null; $scope.showTotalSecondRow = false; $scope.maxTitleLength = constant.maxButtonTitleLength; $scope.companyList = []; $scope.checkedCompanyList = []; $scope.checkedCompanyCodeList = []; $scope.checkedCompanyTypeList = ""; $scope.fileTypeList = constant.fileTypeList; $scope.checkedFileList = []; $scope.checkedFileCodeList = []; $scope.checkedFileTypeList = ""; var date = new Date(); var year = date.getFullYear(); var month = date.getMonth(); $scope.selectedDate = new Date(vatSessionService.year, vatSessionService.month - 1, 1); $scope.startDate = new Date(year - 20, 1, 1); $scope.endDate = new Date(year + 20, 1, 1); $scope.viewMode = 1; $scope.dateFormat = $translate.instant('dateFormat4YearMonth'); $scope.importExcelFile = null; $scope.UploadPeriodTime = null; //写日志 var logDto = { ID: '', OperationName: '', ModuleID: $scope.moduleid, OperationObject: $translate.instant('redLetterInformationTable'), OperationType: '', OperationContent: '', OriginalState: '', UpdateState: '', CreatorID: vatSessionService.logUser.ID, Comment: comment, IP: '', Period: $scope.period, }; //初始化ack-pagination $scope.pagingOptions = { pageIndex: 1, //当前页码 totalItems: 0, //总数据 totalPages: 10, //总页数 maxSize: 5, //分页数字的限制。 pageSize: constant.page.pageSizeArrary[3], //每页多少条数据,100条 pageSizeString: constant.page.pageSizeArrary[3].toString(), firstPage: $translate.instant('PagingFirstPage'), previousPage: $translate.instant('PagingPreviousPage'), nextPage: $translate.instant('PagingNextPage'), lastPage: $translate.instant('PagingLastPage'), }; //初始化查询参数 $scope.queryParams = { pageInfo: { totalCount: 0, pageIndex: 0, pageSize: 0, totalPage: 0, }, periodId: $scope.period, serviceTypeId: $scope.serviceTypeId, projectId: $scope.projectID }; //分页获取数据 $scope.eventService = { refreshInvoiceDataGrid: function () { $log.debug("refreshInvoiceDataGrid"); } }; //导入事件 var callFinancialApi = function () { if (!$scope.formParam || !$scope.formParam.orgIds || !$scope.formParam.dataTypes || !$scope.formParam.period) { SweetAlert.warning($translate.instant('PleaseSelectAtLeastOneItem')); return; } dataImportService.callExtractFinancialData($scope.formParam).success(function (data) { if (data) { getFinancialDataStatus(); } }); }; var getGridHeight = function () { if ($scope.isLoadComplete) { return { height: ($('.balance-ouput-grid-wrapper').height()) + "px" }; } else { return { height: 0 + "px" }; } }; var loadExtractFinancialInfoDatagrid = function () { $scope.extractFinancialGridOptions = { bindingOptions: { dataSource: 'extractFinancialGridSource' }, showBorders: true, columns: [{ dataField: "id", allowHeaderFiltering: false, caption: $translate.instant('ExtractTaskId') }, { dataField: "taxpayerIdNum", width: '15%', allowHeaderFiltering: false, caption: $translate.instant('TaxpayerIdNum') }, { dataField: "companyCode", allowHeaderFiltering: false, caption: $translate.instant('CompanyCode'), width: '15%' }, { dataField: "companyName", allowHeaderFiltering: false, width: '20%', caption: $translate.instant('CompanyName') }, { dataField: "fileType", allowHeaderFiltering: false, width: '15%', caption: $translate.instant('ExtractFile') }, { dataField: "periodYear", allowHeaderFiltering: false, width: '14%', caption: $translate.instant('YearPeriod') }, /*{ dataField: "periodMonth", allowHeaderFiltering: false, width: '10%', caption: $translate.instant('TMSPeriod') }, */ { dataField: "periodMonth", allowHeaderFiltering: false, width: '8%', caption: $translate.instant('Period') }, { dataField: "recordSize", allowHeaderFiltering: false, width: '10%', caption: $translate.instant('RecordSize') }, { dataField: "errorMsg", allowHeaderFiltering: false, width: '20%', caption: $translate.instant('Status') }, { dataField: "operator", allowHeaderFiltering: false, width: '10%', caption: $translate.instant('LogOperationUser') }, { dataField: "operateTime", allowHeaderFiltering: false, width: '10%', caption: $translate.instant('LogOperationTime'), calculateCellValue: function(data) { return new Date(data.operateTime).formatDateTime('yyyy-MM-dd HH:mm:ss'); } } ], onContentReady: function (e) { $scope.extractFinancialInstance = e.component; var totalCount = e.component.totalCount(); if (totalCount > 0) { $scope.totalCount = totalCount; } }, loadPanel: { enabled: false }, selection: { mode: "single" }, grouping: { autoExpandAll: false }, allowColumnResizing: true, columnAutoWidth: true, showRowLines: true, showColumnLines: true, rowAlternationEnabled: true, //单双行颜色 noDataText: $translate.instant('NoDataText'), selectAllText: $translate.instant('SelectAll'), headerFilter: { visible: false, texts: { cancel: $translate.instant('Cancel'), ok: $translate.instant('Confirm'), emptyValue: $translate.instant('Empty'), selectAllText: $translate.instant('SelectAll') } } }; getFinancialDataStatus(); }; var getFinancialDataStatus = function () { vatImportService.displayImportLog($scope.pagingOptions,constant.importFileType.ExtractFinancialData).success(function (data) { if (data && data.list) { $scope.extractFinancialGridSource = data.list; $scope.pagingOptions.totalItems = data.pageInfo.totalCount; }else { SweetAlert.error($translate.instant('SystemError')); } }); }; //日志 var showOperateLogPop = function () { $scope.isShowLog = true; }; var initPagingControl = function (totalItemsCount) { $scope.pagingOptions.totalItems = totalItemsCount; }; // 检查用户机构权限 var checkUserOrganizationPermissionList = function () { var list = []; var userManageTemp = constant.vatPermission.dataImport.balanceSheet; list.push(userManageTemp.importCode); $scope.hasImportPermission = false; $scope.$root.checkUserOrganizationPermissionList(list).success(function (data) { $scope.hasImportPermission = data[userManageTemp.importCode]; }); }; //控制明细信息中删除权限 var getUserPermission = function () { var list = []; var code = constant.vatPermission.dataImport.balanceSheet.importCode; list.push(code); $scope.$root.checkUserOrganizationPermissionList(list).success(function (data) { $scope.hasEditPermission = data[code]; }); }; var setButtonWrapStyle = function () { if ($scope.fileName) { return { width: "100%" }; } }; var setGridStyle = function () { if ($scope.showTotalSecondRow) { return { 'margin-top': '60px' } } else { return { 'margin-top': '55px' } } }; var initCompanyList = function () { orgService.getOrgListByUserId().success(function (data) { if (data) { $scope.companyList = data; } }); }; var initParam = function () { $scope.callFinancialApi = callFinancialApi; $scope.initPagingControl = initPagingControl; $scope.setButtonWrapStyle = setButtonWrapStyle; $scope.getGridHeight = getGridHeight; $scope.showOperateLogPop = showOperateLogPop; $scope.setGridStyle = setGridStyle; }; //刷新页面 $scope.refreshConfigGrid = function () { getFinancialDataStatus(); }; //开始 (function initialize() { $log.debug('ImportTBController.ctor()...'); $scope.formParam = { }; //机构下拉设置 $scope.selectOrgOptions = { displayExpr: 'name', valueExpr: 'id', width: '95%', bindingOptions: { value: 'formParam.orgIds', dataSource: 'companyList' }, height: '30px', placeholder: $translate.instant('PleaseSelected'), showClearButton: true, searchEnabled: true, noDataText: $translate.instant('RevenueNoOrgData'), showSelectionControls: true }; //类型 $scope.selectTypeOptions = { displayExpr: 'type', valueExpr: 'code', width: '95%', bindingOptions: { value: 'formParam.dataTypes', dataSource: 'fileTypeList' }, height: '30px', placeholder: $translate.instant('PleaseSelected'), showClearButton: true, searchEnabled: true, noDataText: $translate.instant('NoData'), showSelectionControls: true }; //日期 $scope.dateBoxStart = { width: '100%', acceptCustomValue: false, openOnFieldClick: true, displayFormat: 'yyyy-MM', maxZoomLevel: "year", dateSerializationFormat: 'yyyy-MM', bindingOptions: { value: 'formParam.period' } }; initParam(); checkUserOrganizationPermissionList(); getUserPermission(); initCompanyList(); loadExtractFinancialInfoDatagrid(); $timeout(function () { $scope.isLoadComplete = true; }, 500); })(); } ]);