Commit 2107edc9 authored by Memorydoc's avatar Memorydoc

Merge branch 'dev_mysql' of https://gitee.com/Memorydoc/atms into dev_mysql

parents 791d25fb 6b1c5b2b
...@@ -71,28 +71,22 @@ public class OperationLogTaxDocController { ...@@ -71,28 +71,22 @@ public class OperationLogTaxDocController {
@RequestMapping("exportExcel") @RequestMapping("exportExcel")
@ResponseBody @ResponseBody
// public void exportExcelFile(HttpServletResponse response, @RequestBody OperationLogTaxDocument operationLogTaxDocument) { public void exportExcelFile(HttpServletResponse response, @RequestBody OperationLogTaxDocument operationLogTaxDocument) {
public void exportExcelFile(HttpServletResponse response) {
try { try {
Map<String, String> headers = new LinkedHashMap<>(); Map<String, String> headers = new LinkedHashMap<>();
headers.put("id", "id"); headers.put("id", "id");
// headers.put("operation_content", "操作内容");
// headers.put("module_name", "模块名称");
// headers.put("operation_object", "操作对象");
headers.put("operation_action", "操作action"); headers.put("operation_action", "操作action");
// headers.put("original_state", "原始状态");
// headers.put("update_state", "更新状态");
headers.put("update_state", "操作内容"); headers.put("update_state", "操作内容");
headers.put("operation_user", "操作者"); headers.put("operation_user", "操作者");
headers.put("ip", "操作ip"); headers.put("ip", "操作ip");
headers.put("comment", "内容"); headers.put("comment", "内容");
headers.put("create_time", "创建时间"); headers.put("create_time", "创建时间");
List<OperationLogTaxDocument> TaxDocuments = operationLogTaxDocService.selectTaxDocumentList(); List<String> ids = operationLogTaxDocument.getIds() == null ? Lists.newArrayList() : operationLogTaxDocument.getIds();
// List<String> ids = operationLogTaxDocument.getIds() == null ? Lists.newArrayList() : operationLogTaxDocument.getIds(); List<OperationLogTaxDocument> taxDocuments = operationLogTaxDocService.selectListForLog(ids);
response.setContentType("multipart/form-data"); response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=" + new String("档案列表日志".getBytes("GB2312"), "ISO-8859-1")); response.setHeader("Content-Disposition", "attachment;fileName=" + new String("档案列表日志".getBytes("GB2312"), "ISO-8859-1"));
OutputStream ouputStream = response.getOutputStream(); OutputStream ouputStream = response.getOutputStream();
ExcelUtil.exportExcel(headers, TaxDocuments, ouputStream); ExcelUtil.exportExcel(headers, taxDocuments, ouputStream);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -64,19 +64,19 @@ public class TaxDocumentServiceImpl { ...@@ -64,19 +64,19 @@ public class TaxDocumentServiceImpl {
private OrganizationServiceImpl organizationService; private OrganizationServiceImpl organizationService;
public List<TaxDocument> selectTaxDocumentList(TaxDocumentDto taxDocumentDto,List<String> orgIds) { public List<TaxDocument> selectTaxDocumentList(TaxDocumentDto taxDocumentDto, List<String> orgIds) {
List<TaxDocument> dataList = taxDocumentMapper.selectByExample(getExample(taxDocumentDto,orgIds)); List<TaxDocument> dataList = taxDocumentMapper.selectByExample(getExample(taxDocumentDto, orgIds));
DidiFileIUploadParam fileParam = new DidiFileIUploadParam(); DidiFileIUploadParam fileParam = new DidiFileIUploadParam();
fileParam.setUuids(dataList.stream() fileParam.setUuids(dataList.stream()
.map(o -> o.getFileUploadId()).collect(Collectors.toList())); .map(o -> o.getFileUploadId()).collect(Collectors.toList()));
PageInfo<DidiFileUploadDetailResult> uploadDetail = didiFileUploadService.queryPage(fileParam); PageInfo<DidiFileUploadDetailResult> uploadDetail = didiFileUploadService.queryPage(fileParam);
Map<String,String> urlMap = null; Map<String, String> urlMap = null;
if(CollectionUtils.isNotEmpty(uploadDetail.getList())){ if (CollectionUtils.isNotEmpty(uploadDetail.getList())) {
urlMap = uploadDetail.getList().stream().collect(Collectors.toMap(DidiFileUploadDetailResult::getUid, didiFileUploadDetailResult -> didiFileUploadDetailResult.getViewHttpUrl())); urlMap = uploadDetail.getList().stream().collect(Collectors.toMap(DidiFileUploadDetailResult::getUid, didiFileUploadDetailResult -> didiFileUploadDetailResult.getViewHttpUrl()));
} }
if(urlMap!=null){ if (urlMap != null) {
for(TaxDocument data:dataList){ for (TaxDocument data : dataList) {
data.setFilePositionUrl(urlMap.get(data.getFileUploadId())); data.setFilePositionUrl(urlMap.get(data.getFileUploadId()));
} }
} }
...@@ -92,7 +92,7 @@ public class TaxDocumentServiceImpl { ...@@ -92,7 +92,7 @@ public class TaxDocumentServiceImpl {
* @param taxDocumentDto * @param taxDocumentDto
* @return * @return
*/ */
private TaxDocumentExample getExample(TaxDocumentDto taxDocumentDto,List<String> orgIds) { private TaxDocumentExample getExample(TaxDocumentDto taxDocumentDto, List<String> orgIds) {
TaxDocumentExample example = new TaxDocumentExample(); TaxDocumentExample example = new TaxDocumentExample();
TaxDocumentExample.Criteria criteria = example.createCriteria(); TaxDocumentExample.Criteria criteria = example.createCriteria();
criteria.andCompanyIdIn(orgIds); criteria.andCompanyIdIn(orgIds);
...@@ -172,6 +172,10 @@ public class TaxDocumentServiceImpl { ...@@ -172,6 +172,10 @@ public class TaxDocumentServiceImpl {
if (StringUtils.isNotBlank(taxDocumentDto.getCreator())) { if (StringUtils.isNotBlank(taxDocumentDto.getCreator())) {
criteria.andCreatorLike("%" + taxDocumentDto.getCreator() + "%"); criteria.andCreatorLike("%" + taxDocumentDto.getCreator() + "%");
} }
//ids
if (null != taxDocumentDto.getIds() && taxDocumentDto.getIds().size() > 0) {
criteria.andIdIn(taxDocumentDto.getIds());
}
//设置查询可用的数据 //设置查询可用的数据
criteria.andEnableEqualTo("T"); criteria.andEnableEqualTo("T");
example.setOrderByClause("create_time DESC"); example.setOrderByClause("create_time DESC");
...@@ -182,27 +186,27 @@ public class TaxDocumentServiceImpl { ...@@ -182,27 +186,27 @@ public class TaxDocumentServiceImpl {
public synchronized boolean addTaxDocumentList(MultipartFile file, TaxDocument taxDocument) { public synchronized boolean addTaxDocumentList(MultipartFile file, TaxDocument taxDocument) {
try { try {
//上传文件 //上传文件
if(StringUtils.isBlank(taxDocument.getFileUploadId())){ if (StringUtils.isBlank(taxDocument.getFileUploadId())) {
if(ReportFileUploadEnum.ReportType.MAPPING.containsKey(taxDocument.getFileType())){ if (ReportFileUploadEnum.ReportType.MAPPING.containsKey(taxDocument.getFileType())) {
//重新命名 //重新命名
String fileName = taxDocument.getCompanyName()+"_"+taxDocument.getFileType()+"_"+taxDocument.getOwnTime(); String fileName = taxDocument.getCompanyName() + "_" + taxDocument.getFileType() + "_" + taxDocument.getOwnTime();
fileName+=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); fileName += file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
FileUpload fileUpload = didiFileUploadService.uploadFile(file,fileName, FileUploadEnum.BizSource.RECORD_UPLOAD.name()); FileUpload fileUpload = didiFileUploadService.uploadFile(file, fileName, FileUploadEnum.BizSource.RECORD_UPLOAD.name());
taxDocument.setFileUploadId(fileUpload.getUid()); taxDocument.setFileUploadId(fileUpload.getUid());
taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl()); taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl());
taxDocument.setFileName(fileName); taxDocument.setFileName(fileName);
ReportFileUpload reportFileUpload = new ReportFileUpload(); ReportFileUpload reportFileUpload = new ReportFileUpload();
reportFileUpload.setOrgId(taxDocument.getCompanyId()); reportFileUpload.setOrgId(taxDocument.getCompanyId());
reportFileUpload.setSourceType(ReportFileUploadEnum.SuorceType.RECORD.name()); reportFileUpload.setSourceType(ReportFileUploadEnum.SuorceType.RECORD.name());
String period = String.valueOf(taxDocument.getOwnTime()).substring(0,6); String period = String.valueOf(taxDocument.getOwnTime()).substring(0, 6);
reportFileUpload.setPeriod(Integer.valueOf(period)); reportFileUpload.setPeriod(Integer.valueOf(period));
reportFileUpload.setFileUploadId(fileUpload.getUid()); reportFileUpload.setFileUploadId(fileUpload.getUid());
reportFileUpload.setReportType(taxDocument.getFileType()); reportFileUpload.setReportType(taxDocument.getFileType());
reportFileUpload.setReportFileName(fileName); reportFileUpload.setReportFileName(fileName);
reportFileUploadService.saveData(file,reportFileUpload); reportFileUploadService.saveData(file, reportFileUpload);
}else{ } else {
FileUpload fileUpload = didiFileUploadService.uploadFile(file,file.getOriginalFilename(), FileUploadEnum.BizSource.RECORD_UPLOAD.name()); FileUpload fileUpload = didiFileUploadService.uploadFile(file, file.getOriginalFilename(), FileUploadEnum.BizSource.RECORD_UPLOAD.name());
taxDocument.setFileUploadId(fileUpload.getUid()); taxDocument.setFileUploadId(fileUpload.getUid());
taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl()); taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl());
} }
...@@ -275,6 +279,7 @@ public class TaxDocumentServiceImpl { ...@@ -275,6 +279,7 @@ public class TaxDocumentServiceImpl {
if (null == ids || ids.size() < 1) { if (null == ids || ids.size() < 1) {
return false; return false;
} }
//逻辑批量删除(批量修改)
int num = taxDocumentMapper.batchDelete(ids); int num = taxDocumentMapper.batchDelete(ids);
if (num > 0) { if (num > 0) {
for (Long id : ids) { for (Long id : ids) {
...@@ -348,30 +353,77 @@ public class TaxDocumentServiceImpl { ...@@ -348,30 +353,77 @@ public class TaxDocumentServiceImpl {
public TaxDocument queryWhetherData(TaxDocument taxDocument) { public TaxDocument queryWhetherData(TaxDocument taxDocument) {
try { try {
//简单参数校验 //简单参数校验
/* if (StringUtils.isAnyBlank(taxDocumentDto.getFileAttr(), taxDocumentDto.getFileName(),
taxDocumentDto.getFileType(), taxDocumentDto.getCompanyName())){
return false;
}*/
TaxDocumentExample taxDocumentExample = new TaxDocumentExample(); TaxDocumentExample taxDocumentExample = new TaxDocumentExample();
TaxDocumentExample.Criteria criteria = taxDocumentExample.createCriteria(); TaxDocumentExample.Criteria criteria = taxDocumentExample.createCriteria();
criteria.andFileAttrEqualTo(taxDocument.getFileAttr()); //档案属性 fileAttr
criteria.andFileTypeEqualTo(taxDocument.getFileType()); if (StringUtils.isNotBlank(taxDocument.getFileAttr())) {
criteria.andFileNameEqualTo(taxDocument.getFileName()); criteria.andFileAttrEqualTo(taxDocument.getFileAttr());
criteria.andCompanyNameEqualTo(taxDocument.getCompanyName()); }
criteria.andEnableEqualTo("T"); //档案类型 fileType
if (null != taxDocument.getOwnTime()){ if (StringUtils.isNotBlank(taxDocument.getFileType())) {
criteria.andFileTypeEqualTo(taxDocument.getFileType());
}
//文件生效日期 fileTime
if (null != taxDocument.getFileTime()) {
criteria.andFileTimeEqualTo(taxDocument.getFileTime());
}
//所属时间 ownTime
if (null != taxDocument.getOwnTime()) {
criteria.andOwnTimeEqualTo(taxDocument.getOwnTime()); criteria.andOwnTimeEqualTo(taxDocument.getOwnTime());
} }
//档案名称 fileName
if (StringUtils.isNotBlank(taxDocument.getFileName())) {
criteria.andFileNameEqualTo(taxDocument.getFileName());
}
//业务线 businessLine
if (StringUtils.isNotBlank(taxDocument.getBusinessLine())) {
criteria.andBusinessLineEqualTo(taxDocument.getBusinessLine());
}
//公司名称 companyName
if (StringUtils.isNotBlank(taxDocument.getCompanyName())) {
criteria.andCompanyNameEqualTo(taxDocument.getCompanyName());
}
//到期日 effectiveTime
if (null != taxDocument.getEffectiveTime()) {
criteria.andEffectiveTimeEqualTo(taxDocument.getEffectiveTime());
}
//税种 taxType
if (StringUtils.isNotBlank(taxDocument.getTaxType())) {
criteria.andTaxTypeEqualTo(taxDocument.getTaxType());
}
//实物索引号 physicalIndexNumber
if (StringUtils.isNotBlank(taxDocument.getPhysicalIndexNumber())) {
criteria.andPhysicalIndexNumberEqualTo(taxDocument.getPhysicalIndexNumber());
}
//实物存放地点 storageArea
if (StringUtils.isNotBlank(taxDocument.getStorageArea())) {
criteria.andStorageAreaEqualTo(taxDocument.getStorageArea());
}
//实物保管人 keeper
if (StringUtils.isNotBlank(taxDocument.getKeeper())) {
criteria.andKeeperEqualTo(taxDocument.getKeeper());
}
//审批状态 auditStatus
if (null != taxDocument.getAuditStatus()) {
criteria.andAuditStatusEqualTo(taxDocument.getAuditStatus());
}
//创建人 creator
if (StringUtils.isNotBlank(taxDocument.getCreator())) {
criteria.andCreatorEqualTo(taxDocument.getCreator());
}
//设置查询可用的数据
criteria.andEnableEqualTo("T");
List<TaxDocument> taxDocuments = taxDocumentMapper.selectByExample(taxDocumentExample); List<TaxDocument> taxDocuments = taxDocumentMapper.selectByExample(taxDocumentExample);
if (null != taxDocuments && taxDocuments.size() > 0) { if (null != taxDocuments && taxDocuments.size() > 0) {
return taxDocuments.get(0); return taxDocuments.get(0);
} }
return new TaxDocument(); return new TaxDocument();
} catch (Exception e) { } catch (Exception e) {
// log.error("TaxDocumentServiceImpl queryWhetherData error :" + e.getMessage()); log.error("TaxDocumentServiceImpl queryWhetherData error :" + e.getMessage());
return new TaxDocument(); return new TaxDocument();
} }
} }
public void downloadAllFile(HttpServletResponse response, List<Long> ids) { public void downloadAllFile(HttpServletResponse response, List<Long> ids) {
//如果只选择了一个附件,则不打包 //如果只选择了一个附件,则不打包
if (null != ids && ids.size() == 1) { if (null != ids && ids.size() == 1) {
...@@ -522,7 +574,7 @@ public class TaxDocumentServiceImpl { ...@@ -522,7 +574,7 @@ public class TaxDocumentServiceImpl {
// } // }
//检查文件名是否有重复 //检查文件名是否有重复
int fileNameRepeatTimes = 0; int fileNameRepeatTimes = 0;
if (fileNameList.size()>0){ if (fileNameList.size() > 0) {
fileNameRepeatTimes = Collections.frequency(fileNameList, item.getFileName()); fileNameRepeatTimes = Collections.frequency(fileNameList, item.getFileName());
} }
String fileName; String fileName;
...@@ -597,8 +649,9 @@ public class TaxDocumentServiceImpl { ...@@ -597,8 +649,9 @@ public class TaxDocumentServiceImpl {
} }
} }
public Map<String,Object> multipalInitData(String address) {
if (StringUtils.isBlank(address)){ public Map<String, Object> multipalInitData(String address) {
if (StringUtils.isBlank(address)) {
throw new RuntimeException("地址格式错误"); throw new RuntimeException("地址格式错误");
} }
Map<String, Object> resultMap = Maps.newHashMap(); Map<String, Object> resultMap = Maps.newHashMap();
...@@ -607,49 +660,77 @@ public class TaxDocumentServiceImpl { ...@@ -607,49 +660,77 @@ public class TaxDocumentServiceImpl {
ArrayList<String> successFileNameList = Lists.newArrayList(); ArrayList<String> successFileNameList = Lists.newArrayList();
ArrayList<String> existedFileNameList = Lists.newArrayList(); ArrayList<String> existedFileNameList = Lists.newArrayList();
//读取固定文件目录下的所有文件的文件名 //读取固定文件目录下的所有文件的文件名
File file = new File(address); File iniTfile = new File(address);
if (!file.isDirectory() || !file.exists()){ if (!iniTfile.isDirectory() || !iniTfile.exists()) {
throw new RuntimeException("文件夹地址错误"); throw new RuntimeException("文件夹地址错误");
} }
List<File> files = Arrays.asList(file.listFiles()); List<File> files = Arrays.asList(iniTfile.listFiles());
if (files.size()<1){ if (files.size() < 1) {
throw new RuntimeException("文件列表为空"); throw new RuntimeException("文件列表为空");
} }
List<String> fileNames = files.stream().filter(e -> e.isFile()).map(File::getName).collect(Collectors.toList()); /*List<String> fileNames = files.stream().filter(e -> e.isFile()).map(File::getName).collect(Collectors.toList());
if (fileNames.size()<1){ if (fileNames.size()<1){
throw new RuntimeException("文件列表为空"); throw new RuntimeException("文件列表为空");
} }*/
//公司名简称和公司序号Map(name-id) //公司名简称和公司序号Map(name-id)
Map<String, String> companyNameAndId; Map<String, String> companyNameAndId;
try { try {
companyNameAndId = organizationService.findAllOrganizations().stream().collect(Collectors.toMap(Organization::getAbbreviation, Organization::getId)); companyNameAndId = organizationService.findAllOrganizations().stream().collect(Collectors.toMap(Organization::getAbbreviation, Organization::getId, (value1, value2) -> {
return value2;
}));
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("公司简称和id获取失败!请联系管理员"); throw new RuntimeException("公司简称和id获取失败!请联系管理员");
} }
if (companyNameAndId.size() < 1) { if (companyNameAndId.size() < 1) {
throw new RuntimeException("公司名称列表无数据!"); throw new RuntimeException("公司名称列表无数据!");
} }
fileNames.forEach(fileName -> { //递归处理
recursiveSolveFile(errorFileNameList, successFileNameList, existedFileNameList, files, companyNameAndId);
//返回成功列表和失败列表
resultMap.put("successFileNameList", successFileNameList);
resultMap.put("errorFileNameList", errorFileNameList);
resultMap.put("existedFileNameList", existedFileNameList);
return resultMap;
}
/**
* 递归循环文件夹 处理
*
* @param errorFileNameList
* @param successFileNameList
* @param existedFileNameList
* @param files
* @param companyNameAndId
*/
private void recursiveSolveFile(ArrayList<String> errorFileNameList, ArrayList<String> successFileNameList, ArrayList<String> existedFileNameList, List<File> files, Map<String, String> companyNameAndId) {
files.forEach(file -> {
if (file.isDirectory()) {
recursiveSolveFile(errorFileNameList, successFileNameList, existedFileNameList, Arrays.asList(file.listFiles()), companyNameAndId);
return;
}
String fileName = file.getName();//文件名/
String filePath = file.getPath();//文件路径
//文件名校验 如果文件名中不包含_则不符合规则,添加到错误列表中 //文件名校验 如果文件名中不包含_则不符合规则,添加到错误列表中
if (!fileName.contains("_")) { if (!fileName.contains("_")) {
errorFileNameList.add(fileName); errorFileNameList.add(filePath);
return;//此处相当于continue return;//此处相当于continue
} }
//根据文件名格式分割,以 "_"来分割 //根据文件名格式分割,以 "_"来分割
List<String> params = Arrays.asList(fileName.substring(0,fileName.indexOf(".")).split("_")); try {
//根据分割的长度来进行匹配对比 如果长度<3或者>6或公司简称匹配不上则添加至失败列表(目前最少的是3个,若以后有更改请更改此处参数) List<String> params = Arrays.asList(fileName.substring(0, fileName.indexOf(".")).split("_"));
if (params.size() < 3 || params.size() > 6 || !companyNameAndId.containsKey(params.get(0))) { //根据分割的长度来进行匹配对比 如果长度<3或者>6或公司简称匹配不上则添加至失败列表(目前最少的是3个,若以后有更改请更改此处参数)
errorFileNameList.add(fileName); if (params.size() < 3 || params.size() > 6 || !companyNameAndId.containsKey(params.get(0))) {
errorFileNameList.add(filePath);
return;//此处相当于continue
}
//根据档案类型匹配并初始化值
matchFileTypeToInitData(errorFileNameList, successFileNameList, existedFileNameList, companyNameAndId, file, params, filePath);
} catch (Exception e) {
e.printStackTrace();
errorFileNameList.add(filePath);
return;//此处相当于continue return;//此处相当于continue
} }
//根据档案类型匹配并初始化值
matchFileTypeToInitData(errorFileNameList, successFileNameList, existedFileNameList, companyNameAndId, fileName, params);
}); });
//返回成功列表和失败列表
resultMap.put("successFileNameList",successFileNameList);
resultMap.put("errorFileNameList",errorFileNameList);
resultMap.put("existedFileNameList",existedFileNameList);
return resultMap;
} }
//初始化税种列表(后续可做成从数据库中拿) //初始化税种列表(后续可做成从数据库中拿)
...@@ -857,15 +938,15 @@ public class TaxDocumentServiceImpl { ...@@ -857,15 +938,15 @@ public class TaxDocumentServiceImpl {
* *
* @return * @return
*/ */
private TaxDocument buildBaseTaxDocument(Map<String, String> companyNameAndId, List<String> params ,String fileName) { private TaxDocument buildBaseTaxDocument(Map<String, String> companyNameAndId, List<String> params, String fileName) {
TaxDocument taxDocument = new TaxDocument(); TaxDocument taxDocument = new TaxDocument();
taxDocument.setFileName(fileName); taxDocument.setFileName(fileName);
taxDocument.setCompanyId(companyNameAndId.get(params.get(0))); taxDocument.setCompanyId(companyNameAndId.get(params.get(0)));
taxDocument.setCompanyName(params.get(0)); taxDocument.setCompanyName(params.get(0));
taxDocument.setCreateTime(new Date()); taxDocument.setCreateTime(new Date());
taxDocument.setUpdateTime(new Date()); taxDocument.setUpdateTime(new Date());
taxDocument.setCreator(authUserHelper.getCurrentAuditor().get()); taxDocument.setCreator("System");
taxDocument.setCreatorId(authUserHelper.getCurrentUserId()); taxDocument.setCreatorId("1");
taxDocument.setUploadTime(new Date()); taxDocument.setUploadTime(new Date());
taxDocument.setYearRedundancy(Calendar.getInstance().get(Calendar.YEAR)); taxDocument.setYearRedundancy(Calendar.getInstance().get(Calendar.YEAR));
//根据公司Id 设置业务线 //根据公司Id 设置业务线
...@@ -878,13 +959,13 @@ public class TaxDocumentServiceImpl { ...@@ -878,13 +959,13 @@ public class TaxDocumentServiceImpl {
/** /**
* 根据档案类型匹配并初始化值 * 根据档案类型匹配并初始化值
*
* @param errorFileNameList * @param errorFileNameList
* @param successeFileNameList * @param successeFileNameList
* @param companyNameAndId * @param companyNameAndId
* @param fileName
* @param params * @param params
*/ */
private void matchFileTypeToInitData(ArrayList<String> errorFileNameList, ArrayList<String> successeFileNameList, ArrayList<String> existedFileNameList, Map<String, String> companyNameAndId, String fileName, List<String> params) { private void matchFileTypeToInitData(ArrayList<String> errorFileNameList, ArrayList<String> successeFileNameList, ArrayList<String> existedFileNameList, Map<String, String> companyNameAndId, File file, List<String> params, String filePath) {
//长度为3(先验证是否国际类型并校验匹配,若是国际类型档案类型索引为2(国际类型第三个为档案类型),否则索引为1为档案类型 //长度为3(先验证是否国际类型并校验匹配,若是国际类型档案类型索引为2(国际类型第三个为档案类型),否则索引为1为档案类型
if (params.size() == 3 if (params.size() == 3
&& (//国际类型 公司簡稱_档案属性_档案类型 && (//国际类型 公司簡稱_档案属性_档案类型
...@@ -900,172 +981,107 @@ public class TaxDocumentServiceImpl { ...@@ -900,172 +981,107 @@ public class TaxDocumentServiceImpl {
(internationalGroupOfCompanyFileAttrFileType4.keySet().contains(params.get(2)) (internationalGroupOfCompanyFileAttrFileType4.keySet().contains(params.get(2))
&& internationalGroupOfCompanyFileAttrFileType4.values().contains(params.get(1))))) { && internationalGroupOfCompanyFileAttrFileType4.values().contains(params.get(1))))) {
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 //设置档案属性 档案类型
taxDocument.setFileAttr(params.get(1)); taxDocument.setFileAttr(params.get(1));
taxDocument.setFileType(params.get(2)); taxDocument.setFileType(params.get(2));
//校验是否已存在 //校验是否已存在
if (null == queryWhetherData(taxDocument).getId()){ checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
//插入数据 } else if (params.size() == 3//公司簡稱_档案类型_文件生效日期
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 3//公司簡稱_档案类型_文件生效日期
&& groupOfCompanyFileTypeFIleTime.keySet().contains(params.get(1)) && groupOfCompanyFileTypeFIleTime.keySet().contains(params.get(1))
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(2))){//文件生效日期校验 && null != DateUtils.stringToDate4yyyyMMdd(params.get(2))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 文件生效日期 //设置档案属性 档案类型 文件生效日期
taxDocument.setFileType(params.get(1)); taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeFIleTime.get(params.get(1))); taxDocument.setFileAttr(groupOfCompanyFileTypeFIleTime.get(params.get(1)));
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(2))); taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(2)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 3//公司簡稱_档案类型_到期日
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 3//公司簡稱_档案类型_到期日
&& groupOfCompanyFileTypeEffectiveTime.keySet().contains(params.get(1)) && groupOfCompanyFileTypeEffectiveTime.keySet().contains(params.get(1))
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(2))){//到期日校验 && null != DateUtils.stringToDate4yyyyMMdd(params.get(2))) {//到期日校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 到期日 //设置档案属性 档案类型 到期日
taxDocument.setFileType(params.get(1)); taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeEffectiveTime.get(params.get(1))); taxDocument.setFileAttr(groupOfCompanyFileTypeEffectiveTime.get(params.get(1)));
taxDocument.setEffectiveTime(DateUtils.stringToDate4yyyyMMdd(params.get(2))); taxDocument.setEffectiveTime(DateUtils.stringToDate4yyyyMMdd(params.get(2)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 4 //国际类型 公司簡稱_档案属性_档案类型_所属期间
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 4 //国际类型 公司簡稱_档案属性_档案类型_所属期间
&& (internationalGroupOfCompanyFileAttrFileTypeOwnTime.keySet().contains(params.get(2)) && (internationalGroupOfCompanyFileAttrFileTypeOwnTime.keySet().contains(params.get(2))
&& internationalGroupOfCompanyFileAttrFileTypeOwnTime.values().contains(params.get(1))) && internationalGroupOfCompanyFileAttrFileTypeOwnTime.values().contains(params.get(1)))
&& checkOwnTime(params.get(3))){//所属期间校验 && checkOwnTime(params.get(3))) {//所属期间校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 所属期间 //设置档案属性 档案类型 所属期间
taxDocument.setFileAttr(params.get(1)); taxDocument.setFileAttr(params.get(1));
taxDocument.setFileType(params.get(2)); taxDocument.setFileType(params.get(2));
taxDocument.setOwnTime(Integer.valueOf(params.get(3))); taxDocument.setOwnTime(Integer.valueOf(params.get(3)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 4 //公司簡稱_档案类型_所属期间_文件生效日期
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 4 //公司簡稱_档案类型_所属期间_文件生效日期
&& groupOfCompanyFileTypeOwnTimeFileTime.keySet().contains(params.get(1)) && groupOfCompanyFileTypeOwnTimeFileTime.keySet().contains(params.get(1))
&& checkOwnTime(params.get(2))//所属期间校验 && checkOwnTime(params.get(2))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))){//文件生效日期校验 && null != DateUtils.stringToDate4yyyyMMdd(params.get(3))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 所属期间 文件生效日期 //设置档案类型 档案属性 所属期间 文件生效日期
taxDocument.setFileType(params.get(1)); taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeFileTime.get(params.get(1))); taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeFileTime.get(params.get(1)));
taxDocument.setOwnTime(Integer.valueOf(params.get(2))); taxDocument.setOwnTime(Integer.valueOf(params.get(2)));
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(3))); taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(3)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 4 //公司簡稱_档案类型_所属期间_到期日
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 4 //公司簡稱_档案类型_所属期间_到期日
&& groupOfCompanyFileTypeOwnTimeEffectiveTime.keySet().contains(params.get(1)) && groupOfCompanyFileTypeOwnTimeEffectiveTime.keySet().contains(params.get(1))
&& checkOwnTime(params.get(2))//所属期间校验 && checkOwnTime(params.get(2))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))){//到期日校验 && null != DateUtils.stringToDate4yyyyMMdd(params.get(3))) {//到期日校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 所属期间 到期日 //设置档案类型 档案属性 所属期间 到期日
taxDocument.setFileType(params.get(1)); taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeEffectiveTime.get(params.get(1))); taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeEffectiveTime.get(params.get(1)));
taxDocument.setOwnTime(Integer.valueOf(params.get(2))); taxDocument.setOwnTime(Integer.valueOf(params.get(2)));
taxDocument.setEffectiveTime(DateUtils.stringToDate4yyyyMMdd(params.get(3))); taxDocument.setEffectiveTime(DateUtils.stringToDate4yyyyMMdd(params.get(3)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 5 //国际类型 公司簡稱_档案属性_档案类型_税种_所属期间
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 5 //国际类型 公司簡稱_档案属性_档案类型_税种_所属期间
&& (internationalGroupOfCompanyFileAttrFileTypeTaxTypeOwnTime.keySet().contains(params.get(2)) && (internationalGroupOfCompanyFileAttrFileTypeTaxTypeOwnTime.keySet().contains(params.get(2))
&& internationalGroupOfCompanyFileAttrFileTypeTaxTypeOwnTime.values().contains(params.get(1))) && internationalGroupOfCompanyFileAttrFileTypeTaxTypeOwnTime.values().contains(params.get(1)))
&& taxsList.contains(params.get(3))//税种校验 && taxsList.contains(params.get(3))//税种校验
&& checkOwnTime(params.get(4))){//所属期间校验 && checkOwnTime(params.get(4))) {//所属期间校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 税种 所属期间 //设置档案属性 档案类型 税种 所属期间
taxDocument.setFileAttr(params.get(1)); taxDocument.setFileAttr(params.get(1));
taxDocument.setFileType(params.get(2)); taxDocument.setFileType(params.get(2));
taxDocument.setTaxType(params.get(3)); taxDocument.setTaxType(params.get(3));
taxDocument.setOwnTime(Integer.valueOf(params.get(4))); taxDocument.setOwnTime(Integer.valueOf(params.get(4)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 5 //公司簡稱_档案类型_税种_所属期间_文件生效日期
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 5 //公司簡稱_档案类型_税种_所属期间_文件生效日期
&& groupOfCompanyFileTypeTaxTypeOwnTimeFileTime.keySet().contains(params.get(1)) && groupOfCompanyFileTypeTaxTypeOwnTimeFileTime.keySet().contains(params.get(1))
&& taxsList.contains(params.get(2))//税种校验 && taxsList.contains(params.get(2))//税种校验
&& checkOwnTime(params.get(3))//所属期间校验 && checkOwnTime(params.get(3))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(4))){//文件生效日期校验 && null != DateUtils.stringToDate4yyyyMMdd(params.get(4))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 税种 所属期间 文件生效日期 //设置档案类型 档案属性 税种 所属期间 文件生效日期
taxDocument.setFileType(params.get(1)); taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeTaxTypeOwnTimeFileTime.get(params.get(1))); taxDocument.setFileAttr(groupOfCompanyFileTypeTaxTypeOwnTimeFileTime.get(params.get(1)));
taxDocument.setTaxType(params.get(2)); taxDocument.setTaxType(params.get(2));
taxDocument.setOwnTime(Integer.valueOf(params.get(3))); taxDocument.setOwnTime(Integer.valueOf(params.get(3)));
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(4))); taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(4)));
if (null == queryWhetherData(taxDocument).getId()){ //校验是否已存在
//插入数据 checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
taxDocumentMapper.insert(taxDocument); } else if (params.size() == 6 //公司簡稱_档案类型_所属期间_文件生效日期_实物存放地点_实物保管人
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 6 //公司簡稱_档案类型_所属期间_文件生效日期_实物存放地点_实物保管人
&& groupOfCompanyFileTypeOwnTimeFileTimeStorageAreaKeeper.keySet().contains(params.get(1)) && groupOfCompanyFileTypeOwnTimeFileTimeStorageAreaKeeper.keySet().contains(params.get(1))
&& checkOwnTime(params.get(2))//所属期间校验 && checkOwnTime(params.get(2))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))){//文件生效日期校验 && null != DateUtils.stringToDate4yyyyMMdd(params.get(3))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名 //构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName); TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 所属期间 文件生效日期 实物存放地点 实物保管人 //设置档案类型 档案属性 所属期间 文件生效日期 实物存放地点 实物保管人
taxDocument.setFileType(params.get(1)); taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeFileTimeStorageAreaKeeper.get(params.get(1))); taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeFileTimeStorageAreaKeeper.get(params.get(1)));
...@@ -1073,15 +1089,53 @@ public class TaxDocumentServiceImpl { ...@@ -1073,15 +1089,53 @@ public class TaxDocumentServiceImpl {
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(3))); taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(3)));
taxDocument.setStorageArea(params.get(4)); taxDocument.setStorageArea(params.get(4));
taxDocument.setKeeper(params.get(5)); taxDocument.setKeeper(params.get(5));
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else {
errorFileNameList.add(filePath);
}
}
private void checkExistedAndInsertOrUpdate(ArrayList<String> successeFileNameList, ArrayList<String> existedFileNameList, File file, TaxDocument taxDocument, String filePath) {
if (null == queryWhetherData(taxDocument).getId()) {
//TODO 上传文件 并填充文件url 上传人等信息
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
try {
fis = new FileInputStream(file);
bos = new ByteArrayOutputStream(1000);
byte[] b = new byte[1000];
int n;
while ((n = fis.read(b)) != -1) {
bos.write(b, 0, n);
}
FileUpload fileUpload = didiFileUploadService.uploadFile(bos.toByteArray(), file.getName(), FileUploadEnum.BizSource.RECORD_UPLOAD.name());
taxDocument.setFileUploadId(fileUpload.getUid());
taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
bos.close();
} catch (Exception e) {
}
}
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中 //添加到成功列表中
successeFileNameList.add(fileName); successeFileNameList.add(filePath);
}else { } else {
errorFileNameList.add(fileName); //添加到已存在列表中
existedFileNameList.add(filePath);
//TODO 或做覆盖操作
} }
} }
/** /**
* 检查所属期间转换是否正常 * 检查所属期间转换是否正常
*
* @param s * @param s
* @return * @return
*/ */
......
...@@ -397,10 +397,11 @@ public class TemplateGroupServiceImpl extends AbstractService { ...@@ -397,10 +397,11 @@ public class TemplateGroupServiceImpl extends AbstractService {
config.setUpdateTime(now); config.setUpdateTime(now);
config.setUpdateBy(authUserHelper.getCurrentUserId()); config.setUpdateBy(authUserHelper.getCurrentUserId());
cellTemplateConfigList.add(config); cellTemplateConfigList.add(config);
if (allowManual) { //只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei start
addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList); // if (allowManual) {
} // addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList);
// }
//只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei end
PeriodDataSource pds = new PeriodDataSource(); PeriodDataSource pds = new PeriodDataSource();
pds.setAmount(BigDecimal.ZERO); pds.setAmount(BigDecimal.ZERO);
pds.setUpdateBy("Admin"); pds.setUpdateBy("Admin");
...@@ -556,9 +557,11 @@ public class TemplateGroupServiceImpl extends AbstractService { ...@@ -556,9 +557,11 @@ public class TemplateGroupServiceImpl extends AbstractService {
config.setUpdateBy(authUserHelper.getCurrentUserId()); config.setUpdateBy(authUserHelper.getCurrentUserId());
cellTemplateConfigList.add(config); cellTemplateConfigList.add(config);
//noinspection Duplicates //noinspection Duplicates
if (allowManual) { //只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei start
addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList); // if (allowManual) {
} // addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList);
// }
//只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei end
PeriodDataSource pds = new PeriodDataSource(); PeriodDataSource pds = new PeriodDataSource();
pds.setAmount(BigDecimal.ZERO); pds.setAmount(BigDecimal.ZERO);
pds.setUpdateBy("Admin"); pds.setUpdateBy("Admin");
......
...@@ -8,10 +8,8 @@ import com.google.common.collect.Lists; ...@@ -8,10 +8,8 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.HashedMap; import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell;
...@@ -26,7 +24,6 @@ import org.springframework.stereotype.Component; ...@@ -26,7 +24,6 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import pwc.taxtech.atms.analysis.entity.AnalysisTax;
import pwc.taxtech.atms.common.CommonUtils; import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.POIUtil; import pwc.taxtech.atms.common.POIUtil;
import pwc.taxtech.atms.common.message.ErrorMessage; import pwc.taxtech.atms.common.message.ErrorMessage;
...@@ -61,7 +58,10 @@ import pwc.taxtech.atms.vat.service.impl.report.functions.FormulaHelper; ...@@ -61,7 +58,10 @@ import pwc.taxtech.atms.vat.service.impl.report.functions.FormulaHelper;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
...@@ -71,7 +71,6 @@ import java.util.regex.Matcher; ...@@ -71,7 +71,6 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static pwc.taxtech.atms.common.util.FileExcelUtil.downloadExcel;
import static pwc.taxtech.atms.dto.vatdto.WrapPeriodJobDto.*; import static pwc.taxtech.atms.dto.vatdto.WrapPeriodJobDto.*;
@Component @Component
...@@ -352,17 +351,15 @@ public class ReportServiceImpl extends BaseService { ...@@ -352,17 +351,15 @@ public class ReportServiceImpl extends BaseService {
andStartDateLessThanOrEqualTo(queryDate).andEndDateGreaterThanOrEqualTo(queryDate). andStartDateLessThanOrEqualTo(queryDate).andEndDateGreaterThanOrEqualTo(queryDate).
andStatusEqualTo(0); andStatusEqualTo(0);
List<RevenueTypeMapping> mappingList = revenueTypeMappingMapper.selectByExample(mappingExample); List<RevenueTypeMapping> mappingList = revenueTypeMappingMapper.selectByExample(mappingExample);
//先清除数据
InvoiceRecord delRecord = new InvoiceRecord();
delRecord.setRevenueCofId(null);
if (!isMergeManualData) {
delRecord.setModifyRevenueCofId(null);
}
InvoiceRecordExample delExample = new InvoiceRecordExample(); InvoiceRecordExample delExample = new InvoiceRecordExample();
delExample.createCriteria().andProjectIdEqualTo(projectId) delExample.createCriteria().andProjectIdEqualTo(projectId).
.andProjectIdEqualTo(projectId).
andPeriodEqualTo(Integer.valueOf(queryDate.replace("-", ""))); andPeriodEqualTo(Integer.valueOf(queryDate.replace("-", "")));
invoiceRecordMapper.deleteByExample(delExample); if (isMergeManualData) {
invoiceRecordMapper.clearRevenueCof(true, false, delExample);
} else {
invoiceRecordMapper.clearRevenueCof(true, true, delExample);
}
Map<String, Long> map = new HashMap<>(); Map<String, Long> map = new HashMap<>();
for (RevenueTypeMapping mapping : mappingList) { for (RevenueTypeMapping mapping : mappingList) {
if (!map.containsKey(mapping.getContent())) { if (!map.containsKey(mapping.getContent())) {
...@@ -482,140 +479,78 @@ public class ReportServiceImpl extends BaseService { ...@@ -482,140 +479,78 @@ public class ReportServiceImpl extends BaseService {
for (int r = sheet.getFirstRowNum(); r <= sheet.getLastRowNum(); r++) { for (int r = sheet.getFirstRowNum(); r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r); Row row = sheet.getRow(r);
for (int c = row.getFirstCellNum(); c <= row.getLastCellNum(); c++) { for (int c = row.getFirstCellNum(); c <= row.getLastCellNum(); c++) {
Cell cell = row.getCell(c); Cell cell = row.getCell(c);
if (cell == null) { if (cell == null) {
continue;//todo cell == null 如何处理 continue;//todo cell == null 如何处理
} }
if (r <= addRowIndex + 1) { if (r <= addRowIndex + 1) {
String cellId = projectId + template.getId() + period + r + c; if(r == addRowIndex + 1 && c>TaxesCalculateReportEnum.Column.Column_14.getIndex()){
if ((r - 1) >= 0 && (r - 1) < configIds.size()) { assembleOriginalTemplateData(template,projectId,period,r,c,addRowIndex,cellTemplateList,cellTemplateConfigList);
cellId += configIds.get(configIds.size() - r); }else{
} String cellId = projectId + template.getId() + period + r + c;
Long cellTemplateId = Long.valueOf(cellId.hashCode()); if ((r - 1) >= 0 && (r - 1) < configIds.size()) {
cellTemplateId = cellTemplateId < 0 ? cellTemplateId : (cellTemplateId * -1); cellId += configIds.get(configIds.size() - r);
//更新手工数据源 }
PeriodDataSourceExample delExample = new PeriodDataSourceExample(); Long cellTemplateId = Long.valueOf(cellId.hashCode());
delExample.createCriteria().andProjectIdEqualTo(projectId) cellTemplateId = cellTemplateId < 0 ? cellTemplateId : (cellTemplateId * -1);
.andPeriodEqualTo(period).andTypeEqualTo(10).andColumnIndexEqualTo(c).andRowIndexEqualTo(r); //更新手工数据源
PeriodDataSource dataSource = new DataSourceExtendDto(); PeriodDataSourceExample delExample = new PeriodDataSourceExample();
dataSource.setColumnIndex(999); delExample.createCriteria().andProjectIdEqualTo(projectId)
dataSource.setRowIndex(999); .andPeriodEqualTo(period).andTypeEqualTo(10).andColumnIndexEqualTo(c).andRowIndexEqualTo(r);
periodDataSourceMapper.updateByExampleSelective(dataSource, delExample); PeriodDataSource dataSource = new DataSourceExtendDto();
dataSource.setColumnIndex(999);
PeriodDataSourceExample updateExample = new PeriodDataSourceExample(); dataSource.setRowIndex(999);
updateExample.createCriteria().andProjectIdEqualTo(projectId) periodDataSourceMapper.updateByExampleSelective(dataSource, delExample);
.andPeriodEqualTo(period).andTypeEqualTo(10).andCellTemplateIdEqualTo(cellTemplateId);
dataSource = new DataSourceExtendDto(); PeriodDataSourceExample updateExample = new PeriodDataSourceExample();
dataSource.setColumnIndex(c); updateExample.createCriteria().andProjectIdEqualTo(projectId)
dataSource.setRowIndex(r); .andPeriodEqualTo(period).andTypeEqualTo(10).andCellTemplateIdEqualTo(cellTemplateId);
periodDataSourceMapper.updateByExampleSelective(dataSource, updateExample); dataSource = new DataSourceExtendDto();
PeriodCellTemplate cellTemplate = new PeriodCellTemplate(); dataSource.setColumnIndex(c);
cellTemplate.setPeriod(period); dataSource.setRowIndex(r);
cellTemplate.setRowName(POIUtil.getCellFormulaString(cell)); periodDataSourceMapper.updateByExampleSelective(dataSource, updateExample);
cellTemplate.setProjectId(projectId); PeriodCellTemplate cellTemplate = new PeriodCellTemplate();
cellTemplate.setColumnIndex(c); cellTemplate.setPeriod(period);
cellTemplate.setCreateTime(now); cellTemplate.setRowName(POIUtil.getCellFormulaString(cell));
cellTemplate.setCellTemplateId(cellTemplateId); cellTemplate.setProjectId(projectId);
cellTemplate.setUpdateTime(now); cellTemplate.setColumnIndex(c);
cellTemplate.setRowIndex(r); cellTemplate.setCreateTime(now);
cellTemplate.setReportTemplateId(template.getId()); cellTemplate.setCellTemplateId(cellTemplateId);
cellTemplate.setId(distributedIdService.nextId()); cellTemplate.setUpdateTime(now);
if (cell.getCellComment() != null) { cellTemplate.setRowIndex(r);
cellTemplate.setComment(cell.getCellComment().getString().getString()); cellTemplate.setReportTemplateId(template.getId());
} cellTemplate.setId(distributedIdService.nextId());
cellTemplate.setIsReadOnly(hasHandDatas.contains(c) ? 0 : 1); if (cell.getCellComment() != null) {
cellTemplateList.add(cellTemplate); cellTemplate.setComment(cell.getCellComment().getString().getString());
if (r > 0 && hasFormulaDatas.contains(c) && StringUtils.isNotBlank(POIUtil.getCellFormulaString(cell))) { }
PeriodCellTemplateConfig periodCellTemplateConfig = new PeriodCellTemplateConfig(); cellTemplate.setIsReadOnly(hasHandDatas.contains(c) ? 0 : 1);
periodCellTemplateConfig.setId(distributedIdService.nextId()); cellTemplateList.add(cellTemplate);
periodCellTemplateConfig.setPeriod(period); if (r > 0 && hasFormulaDatas.contains(c) && StringUtils.isNotBlank(POIUtil.getCellFormulaString(cell))) {
periodCellTemplateConfig.setCellTemplateId(cellTemplateId); PeriodCellTemplateConfig periodCellTemplateConfig = new PeriodCellTemplateConfig();
periodCellTemplateConfig.setReportTemplateId(template.getId()); periodCellTemplateConfig.setId(distributedIdService.nextId());
periodCellTemplateConfig.setDataSourceType(1); periodCellTemplateConfig.setPeriod(period);
periodCellTemplateConfig.setFormula(POIUtil.getCellFormulaString(cell)); periodCellTemplateConfig.setCellTemplateId(cellTemplateId);
periodCellTemplateConfig.setParsedFormula(null); periodCellTemplateConfig.setReportTemplateId(template.getId());
periodCellTemplateConfig.setDataSourceType(1);
periodCellTemplateConfig.setFormula(POIUtil.getCellFormulaString(cell));
periodCellTemplateConfig.setParsedFormula(null);
// periodCellTemplateConfig.setCreateBy(authUserHelper.getCurrentUserId()); // periodCellTemplateConfig.setCreateBy(authUserHelper.getCurrentUserId());
periodCellTemplateConfig.setCreateTime(now); periodCellTemplateConfig.setCreateTime(now);
// periodCellTemplateConfig.setUpdateBy(authUserHelper.getCurrentUserId()); // periodCellTemplateConfig.setUpdateBy(authUserHelper.getCurrentUserId());
periodCellTemplateConfig.setUpdateTime(now); periodCellTemplateConfig.setUpdateTime(now);
periodCellTemplateConfig.setFormulaDataSource("报表数据"); periodCellTemplateConfig.setFormulaDataSource("报表数据");
periodCellTemplateConfig.setKeyValueParsedFormula(null); periodCellTemplateConfig.setKeyValueParsedFormula(null);
periodCellTemplateConfig.setProjectId(projectId); periodCellTemplateConfig.setProjectId(projectId);
fixedParsedFormula(periodCellTemplateConfig); fixedParsedFormula(periodCellTemplateConfig);
fixedAccountCode(periodCellTemplateConfig); fixedAccountCode(periodCellTemplateConfig);
cellTemplateConfigList.add(periodCellTemplateConfig); cellTemplateConfigList.add(periodCellTemplateConfig);
} }
if (r > 0 && r <= addRowIndex && hasHandDatas.contains(c)) { if (r > 0 && r <= addRowIndex && hasHandDatas.contains(c)) {
addManualConfig(cellTemplate, cell, now, cellTemplateConfigList); addManualConfig(cellTemplate, cell, now, cellTemplateConfigList);
}
} else {
//查询原来行cell是否有CellTemplate
CellTemplateExample cellTemplateExample = new CellTemplateExample();
cellTemplateExample.createCriteria().andReportTemplateIdEqualTo(template.getId()).andRowIndexEqualTo(r - addRowIndex).andColumnIndexEqualTo(c);
List<CellTemplate> cellTemplates = cellTemplateMapper.selectByExample(cellTemplateExample);
if (CollectionUtils.isNotEmpty(cellTemplates)) {
CellTemplate cellTemplate = cellTemplates.get(0);
PeriodCellTemplate periodCellTemplate = new PeriodCellTemplate();
CommonUtils.copyProperties(cellTemplate, periodCellTemplate);
periodCellTemplate.setId(distributedIdService.nextId());
periodCellTemplate.setPeriod(period);
periodCellTemplate.setReportTemplateId(template.getId());
periodCellTemplate.setRowIndex(r);
periodCellTemplate.setRowName(cellTemplate.getRowName());
periodCellTemplate.setColumnIndex(c);
periodCellTemplate.setColumnName(cellTemplate.getColumnName());
periodCellTemplate.setComment(cellTemplate.getComment());
periodCellTemplate.setCreateTime(cellTemplate.getCreateTime());
periodCellTemplate.setUpdateTime(cellTemplate.getUpdateTime());
periodCellTemplate.setCellTemplateId(cellTemplate.getId());
periodCellTemplate.setDataType(cellTemplate.getDataType());
periodCellTemplate.setIsReadOnly(cellTemplate.getIsReadOnly() ? 1 : 0);
periodCellTemplate.setCopyFromId(cellTemplate.getCopyFromId());
periodCellTemplate.setCreateBy(StringUtils.isBlank(cellTemplate.getCreateBy()) ? "admin" : cellTemplate.getCreateBy());
periodCellTemplate.setUpdateBy(StringUtils.isBlank(cellTemplate.getUpdateBy()) ? "admin" : cellTemplate.getUpdateBy());
periodCellTemplate.setProjectId(projectId);
cellTemplateList.add(periodCellTemplate);
CellTemplateConfigExample configExample = new CellTemplateConfigExample();
configExample.createCriteria().andCellTemplateIdEqualTo(cellTemplate.getId());
List<CellTemplateConfig> configs = cellTemplateConfigMapper.selectByExample(configExample);
if (CollectionUtils.isNotEmpty(configs)) {
for (CellTemplateConfig cellTemplateConfig : configs) {
PeriodCellTemplateConfig periodCellTemplateConfig = new PeriodCellTemplateConfig();
CommonUtils.copyProperties(cellTemplateConfig, periodCellTemplateConfig);
periodCellTemplateConfig.setId(distributedIdService.nextId());
periodCellTemplateConfig.setPeriod(period);
periodCellTemplateConfig.setCellTemplateId(cellTemplateConfig.getCellTemplateId());
periodCellTemplateConfig.setReportTemplateId(template.getId());
periodCellTemplateConfig.setDataSourceType(cellTemplateConfig.getDataSourceType());
periodCellTemplateConfig.setFormula(StringUtils.isBlank(cellTemplateConfig.getFormula()) ? null : cellTemplateConfig.getFormula());
periodCellTemplateConfig.setParsedFormula(null);
periodCellTemplateConfig.setFormulaDescription(cellTemplateConfig.getFormulaDescription());
periodCellTemplateConfig.setAccountCodes(cellTemplateConfig.getAccountCodes());
periodCellTemplateConfig.setInvoiceType(cellTemplateConfig.getInvoiceType());
periodCellTemplateConfig.setTaxRate(cellTemplateConfig.getTaxRate());
periodCellTemplateConfig.setInvoiceAmountType(cellTemplateConfig.getInvoiceAmountType());
periodCellTemplateConfig.setModelIds(cellTemplateConfig.getModelIds());
periodCellTemplateConfig.setCreateBy(StringUtils.isBlank(cellTemplateConfig.getCreateBy()) ? "admin" : cellTemplateConfig.getCreateBy());
periodCellTemplateConfig.setCreateTime(cellTemplateConfig.getCreateTime());
periodCellTemplateConfig.setUpdateBy(StringUtils.isBlank(cellTemplateConfig.getUpdateBy()) ? "admin" : cellTemplateConfig.getUpdateBy());
periodCellTemplateConfig.setUpdateTime(cellTemplateConfig.getUpdateTime());
periodCellTemplateConfig.setInvoiceCategory(cellTemplateConfig.getInvoiceCategory());
periodCellTemplateConfig.setFormulaDataSource(cellTemplateConfig.getFormulaDataSource());
periodCellTemplateConfig.setValidation(cellTemplateConfig.getValidation());
periodCellTemplateConfig.setParsedValidation(null);
periodCellTemplateConfig.setValidationDescription(cellTemplateConfig.getValidationDescription());
periodCellTemplateConfig.setVoucherKeyword(cellTemplateConfig.getVoucherKeyword());
periodCellTemplateConfig.setCellTemplateConfigId(cellTemplateConfig.getId());
periodCellTemplateConfig.setKeyValueParsedFormula(null);
periodCellTemplateConfig.setProjectId(projectId);
fixedParsedFormula(periodCellTemplateConfig);
fixedAccountCode(periodCellTemplateConfig);
cellTemplateConfigList.add(periodCellTemplateConfig);
}
} }
} }
} else {
assembleOriginalTemplateData(template,projectId,period,r,c,addRowIndex,cellTemplateList,cellTemplateConfigList);
} }
} }
} }
...@@ -630,6 +565,76 @@ public class ReportServiceImpl extends BaseService { ...@@ -630,6 +565,76 @@ public class ReportServiceImpl extends BaseService {
} }
} }
public void assembleOriginalTemplateData(Template template, String projectId, Integer period,
Integer r, Integer c, Integer addRowIndex,
List<PeriodCellTemplate> cellTemplateList, List<PeriodCellTemplateConfig> cellTemplateConfigList) {
//查询原来行cell是否有CellTemplate
CellTemplateExample cellTemplateExample = new CellTemplateExample();
cellTemplateExample.createCriteria().andReportTemplateIdEqualTo(template.getId()).andRowIndexEqualTo(r - addRowIndex).andColumnIndexEqualTo(c);
List<CellTemplate> cellTemplates = cellTemplateMapper.selectByExample(cellTemplateExample);
if (CollectionUtils.isNotEmpty(cellTemplates)) {
CellTemplate cellTemplate = cellTemplates.get(0);
PeriodCellTemplate periodCellTemplate = new PeriodCellTemplate();
CommonUtils.copyProperties(cellTemplate, periodCellTemplate);
periodCellTemplate.setId(distributedIdService.nextId());
periodCellTemplate.setPeriod(period);
periodCellTemplate.setReportTemplateId(template.getId());
periodCellTemplate.setRowIndex(r);
periodCellTemplate.setRowName(cellTemplate.getRowName());
periodCellTemplate.setColumnIndex(c);
periodCellTemplate.setColumnName(cellTemplate.getColumnName());
periodCellTemplate.setComment(cellTemplate.getComment());
periodCellTemplate.setCreateTime(cellTemplate.getCreateTime());
periodCellTemplate.setUpdateTime(cellTemplate.getUpdateTime());
periodCellTemplate.setCellTemplateId(cellTemplate.getId());
periodCellTemplate.setDataType(cellTemplate.getDataType());
periodCellTemplate.setIsReadOnly(cellTemplate.getIsReadOnly() ? 1 : 0);
periodCellTemplate.setCopyFromId(cellTemplate.getCopyFromId());
periodCellTemplate.setCreateBy(StringUtils.isBlank(cellTemplate.getCreateBy()) ? "admin" : cellTemplate.getCreateBy());
periodCellTemplate.setUpdateBy(StringUtils.isBlank(cellTemplate.getUpdateBy()) ? "admin" : cellTemplate.getUpdateBy());
periodCellTemplate.setProjectId(projectId);
cellTemplateList.add(periodCellTemplate);
CellTemplateConfigExample configExample = new CellTemplateConfigExample();
configExample.createCriteria().andCellTemplateIdEqualTo(cellTemplate.getId());
List<CellTemplateConfig> configs = cellTemplateConfigMapper.selectByExample(configExample);
if (CollectionUtils.isNotEmpty(configs)) {
for (CellTemplateConfig cellTemplateConfig : configs) {
PeriodCellTemplateConfig periodCellTemplateConfig = new PeriodCellTemplateConfig();
CommonUtils.copyProperties(cellTemplateConfig, periodCellTemplateConfig);
periodCellTemplateConfig.setId(distributedIdService.nextId());
periodCellTemplateConfig.setPeriod(period);
periodCellTemplateConfig.setCellTemplateId(cellTemplateConfig.getCellTemplateId());
periodCellTemplateConfig.setReportTemplateId(template.getId());
periodCellTemplateConfig.setDataSourceType(cellTemplateConfig.getDataSourceType());
periodCellTemplateConfig.setFormula(StringUtils.isBlank(cellTemplateConfig.getFormula()) ? null : cellTemplateConfig.getFormula());
periodCellTemplateConfig.setParsedFormula(null);
periodCellTemplateConfig.setFormulaDescription(cellTemplateConfig.getFormulaDescription());
periodCellTemplateConfig.setAccountCodes(cellTemplateConfig.getAccountCodes());
periodCellTemplateConfig.setInvoiceType(cellTemplateConfig.getInvoiceType());
periodCellTemplateConfig.setTaxRate(cellTemplateConfig.getTaxRate());
periodCellTemplateConfig.setInvoiceAmountType(cellTemplateConfig.getInvoiceAmountType());
periodCellTemplateConfig.setModelIds(cellTemplateConfig.getModelIds());
periodCellTemplateConfig.setCreateBy(StringUtils.isBlank(cellTemplateConfig.getCreateBy()) ? "admin" : cellTemplateConfig.getCreateBy());
periodCellTemplateConfig.setCreateTime(cellTemplateConfig.getCreateTime());
periodCellTemplateConfig.setUpdateBy(StringUtils.isBlank(cellTemplateConfig.getUpdateBy()) ? "admin" : cellTemplateConfig.getUpdateBy());
periodCellTemplateConfig.setUpdateTime(cellTemplateConfig.getUpdateTime());
periodCellTemplateConfig.setInvoiceCategory(cellTemplateConfig.getInvoiceCategory());
periodCellTemplateConfig.setFormulaDataSource(cellTemplateConfig.getFormulaDataSource());
periodCellTemplateConfig.setValidation(cellTemplateConfig.getValidation());
periodCellTemplateConfig.setParsedValidation(null);
periodCellTemplateConfig.setValidationDescription(cellTemplateConfig.getValidationDescription());
periodCellTemplateConfig.setVoucherKeyword(cellTemplateConfig.getVoucherKeyword());
periodCellTemplateConfig.setCellTemplateConfigId(cellTemplateConfig.getId());
periodCellTemplateConfig.setKeyValueParsedFormula(null);
periodCellTemplateConfig.setProjectId(projectId);
fixedParsedFormula(periodCellTemplateConfig);
fixedAccountCode(periodCellTemplateConfig);
cellTemplateConfigList.add(periodCellTemplateConfig);
}
}
}
}
private void addManualConfig(PeriodCellTemplate cellTemplate, Cell cell, Date now, List<PeriodCellTemplateConfig> list) { private void addManualConfig(PeriodCellTemplate cellTemplate, Cell cell, Date now, List<PeriodCellTemplateConfig> list) {
PeriodCellTemplateConfig configManual = new PeriodCellTemplateConfig(); PeriodCellTemplateConfig configManual = new PeriodCellTemplateConfig();
configManual.setId(distributedIdService.nextId()); configManual.setId(distributedIdService.nextId());
......
...@@ -364,12 +364,12 @@ ...@@ -364,12 +364,12 @@
<if test="subjectName != null and subjectName != ''"> <if test="subjectName != null and subjectName != ''">
and subject_name LIKE CONCAT('%' ,#{subjectName},'%') and subject_name LIKE CONCAT('%' ,#{subjectName},'%')
</if> </if>
<!--<if test="periodStart!=null">--> <if test="periodStart!=null">
<!--AND account_period &gt;= #{periodStart,jdbcType=INTEGER}--> AND account_period >= #{periodStart,jdbcType=INTEGER}
<!--</if>--> </if>
<!--<if test="periodEnd!=null">--> <if test="periodEnd!=null">
<!--AND account_period &lt;= #{periodEnd,jdbcType=INTEGER}--> AND account_period &lt;= #{periodEnd,jdbcType=INTEGER}
<!--</if>--> </if>
UNION ALL UNION ALL
select select
id, organization_id, project_id, tms_period as period ,date,source, ledger_id, ledger_name, currency_code, id, organization_id, project_id, tms_period as period ,date,source, ledger_id, ledger_name, currency_code,
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
export default { export default {
name: 'Mine', name: 'Mine',
data: () => ({ data: () => ({
userName: "杨铖的号头" userName: "Admin"
}) })
// //
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
export default { export default {
data: () => ({ data: () => ({
chartUrl: process.env.VUE_APP_TABLEAU_API + 'unreturnedTax', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauTaxCategoryUnreturnedTax',
tableauApiUrl: require('../assets/tableaujs.js'), tableauApiUrl: require('../assets/tableaujs.js'),
// tableauApiUrl: 'https://public.tableau.com/javascripts/api/tableau-2.2.2.min.js', // tableauApiUrl: 'https://public.tableau.com/javascripts/api/tableau-2.2.2.min.js',
drawer: null, drawer: null,
...@@ -97,79 +97,93 @@ ...@@ -97,79 +97,93 @@
{ {
iconName: '#d-iconyihuankuanbufen', iconName: '#d-iconyihuankuanbufen',
active: false, active: false,
title: '未返还税金分析', title: '税种未返还税金分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/1.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauTaxCategoryUnreturnedTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'unreturnedTax', },
{
iconName: '#d-iconyihuankuanbufen',
active: false,
title: '地区未返还税金分析',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauDistrictUnreturnedTax',
}, },
{ {
iconName: '#d-iconCompare', iconName: '#d-iconCompare',
active: false, active: false,
title: '未返还/返还后税金比较', title: '未返还/返还后税金比较',
avatar: 'https://cdn.vuetifyjs.com/images/lists/2.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauUnreturnedAndReturnedTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'taxComparison', },
{
iconName: '#d-iconCompare',
active: false,
title: '费用分析',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauCostAnalysis',
},
{
iconName: '#d-iconhuaban',
active: false,
title: '地区利润总额/亏损额',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauDistrictProfitAndLoss',
}, },
{ {
iconName: '#d-iconhuaban', iconName: '#d-iconhuaban',
active: false, active: false,
title: '利润/亏损分析', title: '公司利润总额/亏损额',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauCompanyProfitAndLoss',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'profitAndLoss',
}, },
{ {
iconName: '#d-iconqita1', iconName: '#d-iconqita1',
active: false, active: false,
title: '其他国内数据', title: '司机/员工人数',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauDriverAndEmployee',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'otherDomesticData',
}, },
{ {
iconName: '#d-iconarchive-paper', iconName: '#d-iconqita1',
active: false,
title: '业务线GMV及补贴统计',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauGmvAndSubsidy',
},
{
iconName: '#d-iconqita1',
active: false, active: false,
title: '档案归档情况', title: '档案归档情况',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauFileArrangement',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'docSituation',
}, },
{ {
iconName: '#d-iconfeiyong', iconName: '#d-iconqita1',
active: false, active: false,
title: '费用分析', title: '国际税全球概览',
avatar: 'https://cdn.vuetifyjs.com/images/lists/3.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauGlobalOverview',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'costAnalysis',
}, },
{ {
iconName: '#d-iconquanqiu', iconName: '#d-iconqita1',
active: false, active: false,
title: '全球概览', title: '国际税业务数据',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauGlobalBusiness',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'globalOverview',
}, },
{ {
iconName: "#d-iconmexico", iconName: "#d-iconmexico",
active: false, active: false,
title: '墨西哥税务分析', title: '墨西哥税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauMexicanTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'mexicanTax',
}, },
{ {
iconName: '#d-iconaodaliya', iconName: '#d-iconaodaliya',
active: false, active: false,
title: '澳洲税务分析', title: '澳洲税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauAustralianTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'australianTax',
}, },
{ {
iconName: '#d-iconbaxi', iconName: '#d-iconbaxi',
active: false, active: false,
title: '巴西税务分析', title: '巴西税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauBrazilianTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'brazilianTax',
}, },
{ {
iconName: '#d-iconqita', iconName: '#d-iconqita',
active: false, active: false,
title: '其他国家税务分析', title: '其他国家税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg', chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauOtherTaxAnalysis',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'otherCountries',
}, },
], ],
selectedItem: null selectedItem: null
......
...@@ -15,31 +15,54 @@ public class OrangeHeapConfig { ...@@ -15,31 +15,54 @@ public class OrangeHeapConfig {
//tableau相关配置 //tableau相关配置
@Value("${tableau_get_ticket}") @Value("${tableau_get_ticket}")
private String tableauGetTicket; private String tableauGetTicket;
@Value("${tableau_unreturned_tax}")
private String tableauUnreturnedTax; @Value("${tableau_tax_category_unreturned_tax}")
@Value("${tableau_tax_comparison}") private String tableauTaxCategoryUnreturnedTax;
private String tableauTaxComparison;
@Value("${tableau_other_countries}") @Value("${tableau_district_unreturned_tax}")
private String tableauOtherCountries; private String tableauDistrictUnreturnedTax;
@Value("${tableau_unreturned_and_returned_tax}")
private String tableauUnreturnedAndReturnedTax;
@Value("${tableau_cost_analysis}") @Value("${tableau_cost_analysis}")
private String tableauCostAnalysis; private String tableauCostAnalysis;
@Value("${tableau_profit_and_loss}")
private String tableauProfitAndLoss; @Value("${tableau_district_profit_and_loss}")
@Value("${tableau_other_domestic_data}") private String tableauDistrictProfitAndLoss;
private String tableauOtherDomesticData;
@Value("${tableau_doc_situation}") @Value("${tableau_company_profit_and_loss}")
private String tableauDocSituation; private String tableauCompanyProfitAndLoss;
@Value("${tableau_driver_and_employee}")
private String tableauDriverAndEmployee;
@Value("${tableau_gmv_and_subsidy}")
private String tableauGmvAndSubsidy;
@Value("${tableau_file_arrangement}")
private String tableauFileArrangement;
@Value("${tableau_global_overview}") @Value("${tableau_global_overview}")
private String tableauGlobalOverview; private String tableauGlobalOverview;
@Value("${tableau_global_business}")
private String tableauGlobalBusiness;
@Value("${tableau_mexican_tax}") @Value("${tableau_mexican_tax}")
private String tableauMexicanTax; private String tableauMexicanTax;
@Value("${tableau_australian_tax}") @Value("${tableau_australian_tax}")
private String tableauAustralianTax; private String tableauAustralianTax;
@Value("${tableau_brazilian_tax}") @Value("${tableau_brazilian_tax}")
private String tableauBrazilianTax; private String tableauBrazilianTax;
@Value("${tableau_other_tax_analysis}")
private String tableauOtherTaxAnalysis;
public String getLongiApiBasicUser() { public String getLongiApiBasicUser() {
return this.longiApiBasicUser; return longiApiBasicUser;
} }
public void setLongiApiBasicUser(String longiApiBasicUser) { public void setLongiApiBasicUser(String longiApiBasicUser) {
...@@ -47,7 +70,7 @@ public class OrangeHeapConfig { ...@@ -47,7 +70,7 @@ public class OrangeHeapConfig {
} }
public String getLongiApiBasicPwd() { public String getLongiApiBasicPwd() {
return this.longiApiBasicPwd; return longiApiBasicPwd;
} }
public void setLongiApiBasicPwd(String longiApiBasicPwd) { public void setLongiApiBasicPwd(String longiApiBasicPwd) {
...@@ -55,7 +78,7 @@ public class OrangeHeapConfig { ...@@ -55,7 +78,7 @@ public class OrangeHeapConfig {
} }
public String getLongiApiGlBalance() { public String getLongiApiGlBalance() {
return this.longiApiGlBalance; return longiApiGlBalance;
} }
public void setLongiApiGlBalance(String longiApiGlBalance) { public void setLongiApiGlBalance(String longiApiGlBalance) {
...@@ -63,79 +86,103 @@ public class OrangeHeapConfig { ...@@ -63,79 +86,103 @@ public class OrangeHeapConfig {
} }
public String getTableauGetTicket() { public String getTableauGetTicket() {
return this.tableauGetTicket; return tableauGetTicket;
} }
public void setTableauGetTicket(String tableauGetTicket) { public void setTableauGetTicket(String tableauGetTicket) {
this.tableauGetTicket = tableauGetTicket; this.tableauGetTicket = tableauGetTicket;
} }
public String getTableauUnreturnedTax() { public String getTableauTaxCategoryUnreturnedTax() {
return this.tableauUnreturnedTax; return tableauTaxCategoryUnreturnedTax;
} }
public void setTableauUnreturnedTax(String tableauUnreturnedTax) { public void setTableauTaxCategoryUnreturnedTax(String tableauTaxCategoryUnreturnedTax) {
this.tableauUnreturnedTax = tableauUnreturnedTax; this.tableauTaxCategoryUnreturnedTax = tableauTaxCategoryUnreturnedTax;
} }
public String getTableauTaxComparison() { public String getTableauDistrictUnreturnedTax() {
return this.tableauTaxComparison; return tableauDistrictUnreturnedTax;
} }
public void setTableauTaxComparison(String tableauTaxComparison) { public void setTableauDistrictUnreturnedTax(String tableauDistrictUnreturnedTax) {
this.tableauTaxComparison = tableauTaxComparison; this.tableauDistrictUnreturnedTax = tableauDistrictUnreturnedTax;
} }
public String getTableauOtherCountries() { public String getTableauUnreturnedAndReturnedTax() {
return this.tableauOtherCountries; return tableauUnreturnedAndReturnedTax;
} }
public void setTableauOtherCountries(String tableauOtherCountries) { public void setTableauUnreturnedAndReturnedTax(String tableauUnreturnedAndReturnedTax) {
this.tableauOtherCountries = tableauOtherCountries; this.tableauUnreturnedAndReturnedTax = tableauUnreturnedAndReturnedTax;
} }
public String getTableauCostAnalysis() { public String getTableauCostAnalysis() {
return this.tableauCostAnalysis; return tableauCostAnalysis;
} }
public void setTableauCostAnalysis(String tableauCostAnalysis) { public void setTableauCostAnalysis(String tableauCostAnalysis) {
this.tableauCostAnalysis = tableauCostAnalysis; this.tableauCostAnalysis = tableauCostAnalysis;
} }
public String getTableauProfitAndLoss() { public String getTableauDistrictProfitAndLoss() {
return this.tableauProfitAndLoss; return tableauDistrictProfitAndLoss;
} }
public void setTableauProfitAndLoss(String tableauProfitAndLoss) { public void setTableauDistrictProfitAndLoss(String tableauDistrictProfitAndLoss) {
this.tableauProfitAndLoss = tableauProfitAndLoss; this.tableauDistrictProfitAndLoss = tableauDistrictProfitAndLoss;
} }
public String getTableauOtherDomesticData() { public String getTableauCompanyProfitAndLoss() {
return this.tableauOtherDomesticData; return tableauCompanyProfitAndLoss;
} }
public void setTableauOtherDomesticData(String tableauOtherDomesticData) { public void setTableauCompanyProfitAndLoss(String tableauCompanyProfitAndLoss) {
this.tableauOtherDomesticData = tableauOtherDomesticData; this.tableauCompanyProfitAndLoss = tableauCompanyProfitAndLoss;
} }
public String getTableauDocSituation() { public String getTableauDriverAndEmployee() {
return this.tableauDocSituation; return tableauDriverAndEmployee;
} }
public void setTableauDocSituation(String tableauDocSituation) { public void setTableauDriverAndEmployee(String tableauDriverAndEmployee) {
this.tableauDocSituation = tableauDocSituation; this.tableauDriverAndEmployee = tableauDriverAndEmployee;
}
public String getTableauGmvAndSubsidy() {
return tableauGmvAndSubsidy;
}
public void setTableauGmvAndSubsidy(String tableauGmvAndSubsidy) {
this.tableauGmvAndSubsidy = tableauGmvAndSubsidy;
}
public String getTableauFileArrangement() {
return tableauFileArrangement;
}
public void setTableauFileArrangement(String tableauFileArrangement) {
this.tableauFileArrangement = tableauFileArrangement;
} }
public String getTableauGlobalOverview() { public String getTableauGlobalOverview() {
return this.tableauGlobalOverview; return tableauGlobalOverview;
} }
public void setTableauGlobalOverview(String tableauGlobalOverview) { public void setTableauGlobalOverview(String tableauGlobalOverview) {
this.tableauGlobalOverview = tableauGlobalOverview; this.tableauGlobalOverview = tableauGlobalOverview;
} }
public String getTableauGlobalBusiness() {
return tableauGlobalBusiness;
}
public void setTableauGlobalBusiness(String tableauGlobalBusiness) {
this.tableauGlobalBusiness = tableauGlobalBusiness;
}
public String getTableauMexicanTax() { public String getTableauMexicanTax() {
return this.tableauMexicanTax; return tableauMexicanTax;
} }
public void setTableauMexicanTax(String tableauMexicanTax) { public void setTableauMexicanTax(String tableauMexicanTax) {
...@@ -143,7 +190,7 @@ public class OrangeHeapConfig { ...@@ -143,7 +190,7 @@ public class OrangeHeapConfig {
} }
public String getTableauAustralianTax() { public String getTableauAustralianTax() {
return this.tableauAustralianTax; return tableauAustralianTax;
} }
public void setTableauAustralianTax(String tableauAustralianTax) { public void setTableauAustralianTax(String tableauAustralianTax) {
...@@ -151,10 +198,18 @@ public class OrangeHeapConfig { ...@@ -151,10 +198,18 @@ public class OrangeHeapConfig {
} }
public String getTableauBrazilianTax() { public String getTableauBrazilianTax() {
return this.tableauBrazilianTax; return tableauBrazilianTax;
} }
public void setTableauBrazilianTax(String tableauBrazilianTax) { public void setTableauBrazilianTax(String tableauBrazilianTax) {
this.tableauBrazilianTax = tableauBrazilianTax; this.tableauBrazilianTax = tableauBrazilianTax;
} }
public String getTableauOtherTaxAnalysis() {
return tableauOtherTaxAnalysis;
}
public void setTableauOtherTaxAnalysis(String tableauOtherTaxAnalysis) {
this.tableauOtherTaxAnalysis = tableauOtherTaxAnalysis;
}
} }
\ No newline at end of file
...@@ -20,72 +20,104 @@ public class OrangeHeapController { ...@@ -20,72 +20,104 @@ public class OrangeHeapController {
@Resource @Resource
private OrangeHeapService tableauService; private OrangeHeapService tableauService;
//以上是示范代码
//TODO 加入其他图表
// 模板
// @ResponseBody
// @GetMapping("taxComparison")
// public ApiResultDto getTaxComparison() {
// return ApiResultDto.success(tableauService.getTaxComparison().orElse(StringUtils.EMPTY));
// }
@ResponseBody @ResponseBody
@GetMapping("unreturnedTax") @GetMapping("getTableauTaxCategoryUnreturnedTax")
public ApiResultDto getUnreturnedTax() { public ApiResultDto getTableauTaxCategoryUnreturnedTax() {
return ApiResultDto.success(tableauService.getUnreturnedTax().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauTaxCategoryUnreturnedTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("getTableauDistrictUnreturnedTax")
public ApiResultDto getTableauDistrictUnreturnedTax() {
return ApiResultDto.success(tableauService.getTableauDistrictUnreturnedTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("getTableauUnreturnedAndReturnedTax")
public ApiResultDto getTableauUnreturnedAndReturnedTax() {
return ApiResultDto.success(tableauService.getTableauUnreturnedAndReturnedTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("getTableauCostAnalysis")
public ApiResultDto getTableauCostAnalysis() {
return ApiResultDto.success(tableauService.getTableauCostAnalysis().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("getTableauDistrictProfitAndLoss")
public ApiResultDto getTableauDistrictProfitAndLoss() {
return ApiResultDto.success(tableauService.getTableauDistrictProfitAndLoss().orElse(StringUtils.EMPTY));
} }
//以上是示范代码
//TODO 加入其他图表
@ResponseBody @ResponseBody
@GetMapping("taxComparison") @GetMapping("getTableauCompanyProfitAndLoss")
public ApiResultDto getTaxComparison() { public ApiResultDto getTableauCompanyProfitAndLoss() {
return ApiResultDto.success(tableauService.getTaxComparison().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauCompanyProfitAndLoss().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("otherCountries") @GetMapping("getTableauDriverAndEmployee")
public ApiResultDto getOtherCountries() { public ApiResultDto getTableauDriverAndEmployee() {
return ApiResultDto.success(tableauService.getOtherCountries().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauDriverAndEmployee().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("costAnalysis") @GetMapping("getTableauGmvAndSubsidy")
public ApiResultDto getCostAnalysis() { public ApiResultDto getTableauGmvAndSubsidy() {
return ApiResultDto.success(tableauService.getCostAnalysis().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauGmvAndSubsidy().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("profitAndLoss") @GetMapping("getTableauFileArrangement")
public ApiResultDto getProfitAndLoss() { public ApiResultDto getTableauFileArrangement() {
return ApiResultDto.success(tableauService.getProfitAndLoss().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauFileArrangement().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("otherDomesticData") @GetMapping("getTableauGlobalOverview")
public ApiResultDto getOtherDomesticData() { public ApiResultDto getTableauGlobalOverview() {
return ApiResultDto.success(tableauService.getOtherDomesticData().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauGlobalOverview().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("docSituation") @GetMapping("getTableauGlobalBusiness")
public ApiResultDto getDocSituation() { public ApiResultDto getTableauGlobalBusiness() {
return ApiResultDto.success(tableauService.getDocSituation().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauGlobalBusiness().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("globalOverview") @GetMapping("getTableauMexicanTax")
public ApiResultDto getGlobalOverview() { public ApiResultDto getTableauMexicanTax() {
return ApiResultDto.success(tableauService.getGlobalOverview().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauMexicanTax().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("mexicanTax") @GetMapping("getTableauAustralianTax")
public ApiResultDto getMexicanTax() { public ApiResultDto getTableauAustralianTax() {
return ApiResultDto.success(tableauService.getMexicanTax().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauAustralianTax().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("australianTax") @GetMapping("getTableauBrazilianTax")
public ApiResultDto getAustralianTax() { public ApiResultDto getTableauBrazilianTax() {
return ApiResultDto.success(tableauService.getAustralianTax().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauBrazilianTax().orElse(StringUtils.EMPTY));
} }
@ResponseBody @ResponseBody
@GetMapping("brazilianTax") @GetMapping("getTableauOtherTaxAnalysis")
public ApiResultDto getBrazilianTax() { public ApiResultDto getTableauOtherTaxAnalysis() {
return ApiResultDto.success(tableauService.getBrazilianTax().orElse(StringUtils.EMPTY)); return ApiResultDto.success(tableauService.getTableauOtherTaxAnalysis().orElse(StringUtils.EMPTY));
} }
} }
...@@ -46,73 +46,87 @@ public class OrangeHeapService { ...@@ -46,73 +46,87 @@ public class OrangeHeapService {
return Optional.empty(); return Optional.empty();
} }
public Optional<String> getUnreturnedTax() { //税种未返还税金
// Optional<String> optional = Optional.of("admin"); // public Optional<String> getTableauTaxCategoryUnreturnedTax() {
// Optional<String> optional = Optional.of("admin");
// return optional.map(s -> String.format(systemConfig.getTableauTaxCategoryUnreturnedTax(),
// getTicket(s).orElse(StringUtils.EMPTY)));
// }
public Optional<String> getTableauTaxCategoryUnreturnedTax() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauTaxCategoryUnreturnedTax(), getTicket(s).orElse(StringUtils.EMPTY)));
}
return optional.map(s -> String.format(systemConfig.getTableauUnreturnedTax(), public Optional<String> getTableauDistrictUnreturnedTax() {
getTicket(s).orElse(StringUtils.EMPTY))); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauDistrictUnreturnedTax(), getTicket(s).orElse(StringUtils.EMPTY)));
} }
//TODO 加入其他图表 public Optional<String> getTableauUnreturnedAndReturnedTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauUnreturnedAndReturnedTax(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getTaxComparison() { public Optional<String> getTableauCostAnalysis() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauTaxComparison(), return optional.map(s -> String.format(systemConfig.getTableauCostAnalysis(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getOtherCountries() { public Optional<String> getTableauDistrictProfitAndLoss() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauOtherCountries(), return optional.map(s -> String.format(systemConfig.getTableauDistrictProfitAndLoss(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getCostAnalysis() { public Optional<String> getTableauCompanyProfitAndLoss() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauCostAnalysis(), return optional.map(s -> String.format(systemConfig.getTableauCompanyProfitAndLoss(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getProfitAndLoss() { public Optional<String> getTableauDriverAndEmployee() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauProfitAndLoss(), return optional.map(s -> String.format(systemConfig.getTableauDriverAndEmployee(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getOtherDomesticData() { public Optional<String> getTableauGmvAndSubsidy() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauOtherDomesticData(), return optional.map(s -> String.format(systemConfig.getTableauGmvAndSubsidy(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getDocSituation() { public Optional<String> getTableauFileArrangement() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauDocSituation(), return optional.map(s -> String.format(systemConfig.getTableauFileArrangement(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getGlobalOverview() { public Optional<String> getTableauGlobalOverview() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauGlobalOverview(), return optional.map(s -> String.format(systemConfig.getTableauGlobalOverview(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getMexicanTax() { public Optional<String> getTableauGlobalBusiness() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauMexicanTax(), return optional.map(s -> String.format(systemConfig.getTableauGlobalBusiness(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getAustralianTax() { public Optional<String> getTableauMexicanTax() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauAustralianTax(), return optional.map(s -> String.format(systemConfig.getTableauMexicanTax(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getBrazilianTax() { public Optional<String> getTableauAustralianTax() {
Optional<String> optional = Optional.of("admin"); Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauBrazilianTax(), return optional.map(s -> String.format(systemConfig.getTableauAustralianTax(), getTicket(s).orElse(StringUtils.EMPTY)));
getTicket(s).orElse(StringUtils.EMPTY)));
} }
public Optional<String> getTableauBrazilianTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauBrazilianTax(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getTableauOtherTaxAnalysis() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauOtherTaxAnalysis(), getTicket(s).orElse(StringUtils.EMPTY)));
}
} }
...@@ -23,15 +23,36 @@ longi_api_basic_pwd=${longi_api_basic_pwd} ...@@ -23,15 +23,36 @@ longi_api_basic_pwd=${longi_api_basic_pwd}
longi_api_gl_balance=${longi_api_gl_balance} longi_api_gl_balance=${longi_api_gl_balance}
#tableau config #tableau config
tableau_get_ticket=${tableau_get_ticket} tableau_get_ticket=${tableau_get_ticket}
tableau_unreturned_tax=${tableau_unreturned_tax}
tableau_tax_comparison=${tableau_tax_comparison} tableau_tax_category_unreturned_tax=${tableau_tax_category_unreturned_tax}
tableau_other_countries=${tableau_other_countries} tableau_district_unreturned_tax=${tableau_district_unreturned_tax}
tableau_unreturned_and_returned_tax=${tableau_unreturned_and_returned_tax}
tableau_cost_analysis=${tableau_cost_analysis} tableau_cost_analysis=${tableau_cost_analysis}
tableau_profit_and_loss=${tableau_profit_and_loss} tableau_district_profit_and_loss=${tableau_district_profit_and_loss}
tableau_other_domestic_data=${tableau_other_domestic_data} tableau_company_profit_and_loss=${tableau_company_profit_and_loss}
tableau_doc_situation=${tableau_doc_situation} tableau_driver_and_employee=${tableau_driver_and_employee}
tableau_gmv_and_subsidy=${tableau_gmv_and_subsidy}
tableau_file_arrangement=${tableau_file_arrangement}
tableau_global_overview=${tableau_global_overview} tableau_global_overview=${tableau_global_overview}
tableau_global_business=${tableau_global_business}
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}
\ No newline at end of file tableau_other_tax_analysis=${tableau_other_tax_analysis}
#tableau_get_ticket=${tableau_get_ticket}
#tableau_unreturned_tax=${tableau_unreturned_tax}
#tableau_tax_comparison=${tableau_tax_comparison}
#tableau_other_countries=${tableau_other_countries}
#tableau_cost_analysis=${tableau_cost_analysis}
#tableau_profit_and_loss=${tableau_profit_and_loss}
#tableau_other_domestic_data=${tableau_other_domestic_data}
#tableau_doc_situation=${tableau_doc_situation}
#tableau_global_overview=${tableau_global_overview}
#tableau_mexican_tax=${tableau_mexican_tax}
#tableau_australian_tax=${tableau_australian_tax}
#tableau_brazilian_tax=${tableau_brazilian_tax}
\ No newline at end of file
...@@ -22,14 +22,63 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi ...@@ -22,14 +22,63 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi
#tableau config #tableau config
tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s
tableau_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet8?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_tax_comparison=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #税种未返还税金
tableau_other_countries=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_tax_category_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_1?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #地区未返还税金
tableau_other_domestic_data=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_district_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_doc_situation=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet40?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?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_unreturned_and_returned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#地区利润总额 / 亏损额
tableau_district_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#公司利润总额 / 亏损额
tableau_company_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_2?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#司机 / 员工人数
tableau_driver_and_employee=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#业务线GMV及补贴统计
tableau_gmv_and_subsidy=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/GMV_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#档案归档情况
tableau_file_arrangement=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_3?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税全球概覧
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税业务数据
tableau_global_business=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/International_Table_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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
#澳洲税务分析
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
#巴西税务分析
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
#其他税务分析
tableau_other_tax_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#tableau_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet8?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_tax_comparison=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_other_countries=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_other_domestic_data=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_doc_situation=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet40?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
#tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?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_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
...@@ -22,14 +22,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi ...@@ -22,14 +22,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi
#tableau config #tableau config
tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s
tableau_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet8?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_tax_comparison=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #税种未返还税金
tableau_other_countries=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_tax_category_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_1?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #地区未返还税金
tableau_other_domestic_data=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_district_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_doc_situation=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet40?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?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_unreturned_and_returned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#地区利润总额 / 亏损额
tableau_district_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#公司利润总额 / 亏损额
tableau_company_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_2?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#司机 / 员工人数
tableau_driver_and_employee=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#业务线GMV及补贴统计
tableau_gmv_and_subsidy=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/GMV_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#档案归档情况
tableau_file_arrangement=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_3?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税全球概覧
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税业务数据
tableau_global_business=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/International_Table_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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
#澳洲税务分析
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
#巴西税务分析
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
#其他税务分析
tableau_other_tax_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
...@@ -23,14 +23,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi ...@@ -23,14 +23,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi
#tableau config #tableau config
tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s
tableau_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet8?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_tax_comparison=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #税种未返还税金
tableau_other_countries=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_tax_category_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_1?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #地区未返还税金
tableau_other_domestic_data=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_district_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_doc_situation=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet40?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?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_unreturned_and_returned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#地区利润总额 / 亏损额
tableau_district_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#公司利润总额 / 亏损额
tableau_company_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_2?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#司机 / 员工人数
tableau_driver_and_employee=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#业务线GMV及补贴统计
tableau_gmv_and_subsidy=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/GMV_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#档案归档情况
tableau_file_arrangement=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_3?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税全球概覧
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税业务数据
tableau_global_business=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/International_Table_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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
#澳洲税务分析
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
#巴西税务分析
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
#其他税务分析
tableau_other_tax_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
...@@ -22,14 +22,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi ...@@ -22,14 +22,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi
#tableau config #tableau config
tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s tableau_get_ticket=http://47.94.233.173:16010/trusted?username=%s
tableau_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet8?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_tax_comparison=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #税种未返还税金
tableau_other_countries=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_tax_category_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_1?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no #地区未返还税金
tableau_other_domestic_data=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no tableau_district_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
tableau_doc_situation=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet40?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no&:toolbar=no
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?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_unreturned_and_returned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#地区利润总额 / 亏损额
tableau_district_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#公司利润总额 / 亏损额
tableau_company_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_2?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#司机 / 员工人数
tableau_driver_and_employee=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#业务线GMV及补贴统计
tableau_gmv_and_subsidy=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/GMV_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#档案归档情况
tableau_file_arrangement=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_3?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税全球概覧
tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#国际税业务数据
tableau_global_business=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/International_Table_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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
#澳洲税务分析
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
#巴西税务分析
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
#其他税务分析
tableau_other_tax_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
...@@ -924,5 +924,6 @@ ...@@ -924,5 +924,6 @@
"false": "否", "false": "否",
"ConditionColumnNum": "条件列", "ConditionColumnNum": "条件列",
"Condition": "查询条件", "Condition": "查询条件",
"Cancel4Tax": "取消",
"~MustBeEndOneApp": "I Must be the End One, please!" "~MustBeEndOneApp": "I Must be the End One, please!"
} }
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
<!--<div class="modal-footer"> <!--<div class="modal-footer">
<button type="submit" class="btn btn-primary" translate="Confirm" <button type="submit" class="btn btn-primary" translate="Confirm"
></button>&lt;!&ndash;ng-disabled="newDocFileTypeForm.roleName.$invalid || newDocFileTypeForm.service_id.$invalid"&ndash;&gt; ></button>&lt;!&ndash;ng-disabled="newDocFileTypeForm.roleName.$invalid || newDocFileTypeForm.service_id.$invalid"&ndash;&gt;
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()" translate="Cancel"></button> <button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()" translate="Cancel4Tax"></button>
</div>--> </div>-->
<div style="margin-bottom: 20px;"> <div style="margin-bottom: 20px;">
<center> <center>
...@@ -193,7 +193,7 @@ ...@@ -193,7 +193,7 @@
></button> ></button>
<!--ng-disabled="newDocFileTypeForm.roleName.$invalid || newDocFileTypeForm.service_id.$invalid"--> <!--ng-disabled="newDocFileTypeForm.roleName.$invalid || newDocFileTypeForm.service_id.$invalid"-->
<button type="button" class="btn btn-third" data-dismiss="modal" <button type="button" class="btn btn-third" data-dismiss="modal"
ng-click="cancelDocFileType()" translate="Cancel"></button> ng-click="cancelDocFileType()" translate="Cancel4Tax"></button>
</center> </center>
</div> </div>
</form> </form>
......
...@@ -29,8 +29,8 @@ frameworkModule.controller('appUsrOperateLogController', ...@@ -29,8 +29,8 @@ frameworkModule.controller('appUsrOperateLogController',
SweetAlert.warning("没有数据可以下载"); SweetAlert.warning("没有数据可以下载");
return; return;
} }
$scope.thisModuleId=[];//清空查询id
$scope.dataGridUpdate(data); $scope.dataGridUpdate(data);
$scope.thisModuleId=[];//清空查询id
}) })
}; };
// $scope.sniffHelpPopRadio = function(){ // $scope.sniffHelpPopRadio = function(){
...@@ -206,16 +206,22 @@ frameworkModule.directive('usrLogExportPlugin',function(){ ...@@ -206,16 +206,22 @@ frameworkModule.directive('usrLogExportPlugin',function(){
function($scope,SweetAlert,$translate,usrOperateLogService,$q,$log){ function($scope,SweetAlert,$translate,usrOperateLogService,$q,$log){
$scope.exportTableData = function () $scope.exportTableData = function ()
{ {
var checkedItems = $(".log-export-checked-item"); // var checkedItems = $(".log-export-checked-item");
var ids = []; var ids = [];
if(checkedItems.length) /*if(checkedItems.length)
checkedItems.find("span[data-name='logCheckedItem']") checkedItems.find("span[data-name='logCheckedItem']")
.each(function(index,checkedItem){ .each(function(index,checkedItem){
var idLike = checkedItem.getAttribute('data-id'); var idLike = checkedItem.getAttribute('data-id');
if(idLike || idLike == 0){ if(idLike || idLike == 0){
ids.push(idLike); ids.push(idLike);
} }
}); });*/
var datas=$scope.localData;
for(var i=0;i<datas.length;i++){
if(datas[i].id){
ids.push(datas[i].id);
}
}
usrOperateLogService[$scope.thisModuleName + "Export"]({ usrOperateLogService[$scope.thisModuleName + "Export"]({
"ids":ids "ids":ids
}).then(function (data, status, headers) { }).then(function (data, status, headers) {
......
...@@ -18,7 +18,7 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -18,7 +18,7 @@ taxDocumentManageModule.controller('taxDocumentListController',
}; };
$scope.localData = null; $scope.localData = null;
$scope.loadMainData = function () { $scope.loadMainData = function () {
checkReminder();
$scope.queryFieldModel.currentPage = $scope.pagingOptions.pageIndex; $scope.queryFieldModel.currentPage = $scope.pagingOptions.pageIndex;
$scope.queryFieldModel.pageSize = $scope.pagingOptions.pageSize; $scope.queryFieldModel.pageSize = $scope.pagingOptions.pageSize;
...@@ -51,6 +51,36 @@ taxDocumentManageModule.controller('taxDocumentListController', ...@@ -51,6 +51,36 @@ taxDocumentManageModule.controller('taxDocumentListController',
}) })
}; };
function checkReminder(){
var items=$scope.queryFieldModel;
var message="";
if (!PWC.isNullOrEmpty(items.fileBeginTime) && !PWC.isNullOrEmpty(items.fileEndTTime) &&
items.fileBeginTime > items.fileEndTTime)
{
message+=$translate.instant('AvailabilityDate')+",";
}
if (!PWC.isNullOrEmpty(items.ownBeginTime) && !PWC.isNullOrEmpty(items.ownEndTime) &&
items.ownBeginTime > items.ownEndTime)
{
message+=$translate.instant('Duration')+",";
}
if (!PWC.isNullOrEmpty(items.effectiveBeginTime) && !PWC.isNullOrEmpty(items.effectiveEndTime) &&
items.effectiveBeginTime > items.effectiveEndTime)
{
message+=$translate.instant('DueDate')+",";
}
if (!PWC.isNullOrEmpty(items.uploadBeginTime) && !PWC.isNullOrEmpty(items.uploadEndTime) &&
items.uploadBeginTime > items.uploadEndTime)
{
message+=$translate.instant('UploadDate')+",";
}
if(message){
message = (message.substring(message.length - 1) == ',') ? message.substring(0, message.length - 1) : message;
message+="-"+$translate.instant('DateWarningSearch');
window.swal(message);
return;
}
}
$scope.dataGridUpdate = function (_data) { $scope.dataGridUpdate = function (_data) {
$scope.localData = _data.list; $scope.localData = _data.list;
$scope.pagingOptions.pageIndex = _data.pageNo; $scope.pagingOptions.pageIndex = _data.pageNo;
...@@ -1827,7 +1857,7 @@ taxDocumentManageModule.directive('tempModule', function () { ...@@ -1827,7 +1857,7 @@ taxDocumentManageModule.directive('tempModule', function () {
$scope.checkedItemIds = []; $scope.checkedItemIds = [];
$scope.sniffCheckbox = function () { $scope.sniffCheckbox = function () {
$scope.checkedItemIds.length = 0; $scope.checkedItemIds.length = 0;
$("input[name='dataGridCheckBox']").each(function (index, item) { $("tr td[name='logCheckedItem']").each(function (index, item) {
if (item.checked) { if (item.checked) {
var cellId = $(item).attr("data-id"); var cellId = $(item).attr("data-id");
$scope.checkedItemIds.push(cellId); $scope.checkedItemIds.push(cellId);
...@@ -1938,6 +1968,8 @@ taxDocumentManageModule.directive('tempModule', function () { ...@@ -1938,6 +1968,8 @@ taxDocumentManageModule.directive('tempModule', function () {
result = 1; result = 1;
}else if(src === $translate.instant('ApprovalReject')){ }else if(src === $translate.instant('ApprovalReject')){
result = -1; result = -1;
}else{
result="";
} }
return result; return result;
}; };
...@@ -1950,6 +1982,8 @@ taxDocumentManageModule.directive('tempModule', function () { ...@@ -1950,6 +1982,8 @@ taxDocumentManageModule.directive('tempModule', function () {
result = $translate.instant('ApprovalPass'); result = $translate.instant('ApprovalPass');
}else if(src == -1){ }else if(src == -1){
result = $translate.instant('ApprovalReject'); result = $translate.instant('ApprovalReject');
}else{
result="";
} }
return result; return result;
}; };
...@@ -2068,7 +2102,15 @@ taxDocumentManageModule.directive('exportPlugin',function(){ ...@@ -2068,7 +2102,15 @@ taxDocumentManageModule.directive('exportPlugin',function(){
$scope.queryFieldModel.currentPage = $scope.pagingOptions.pageIndex; $scope.queryFieldModel.currentPage = $scope.pagingOptions.pageIndex;
$scope.queryFieldModel.pageSize = $scope.pagingOptions.pageSize; $scope.queryFieldModel.pageSize = $scope.pagingOptions.pageSize;
var delIDs = [];
$("input[name='dataGridCheckBox']").each(function (index, tdCell) {
if (tdCell.checked) {
var cellId = $(tdCell).attr('data-id');
delIDs.push(cellId);
}
});
var params = angular.copy($scope.queryFieldModel); var params = angular.copy($scope.queryFieldModel);
params.ids=delIDs;
params.fileBeginTime = getQueryDate(params.fileBeginTime,"-"); params.fileBeginTime = getQueryDate(params.fileBeginTime,"-");
params.fileEndTTime = getQueryDate(params.fileEndTTime,"-"); params.fileEndTTime = getQueryDate(params.fileEndTTime,"-");
params.ownBeginTime = getQueryDate(params.ownBeginTime,"-"); params.ownBeginTime = getQueryDate(params.ownBeginTime,"-");
......
...@@ -897,7 +897,7 @@ ...@@ -897,7 +897,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="submit" class="btn btn-primary" translate="Confirm"></button> <button type="submit" class="btn btn-primary" translate="Confirm"></button>
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()" <button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()"
translate="Cancel"></button> translate="Cancel4Tax"></button>
</div> </div>
</form> </form>
</div> </div>
...@@ -1146,7 +1146,7 @@ ...@@ -1146,7 +1146,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary" translate="Confirm" ng-click="multiUploadSubmit_handmade()"></button> <button type="button" class="btn btn-primary" translate="Confirm" ng-click="multiUploadSubmit_handmade()"></button>
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="closeUploadReview()" <button type="button" class="btn btn-third" data-dismiss="modal" ng-click="closeUploadReview()"
translate="Cancel"></button> translate="Cancel4Tax"></button>
</div> </div>
</form> </form>
</div> </div>
...@@ -1391,7 +1391,7 @@ ...@@ -1391,7 +1391,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary" translate="Confirm" ng-click="multiUploadSubmit()"></button> <button type="button" class="btn btn-primary" translate="Confirm" ng-click="multiUploadSubmit()"></button>
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()" <button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()"
translate="Cancel"></button> translate="Cancel4Tax"></button>
</div> </div>
</form> </form>
</div> </div>
...@@ -1444,7 +1444,7 @@ ...@@ -1444,7 +1444,7 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-primary" translate="Confirm" ng-click="confirmUploadResult()"></button> <button class="btn btn-primary" translate="Confirm" ng-click="confirmUploadResult()"></button>
<button type="button" class="btn btn-third" ng-if="multiUploadErrorItems.length" data-dismiss="modal" translate="Cancel"></button> <button type="button" class="btn btn-third" ng-if="multiUploadErrorItems.length" data-dismiss="modal" translate="Cancel4Tax"></button>
</div> </div>
</div> </div>
</div> </div>
...@@ -1465,7 +1465,7 @@ ...@@ -1465,7 +1465,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary" translate="Confirm" ng-click="sniffHelpPopRadio()"></button> <button type="button" class="btn btn-primary" translate="Confirm" ng-click="sniffHelpPopRadio()"></button>
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()" <button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()"
translate="Cancel"></button> translate="Cancel4Tax"></button>
</div> </div>
</div> </div>
</div> </div>
......
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>didi2</title><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Material+Icons"><link href=js/about.17654e8a.js rel=prefetch><link href=css/app.cf16809e.css rel=preload as=style><link href=css/chunk-vendors.2f35f377.css rel=preload as=style><link href=js/app.224d7e8d.js rel=preload as=script><link href=js/chunk-vendors.39b13767.js rel=preload as=script><link href=css/chunk-vendors.2f35f377.css rel=stylesheet><link href=css/app.cf16809e.css rel=stylesheet></head><body><noscript><strong>We're sorry but didi2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.39b13767.js></script><script src=js/app.224d7e8d.js></script></body></html> <!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>didi2</title><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Material+Icons"><link href=js/about.17654e8a.js rel=prefetch><link href=css/app.cf16809e.css rel=preload as=style><link href=css/chunk-vendors.2f35f377.css rel=preload as=style><link href=js/app.7e09d0db.js rel=preload as=script><link href=js/chunk-vendors.39b13767.js rel=preload as=script><link href=css/chunk-vendors.2f35f377.css rel=stylesheet><link href=css/app.cf16809e.css rel=stylesheet></head><body><noscript><strong>We're sorry but didi2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.39b13767.js></script><script src=js/app.7e09d0db.js></script></body></html>
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
#tableau_tax_category_unreturned_tax
#tableau_district_unreturned_tax
#tableau_unreturned_and_returned_tax
#tableau_cost_analysis
#tableau_district_profit_and_loss
#tableau_company_profit_and_loss
#tableau_driver_and_employee
#tableau_gmv_and_subsidy
#tableau_file_arrangement
#tableau_global_overview
#tableau_global_business
#tableau_mexican_tax
#tableau_australian_tax
#tableau_brazilian_tax
#tableau_other_tax_analysis
#
#
#
#
#
#
#
#
#
#
#tableauTaxCategoryUnreturnedTax
#tableauDistrictUnreturnedTax
#tableauUnreturnedAndReturnedTax
#tableauCostAnalysis
#tableauDistrictProfitAndLoss
#tableauCompanyProfitAndLoss
#tableauDriverAndEmployee
#tableauGmvAndSubsidy
#tableauFileArrangement
#tableauGlobalOverview
#tableauGlobalBusiness
#tableauMexicanTax
#tableauAustralianTax
#tableauBrazilianTax
#tableauOtherTaxAnalysis
#
#
#
#
#getTableauTaxCategoryUnreturnedTax
#getTableauDistrictUnreturnedTax
#getTableauUnreturnedAndReturnedTax
#getTableauCostAnalysis
#getTableauDistrictProfitAndLoss
#getTableauCompanyProfitAndLoss
#getTableauDriverAndEmployee
#getTableauGmvAndSubsidy
#getTableauFileArrangement
#getTableauGlobalOverview
#getTableauGlobalBusiness
#getTableauMexicanTax
#getTableauAustralianTax
#getTableauBrazilianTax
#getTableauOtherTaxAnalysis
#
#
#
#tableauOperation("getTableauTaxCategoryUnreturnedTax")
#tableauOperation("getTableauDistrictUnreturnedTax")
#tableauOperation("getTableauUnreturnedAndReturnedTax")
#tableauOperation("getTableauCostAnalysis")
#tableauOperation("getTableauDistrictProfitAndLoss")
#tableauOperation("getTableauCompanyProfitAndLoss")
#tableauOperation("getTableauDriverAndEmployee")
#tableauOperation("getTableauGmvAndSubsidy")
#tableauOperation("getTableauFileArrangement")
#tableauOperation("getTableauGlobalOverview")
#tableauOperation("getTableauGlobalBusiness")
#tableauOperation("getTableauMexicanTax")
#tableauOperation("getTableauAustralianTax")
#tableauOperation("getTableauBrazilianTax")
#tableauOperation("getTableauOtherTaxAnalysis")
#
#
#
##税种未返还税金
#tableau_tax_category_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_1?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##地区未返还税金
#tableau_district_unreturned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##未返还/返还后税金比较
#tableau_unreturned_and_returned_tax=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet14?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##费用分析
#tableau_cost_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet19?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##地区利润总额 / 亏损额
#tableau_district_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet26?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##公司利润总额 / 亏损额
#tableau_company_profit_and_loss=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_2?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##司机 / 员工人数
#tableau_driver_and_employee=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/sheet32?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##业务线GMV及补贴统计
#tableau_gmv_and_subsidy=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/GMV_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##档案归档情况
#tableau_file_arrangement=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/_mobile_3?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##国际税全球概覧
#tableau_global_overview=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/InternationalOverview?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
#
##国际税业务数据
#tableau_global_business=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/International_Table_mobile?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=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
#
##澳洲税务分析
#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
#
##巴西税务分析
#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
#
##其他税务分析
#tableau_other_tax_analysis=http://10.158.230.16:8890/trusted/%s/views/Didi_Tax_20190307/Others?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no
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