Commit 8302f314 authored by kevin's avatar kevin

Merge branch 'dev_mysql' of http://code.tech.tax.asia.pwcinternal.com/root/atms into dev_mysql

parents 77ad3248 ce5d78ce
...@@ -37,6 +37,8 @@ public class SystemConfig { ...@@ -37,6 +37,8 @@ public class SystemConfig {
private String tableauAustralianTax; private String tableauAustralianTax;
@Value("${tableau_brazilian_tax}") @Value("${tableau_brazilian_tax}")
private String tableauBrazilianTax; private String tableauBrazilianTax;
@Value("${tableau_dashboard}")
private String tableauDashboard;
public String getLongiApiBasicUser() { public String getLongiApiBasicUser() {
return this.longiApiBasicUser; return this.longiApiBasicUser;
...@@ -157,4 +159,12 @@ public class SystemConfig { ...@@ -157,4 +159,12 @@ public class SystemConfig {
public void setTableauBrazilianTax(String tableauBrazilianTax) { public void setTableauBrazilianTax(String tableauBrazilianTax) {
this.tableauBrazilianTax = tableauBrazilianTax; this.tableauBrazilianTax = tableauBrazilianTax;
} }
public String getTableauDashboard() {
return this.tableauDashboard;
}
public void setTableauDashboard(String tableauDashboard) {
this.tableauDashboard = tableauDashboard;
}
} }
...@@ -83,4 +83,10 @@ public class TableauController extends BaseController { ...@@ -83,4 +83,10 @@ public class TableauController extends BaseController {
return ApiResultDto.success(tableauService.getBrazilianTax().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getBrazilianTax().orElse(StringUtils.EMPTY));
} }
@ResponseBody
@GetMapping("dashboard")
public ApiResultDto getDashboard() {
return ApiResultDto.success(tableauService.getBrazilianTax().orElse(StringUtils.EMPTY));
}
} }
...@@ -9,14 +9,18 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -9,14 +9,18 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.POIUtil;
import pwc.taxtech.atms.common.PageResultVo; import pwc.taxtech.atms.common.PageResultVo;
import pwc.taxtech.atms.common.util.DateUtils; import pwc.taxtech.atms.common.util.DateUtils;
import pwc.taxtech.atms.constant.enums.FileUploadEnum; import pwc.taxtech.atms.constant.enums.FileUploadEnum;
...@@ -24,6 +28,7 @@ import pwc.taxtech.atms.dpo.OrgSelectDto; ...@@ -24,6 +28,7 @@ import pwc.taxtech.atms.dpo.OrgSelectDto;
import pwc.taxtech.atms.dto.TaxDocumentDto; import pwc.taxtech.atms.dto.TaxDocumentDto;
import pwc.taxtech.atms.entity.TaxDocument; import pwc.taxtech.atms.entity.TaxDocument;
import pwc.taxtech.atms.service.impl.DidiFileUploadService; import pwc.taxtech.atms.service.impl.DidiFileUploadService;
import pwc.taxtech.atms.service.impl.HttpFileService;
import pwc.taxtech.atms.service.impl.OrganizationServiceImpl; import pwc.taxtech.atms.service.impl.OrganizationServiceImpl;
import pwc.taxtech.atms.service.impl.TaxDocumentServiceImpl; import pwc.taxtech.atms.service.impl.TaxDocumentServiceImpl;
import pwc.taxtech.atms.thirdparty.ExcelUtil; import pwc.taxtech.atms.thirdparty.ExcelUtil;
...@@ -48,6 +53,8 @@ public class TaxDocumentController { ...@@ -48,6 +53,8 @@ public class TaxDocumentController {
private DidiFileUploadService didiFileUploadService; private DidiFileUploadService didiFileUploadService;
@Autowired @Autowired
private OrganizationServiceImpl organizationService; private OrganizationServiceImpl organizationService;
@Autowired
HttpFileService httpFileService;
@PostMapping("selectList") @PostMapping("selectList")
@ResponseBody @ResponseBody
public PageResultVo<TaxDocument> selectTaxDocumentList(@RequestBody TaxDocumentDto taxDocumentDto) { public PageResultVo<TaxDocument> selectTaxDocumentList(@RequestBody TaxDocumentDto taxDocumentDto) {
...@@ -394,4 +401,37 @@ public class TaxDocumentController { ...@@ -394,4 +401,37 @@ public class TaxDocumentController {
dataArray.add(sheetJson); dataArray.add(sheetJson);
} }
} }
@RequestMapping(value = "/convertExcel", method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public void convertExcel(HttpServletResponse response,String url){
InputStream is = null;
Workbook tWorkbook = null;
Workbook workbook = new XSSFWorkbook();
OutputStream ouputStream = null;
try{
is = httpFileService.getUserTemplate(url);
tWorkbook = WorkbookFactory.create(is);
for(int i = 0;i<tWorkbook.getNumberOfSheets();i++){
POIUtil.cloneSheet(tWorkbook.getSheetAt(i), workbook.createSheet(tWorkbook.getSheetAt(i).getSheetName()));
}
response.setContentType("multipart/form-data");
ouputStream = response.getOutputStream();
tWorkbook.write(ouputStream);
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (ouputStream != null) {
ouputStream.close();
}
if(is!=null){
is.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
} }
...@@ -113,4 +113,10 @@ public class TableauService extends BaseService { ...@@ -113,4 +113,10 @@ public class TableauService extends BaseService {
return optional.map(s -> String.format(systemConfig.getTableauBrazilianTax(), return optional.map(s -> String.format(systemConfig.getTableauBrazilianTax(),
getTicket(s).orElse(StringUtils.EMPTY))); getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getDashboard() {
Optional<String> optional = authUserHelper.getCurrentAuditor();
return optional.map(s -> String.format(systemConfig.getTableauDashboard(),
getTicket(s).orElse(StringUtils.EMPTY)));
}
} }
...@@ -231,8 +231,7 @@ public class ReportServiceImpl extends BaseService { ...@@ -231,8 +231,7 @@ public class ReportServiceImpl extends BaseService {
return operationResult; return operationResult;
} }
private void clearPeriodData(String projectId, Integer period, List<Long> templateIds, boolean isMergeManualData) { private void clearPeriodData(String projectId, Integer period, boolean isMergeManualData) {
if (templateIds.isEmpty()) templateIds.add(Long.MAX_VALUE);
PeriodFormulaBlockExample periodFormulaBlockExample = new PeriodFormulaBlockExample(); PeriodFormulaBlockExample periodFormulaBlockExample = new PeriodFormulaBlockExample();
periodFormulaBlockExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period); periodFormulaBlockExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodFormulaBlockMapper.deleteByExample(periodFormulaBlockExample); periodFormulaBlockMapper.deleteByExample(periodFormulaBlockExample);
...@@ -242,15 +241,15 @@ public class ReportServiceImpl extends BaseService { ...@@ -242,15 +241,15 @@ public class ReportServiceImpl extends BaseService {
periodTaxRuleSettingMapper.deleteByExample(periodTaxRuleSettingExample); periodTaxRuleSettingMapper.deleteByExample(periodTaxRuleSettingExample);
PeriodCellTemplateExample periodCellTemplateExample = new PeriodCellTemplateExample(); PeriodCellTemplateExample periodCellTemplateExample = new PeriodCellTemplateExample();
periodCellTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andReportTemplateIdNotIn(templateIds); periodCellTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodCellTemplateMapper.deleteByExample(periodCellTemplateExample); periodCellTemplateMapper.deleteByExample(periodCellTemplateExample);
PeriodCellTemplateConfigExample periodCellTemplateConfigExample = new PeriodCellTemplateConfigExample(); PeriodCellTemplateConfigExample periodCellTemplateConfigExample = new PeriodCellTemplateConfigExample();
periodCellTemplateConfigExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andReportTemplateIdNotIn(templateIds); periodCellTemplateConfigExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodCellTemplateConfigMapper.deleteByExample(periodCellTemplateConfigExample); periodCellTemplateConfigMapper.deleteByExample(periodCellTemplateConfigExample);
PeriodTemplateExample periodTemplateExample = new PeriodTemplateExample(); PeriodTemplateExample periodTemplateExample = new PeriodTemplateExample();
periodTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andTemplateIdNotIn(templateIds); periodTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodTemplateMapper.deleteByExample(periodTemplateExample); periodTemplateMapper.deleteByExample(periodTemplateExample);
PeriodTaxPayerReportRuleExample periodTaxPayerReportRuleExample = new PeriodTaxPayerReportRuleExample(); PeriodTaxPayerReportRuleExample periodTaxPayerReportRuleExample = new PeriodTaxPayerReportRuleExample();
...@@ -304,12 +303,13 @@ public class ReportServiceImpl extends BaseService { ...@@ -304,12 +303,13 @@ public class ReportServiceImpl extends BaseService {
} }
private void updateConfig(String projectId, Integer period, Boolean isMergeManualData, List<Template> templates, PeriodJob job) { private void updateConfig(String projectId, Integer period, Boolean isMergeManualData, List<Template> templates, PeriodJob job) {
List<Long> exceptTemplateIds = templateMapper.getIdsForExceptTemplate(); //财务报表不删除,这个逻辑用不到,先注释掉
// List<Long> exceptTemplateIds = templateMapper.getIdsForExceptTemplate();
//根据收入类型映射生成开票记录关联数据 //根据收入类型映射生成开票记录关联数据
assembleInvoiceRecord(projectId, period, isMergeManualData); assembleInvoiceRecord(projectId, period, isMergeManualData);
//生成trial_balance_final数据 //生成trial_balance_final数据
assembleTrialBalanceFinal(projectId, period); assembleTrialBalanceFinal(projectId, period);
clearPeriodData(projectId, period, exceptTemplateIds, isMergeManualData); clearPeriodData(projectId, period, isMergeManualData);
copyTemplateAndConfigFromAdmin(projectId, templates, period); copyTemplateAndConfigFromAdmin(projectId, templates, period);
setStatus(job, STATUS_END); setStatus(job, STATUS_END);
periodJobMapper.updateByPrimaryKey(job); periodJobMapper.updateByPrimaryKey(job);
......
...@@ -52,31 +52,35 @@ public class KPSR extends FunctionBase implements FreeRefFunction { ...@@ -52,31 +52,35 @@ public class KPSR extends FunctionBase implements FreeRefFunction {
private double assembleData(String revenueTypeName, List<OutputInvoiceDataSourceDto> contain, Integer billType, Integer amountType, OperationEvaluationContext ec) { private double assembleData(String revenueTypeName, List<OutputInvoiceDataSourceDto> contain, Integer billType, Integer amountType, OperationEvaluationContext ec) {
String queryDate = formulaContext.getYear() + (formulaContext.getPeriod() < 10 ? ("0" + formulaContext.getPeriod()) : (formulaContext.getPeriod() + "")); String queryDate = formulaContext.getYear() + (formulaContext.getPeriod() < 10 ? ("0" + formulaContext.getPeriod()) : (formulaContext.getPeriod() + ""));
// RevenueTypeMappingExample typeMappingExample = new RevenueTypeMappingExample();
// typeMappingExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId())
// .andRevenueTypeNameEqualTo(revenueTypeName).andStartDateLessThanOrEqualTo(queryDate)
// .andEndDateGreaterThanOrEqualTo(queryDate);
// List<RevenueTypeMapping> typeMappingList = SpringContextUtil.revenueTypeMappingMapper.selectByExample(typeMappingExample);
// if (CollectionUtils.isEmpty(typeMappingList)) {
// return 0.0;
// }
// List<String> revenueTypes = typeMappingList.stream() // List<String> revenueTypes = typeMappingList.stream()
// .map(o -> o.getRevenueTypeName()).collect(Collectors.toList()); // .map(o -> o.getRevenueTypeName()).collect(Collectors.toList());
RevenueConfigExample configExample = new RevenueConfigExample(); RevenueConfigExample configExample = new RevenueConfigExample();
configExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId()).andStartDateLessThanOrEqualTo(queryDate) configExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId()).andStartDateLessThanOrEqualTo(queryDate)
.andEndDateGreaterThanOrEqualTo(queryDate).andNameEqualTo(revenueTypeName); .andEndDateGreaterThanOrEqualTo(queryDate).andNameEqualTo(revenueTypeName).andStatusEqualTo(0);
List<RevenueConfig> configDatas = SpringContextUtil.revenueConfigMapper.selectByExample(configExample); List<RevenueConfig> configDatas = SpringContextUtil.revenueConfigMapper.selectByExample(configExample);
if (CollectionUtils.isEmpty(configDatas)) { if (CollectionUtils.isEmpty(configDatas)) {
return 0.0; return 0.0;
} }
RevenueTypeMappingExample typeMappingExample = new RevenueTypeMappingExample();
typeMappingExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId())
.andRevenueTypeNameEqualTo(revenueTypeName).andStartDateLessThanOrEqualTo(queryDate)
.andEndDateGreaterThanOrEqualTo(queryDate).andStatusEqualTo(0);
List<RevenueTypeMapping> typeMappingList = SpringContextUtil.revenueTypeMappingMapper.selectByExample(typeMappingExample);
if (CollectionUtils.isEmpty(typeMappingList)) {
return 0.0;
}
List<Long> revenueTypeIds = configDatas.stream() List<Long> revenueTypeIds = configDatas.stream()
.map(o -> o.getId()).collect(Collectors.toList()); .map(o -> o.getId()).collect(Collectors.toList());
List<InvoiceRecord> billDetails = new ArrayList<>(); List<InvoiceRecord> billDetails = new ArrayList<>();
InvoiceRecordExample invoiceRecordExample = null;
InvoiceRecordExample invoiceRecordExample = new InvoiceRecordExample(); for(RevenueTypeMapping typeMapping:typeMappingList){
invoiceRecordExample = new InvoiceRecordExample();
invoiceRecordExample.createCriteria().andRevenueCofIdIn(revenueTypeIds) invoiceRecordExample.createCriteria().andRevenueCofIdIn(revenueTypeIds)
.andProjectIdEqualTo(formulaContext.getProjectId()) .andProjectIdEqualTo(formulaContext.getProjectId())
.andPeriodEqualTo(Integer.valueOf(queryDate)) .andPeriodEqualTo(Integer.valueOf(queryDate))
.andTaxRateEqualTo(typeMapping.getTaxRate())
.andDepartmentEqualTo(typeMapping.getOuName())
.andInvoiceTypeEqualTo(InvoiceRecordEnum.InvoiceType.MAPPING.get(billType)); .andInvoiceTypeEqualTo(InvoiceRecordEnum.InvoiceType.MAPPING.get(billType));
List<InvoiceRecord> billDetails1 = SpringContextUtil.invoiceRecordMapper.selectByExample(invoiceRecordExample); List<InvoiceRecord> billDetails1 = SpringContextUtil.invoiceRecordMapper.selectByExample(invoiceRecordExample);
if(CollectionUtils.isNotEmpty(billDetails1)){ if(CollectionUtils.isNotEmpty(billDetails1)){
...@@ -92,11 +96,19 @@ public class KPSR extends FunctionBase implements FreeRefFunction { ...@@ -92,11 +96,19 @@ public class KPSR extends FunctionBase implements FreeRefFunction {
invoiceRecordExample.createCriteria().andModifyRevenueCofIdIn(revenueTypeIds) invoiceRecordExample.createCriteria().andModifyRevenueCofIdIn(revenueTypeIds)
.andProjectIdEqualTo(formulaContext.getProjectId()) .andProjectIdEqualTo(formulaContext.getProjectId())
.andPeriodEqualTo(Integer.valueOf(queryDate)) .andPeriodEqualTo(Integer.valueOf(queryDate))
.andTaxRateEqualTo(typeMapping.getTaxRate())
.andDepartmentEqualTo(typeMapping.getOuName())
.andInvoiceTypeEqualTo(InvoiceRecordEnum.InvoiceType.MAPPING.get(billType)); .andInvoiceTypeEqualTo(InvoiceRecordEnum.InvoiceType.MAPPING.get(billType));
List<InvoiceRecord> billDetails2 = SpringContextUtil.invoiceRecordMapper.selectByExample(invoiceRecordExample); List<InvoiceRecord> billDetails2 = SpringContextUtil.invoiceRecordMapper.selectByExample(invoiceRecordExample);
if(CollectionUtils.isNotEmpty(billDetails2)){ if(CollectionUtils.isNotEmpty(billDetails2)){
billDetails.addAll(billDetails2); billDetails.addAll(billDetails2);
} }
}
for (InvoiceRecord invoiceRecord : billDetails) { for (InvoiceRecord invoiceRecord : billDetails) {
OutputInvoiceDataSourceDto outputInvoiceDataSourceDto = new OutputInvoiceDataSourceDto(); OutputInvoiceDataSourceDto outputInvoiceDataSourceDto = new OutputInvoiceDataSourceDto();
outputInvoiceDataSourceDto.setAmount(FormulaHelper.roundValue(invoiceRecord.getInvoiceAmount(), outputInvoiceDataSourceDto.setAmount(FormulaHelper.roundValue(invoiceRecord.getInvoiceAmount(),
......
...@@ -81,3 +81,4 @@ tableau_global_overview=${tableau_global_overview} ...@@ -81,3 +81,4 @@ tableau_global_overview=${tableau_global_overview}
tableau_mexican_tax=${tableau_mexican_tax} tableau_mexican_tax=${tableau_mexican_tax}
tableau_australian_tax=${tableau_australian_tax} tableau_australian_tax=${tableau_australian_tax}
tableau_brazilian_tax=${tableau_brazilian_tax} tableau_brazilian_tax=${tableau_brazilian_tax}
tableau_dashboard=${tableau_dashboard}
\ No newline at end of file
...@@ -70,3 +70,4 @@ tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_2019 ...@@ -70,3 +70,4 @@ tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_2019
tableau_mexican_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_mexican_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_australian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_australian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_brazilian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_brazilian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_dashboard=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
...@@ -74,3 +74,5 @@ tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_2019 ...@@ -74,3 +74,5 @@ tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_2019
tableau_mexican_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_mexican_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_australian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_australian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_brazilian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_brazilian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_dashboard=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
...@@ -69,3 +69,5 @@ tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_2019 ...@@ -69,3 +69,5 @@ tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_2019
tableau_mexican_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_mexican_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_australian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_australian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_brazilian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_brazilian_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_dashboard=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
...@@ -74,4 +74,5 @@ tableau_global_overview=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/ ...@@ -74,4 +74,5 @@ tableau_global_overview=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/
tableau_mexican_tax=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_mexican_tax=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/Mexico?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_australian_tax=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_australian_tax=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/Australia?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_brazilian_tax=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_brazilian_tax=http://172.20.201.98:8090/trusted/%s/views/UAT_20190409/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_dashboard=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Brazil?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
...@@ -1905,5 +1905,22 @@ var analysisModule = angular.module('app.analysis', ['ui.grid', 'ui.router','ui. ...@@ -1905,5 +1905,22 @@ var analysisModule = angular.module('app.analysis', ['ui.grid', 'ui.router','ui.
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.analysis), resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.analysis),
sticky: true sticky: true
}); });
$stateProvider.state({
name: 'analysisDashboard',
url: "/analysis/analysisDashboard",
dsr: true,
views: {
'importContent': {
controller: ['$scope', '$state','appTranslation',
function ($scope, $state, appTranslation) {
$scope.state = $state;
appTranslation.load([appTranslation.appPart]);
}],
template: '<analysis-dashboard></analysis-dashboard>'
}
},
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.analysis),
sticky: true
});
}]); }]);
\ No newline at end of file
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<!--@Html.AntiForgeryToken()--> <!--@Html.AntiForgeryToken()-->
<div class="wrapper"> <div class="wrapper">
<app-nav></app-nav> <app-nav></app-nav>
<div class="page-wrapper" style="position:relative;overflow-x:hidden;overflow-y:auto;margin-top:55px"> <div class="page-wrapper" style="position:relative;overflow-x:hidden;margin-top:55px">
<div class="main-contents" ui-view></div> <div class="main-contents" ui-view></div>
<div class="data-import-contents" ui-view="importContent"></div><!--style="display: none"--> <div class="data-import-contents" ui-view="importContent"></div><!--style="display: none"-->
</div> </div>
......
...@@ -907,6 +907,7 @@ ...@@ -907,6 +907,7 @@
"MenuAustralianTax": "澳洲税务分析", "MenuAustralianTax": "澳洲税务分析",
"MenuBrazilianTax": "巴西税务分析", "MenuBrazilianTax": "巴西税务分析",
"MenuOtherCountries": "其他国家税务分析", "MenuOtherCountries": "其他国家税务分析",
"MenuDashboard": "Dashboard",
"ApproveCommitted":"审核中", "ApproveCommitted":"审核中",
"ApproveAgreed":"通过", "ApproveAgreed":"通过",
......
analysisModule.controller('AnalysisDashboardController', ['$scope','$filter', '$log', '$translate', '$http','SweetAlert',
'apiConfig',
function ($scope,$filter, $log, $translate, $http,SweetAlert,apiConfig) {
'use strict';
function init() {
$http.get('/tableau/dashboard', apiConfig.createVat())
.success(function (res) {
if (res && 0 === res.code) {
var placeholderDiv = document.getElementById('vizContainer');
var url = res.data;
var options = {
onFirstInteractive: function() {
// The viz is now ready and can be safely used.
console.log("Run this code when the viz has finished loading.");
}
};
try{
new tableau.Viz(placeholderDiv, url, options);
}catch (e) {
}
}else {
SweetAlert.error($translate.instant('SystemError'));
}
});
}
init();
(function initialize() {
})();
}
]);
\ No newline at end of file
<div id="vizContainer" style="display: flex; justify-content: center; height: 90%"></div>
\ No newline at end of file
analysisModule.directive('analysisDashboard', ['$log',
function ($log) {
'use strict';
return {
restrict: 'E',
templateUrl: '/app/analysis/dashboard/dashboard/dashboard.html' + '?_=' + Math.random(),
scope: {
serviceTypeId: "=?",
periodId: "=?"
},
controller: 'AnalysisDashboardController',
link: function (scope, element) {
$('.main-contents')[0].style.width = "260px";
$('.data-import-contents')[0].style.display = "block";
$('.main-contents')[0].style.float = "left";
$('.main-contents')[0].style.styleFloat = "left";
$('.main-contents')[0].style.cssFloat = "left";
}
};
}
]);
\ No newline at end of file
@import "~/app-resources/less/theme.less";
\ No newline at end of file
...@@ -1313,8 +1313,8 @@ taxDocumentManageModule.directive('multiFileUploader', function () { ...@@ -1313,8 +1313,8 @@ taxDocumentManageModule.directive('multiFileUploader', function () {
taxDocumentManageModule.directive('filePreview', function () { taxDocumentManageModule.directive('filePreview', function () {
return { return {
restrict: 'EA', restrict: 'EA',
controller: ['$scope', '$translate', 'SweetAlert', '$compile', 'taxDocumentListService', '$q', controller: ['$log','$scope', '$translate', 'SweetAlert', '$compile', 'taxDocumentListService', '$q',
function ($scope, $translate, SweetAlert, $compile, taxDocumentListService, $q) { function ($log,$scope, $translate, SweetAlert, $compile, taxDocumentListService, $q) {
$scope.previewData = []; $scope.previewData = [];
/**上传时预览的功能取消 2019/3/8*/ /**上传时预览的功能取消 2019/3/8*/
...@@ -1406,8 +1406,8 @@ taxDocumentManageModule.directive('filePreview', function () { ...@@ -1406,8 +1406,8 @@ taxDocumentManageModule.directive('filePreview', function () {
var fileType = fileName.split(".").pop(); var fileType = fileName.split(".").pop();
if (/xlsx|xls/i.test(fileType)) { if (/xlsx|xls/i.test(fileType)) {
$('#busy-indicator-container').show();
taxDocumentListService.viewExcelBySpread(filePositionUrl).then(function (reportSpread) { taxDocumentListService.viewExcelBySpread(fileType,filePositionUrl).then(function (reportSpread) {
var spreadCtrl = new GC.Spread.Sheets.Workbook(document.getElementById("excetlContainer")); var spreadCtrl = new GC.Spread.Sheets.Workbook(document.getElementById("excetlContainer"));
if (spreadCtrl) { if (spreadCtrl) {
spreadCtrl.destroy(); spreadCtrl.destroy();
...@@ -1416,10 +1416,11 @@ taxDocumentManageModule.directive('filePreview', function () { ...@@ -1416,10 +1416,11 @@ taxDocumentManageModule.directive('filePreview', function () {
if (!_.isEmpty(reportSpread)) { if (!_.isEmpty(reportSpread)) {
initSpreadExcel(reportSpread).then(function (spread) { initSpreadExcel(reportSpread).then(function (spread) {
/* return locateCell(spread, true);*/ /* return locateCell(spread, true);*/
$('#busy-indicator-container').hide();
}); });
} }
}, function (data) { }, function (data) {
$('#busy-indicator-container').hide();
$log.info(data); $log.info(data);
}); });
} }
...@@ -1441,49 +1442,49 @@ taxDocumentManageModule.directive('filePreview', function () { ...@@ -1441,49 +1442,49 @@ taxDocumentManageModule.directive('filePreview', function () {
var initSpreadExcel = function (reportSpread) { var initSpreadExcel = function (reportSpread) {
$("#filePreviewPop").modal("show"); $("#filePreviewPop").modal("show");
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("excetlContainer")); var spread = new GC.Spread.Sheets.Workbook(document.getElementById("excetlContainer"));
spread.suspendPaint(); // spread.suspendPaint();
spread.fromJSON(reportSpread); spread.fromJSON(reportSpread);
spread.options.showVerticalScrollbar = true; // spread.options.showVerticalScrollbar = true;
spread.options.showHorizontalScrollbar = true; // spread.options.showHorizontalScrollbar = true;
spread.options.scrollbarMaxAlign = true; // spread.options.scrollbarMaxAlign = true;
spread.options.scrollbarShowMax = true; // spread.options.scrollbarShowMax = true;
spread.options.tabNavigationVisible = true; // spread.options.tabNavigationVisible = true;
if (constant.regesterInformation.active) { // if (constant.regesterInformation.active) {
spread.options.tabEditable = false; // spread.options.tabEditable = false;
spread.options.tabStripVisible = false; // spread.options.tabStripVisible = false;
spread.options.newTabVisible = false; // spread.options.newTabVisible = false;
} // }
spread.options.allowUndo = false; // spread.options.allowUndo = false;
spread.options.allowUserResize = false; // spread.options.allowUserResize = false;
spread.options.allowUserDragDrop = false; // spread.options.allowUserDragDrop = false;
spread.options.allowUserDragFill = false; // spread.options.allowUserDragFill = false;
spread.options.allowUserEditFormula = false; // spread.options.allowUserEditFormula = false;
spread.options.allowContextMenu = false; // spread.options.allowContextMenu = false;
//todo:注册之后这里去掉注释 // //todo:注册之后这里去掉注释
//var sheet = spread.getActiveSheet(); // //var sheet = spread.getActiveSheet();
//
var sheet; // var sheet;
if (constant.regesterInformation.active) { // if (constant.regesterInformation.active) {
sheet = spread.getActiveSheet(); // sheet = spread.getActiveSheet();
} else { // } else {
sheet = spread.getSheet(1); // sheet = spread.getSheet(1);
} // }
if (sheet != null) { // if (sheet != null) {
sheet.options.rowHeaderVisible = true; // sheet.options.rowHeaderVisible = true;
sheet.options.colHeaderVisible = true; // sheet.options.colHeaderVisible = true;
sheet.options.gridline.showVerticalGridline = true; // sheet.options.gridline.showVerticalGridline = true;
sheet.options.gridline.showHorizontalGridline = true; // sheet.options.gridline.showHorizontalGridline = true;
sheet.options.isProtected = true; // sheet.options.isProtected = true;
sheet.clearSelection(); // sheet.clearSelection();
}
// setColWidth(sheet);
// if(sheet.getRowCount() <= 38)
// scope.relation.addEbitRow(sheet)
// if (scope.templateId && scope.reportSource) {
// setData();
// } // }
sheet.setRowResizable(0, false, GC.Spread.Sheets.SheetArea.viewport); // // setColWidth(sheet);
spread.resumePaint(); // // if(sheet.getRowCount() <= 38)
// // scope.relation.addEbitRow(sheet)
// // if (scope.templateId && scope.reportSource) {
// // setData();
// // }
// sheet.setRowResizable(0, false, GC.Spread.Sheets.SheetArea.viewport);
// spread.resumePaint();
return $q.when(spread); return $q.when(spread);
}; };
......
...@@ -183,12 +183,17 @@ taxDocumentManageModule.factory('taxDocumentListService', ...@@ -183,12 +183,17 @@ taxDocumentManageModule.factory('taxDocumentListService',
return defer.promise; return defer.promise;
}, },
viewExcelBySpread:function (url) { viewExcelBySpread:function (fileType,url) {
var deferred = $q.defer(); var deferred = $q.defer();
var promise = deferred.promise; var promise = deferred.promise;
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.open('GET', url, true); // 也可以使用POST方式,根据接口 if("xls"==fileType){
xhr.open('POST', apiInterceptor.webApiHostUrl + '/taxDoc/convertExcel', true);
xhr.setRequestHeader("Authorization", apiInterceptor.tokenType + ' ' + apiInterceptor.apiToken());
}else{
xhr.open('GET', url, true);
}
xhr.responseType = "blob"; // 返回类型blob xhr.responseType = "blob"; // 返回类型blob
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑 // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
xhr.onload = function () { xhr.onload = function () {
...@@ -207,7 +212,9 @@ taxDocumentManageModule.factory('taxDocumentListService', ...@@ -207,7 +212,9 @@ taxDocumentManageModule.factory('taxDocumentListService',
} }
}; };
// 发送ajax请求 // 发送ajax请求
xhr.send(); var data=new FormData();
data.append("url",url);
xhr.send(data);
return promise; return promise;
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment