Commit 6b1c5b2b authored by kevin's avatar kevin

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

parents 6ffa49d4 40b75304
......@@ -71,28 +71,22 @@ public class OperationLogTaxDocController {
@RequestMapping("exportExcel")
@ResponseBody
// public void exportExcelFile(HttpServletResponse response, @RequestBody OperationLogTaxDocument operationLogTaxDocument) {
public void exportExcelFile(HttpServletResponse response) {
public void exportExcelFile(HttpServletResponse response, @RequestBody OperationLogTaxDocument operationLogTaxDocument) {
try {
Map<String, String> headers = new LinkedHashMap<>();
headers.put("id", "id");
// headers.put("operation_content", "操作内容");
// headers.put("module_name", "模块名称");
// headers.put("operation_object", "操作对象");
headers.put("operation_action", "操作action");
// headers.put("original_state", "原始状态");
// headers.put("update_state", "更新状态");
headers.put("update_state", "操作内容");
headers.put("operation_user", "操作者");
headers.put("ip", "操作ip");
headers.put("comment", "内容");
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.setHeader("Content-Disposition", "attachment;fileName=" + new String("档案列表日志".getBytes("GB2312"), "ISO-8859-1"));
OutputStream ouputStream = response.getOutputStream();
ExcelUtil.exportExcel(headers, TaxDocuments, ouputStream);
ExcelUtil.exportExcel(headers, taxDocuments, ouputStream);
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -64,19 +64,19 @@ public class TaxDocumentServiceImpl {
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();
fileParam.setUuids(dataList.stream()
.map(o -> o.getFileUploadId()).collect(Collectors.toList()));
PageInfo<DidiFileUploadDetailResult> uploadDetail = didiFileUploadService.queryPage(fileParam);
Map<String,String> urlMap = null;
if(CollectionUtils.isNotEmpty(uploadDetail.getList())){
Map<String, String> urlMap = null;
if (CollectionUtils.isNotEmpty(uploadDetail.getList())) {
urlMap = uploadDetail.getList().stream().collect(Collectors.toMap(DidiFileUploadDetailResult::getUid, didiFileUploadDetailResult -> didiFileUploadDetailResult.getViewHttpUrl()));
}
if(urlMap!=null){
for(TaxDocument data:dataList){
if (urlMap != null) {
for (TaxDocument data : dataList) {
data.setFilePositionUrl(urlMap.get(data.getFileUploadId()));
}
}
......@@ -92,7 +92,7 @@ public class TaxDocumentServiceImpl {
* @param taxDocumentDto
* @return
*/
private TaxDocumentExample getExample(TaxDocumentDto taxDocumentDto,List<String> orgIds) {
private TaxDocumentExample getExample(TaxDocumentDto taxDocumentDto, List<String> orgIds) {
TaxDocumentExample example = new TaxDocumentExample();
TaxDocumentExample.Criteria criteria = example.createCriteria();
criteria.andCompanyIdIn(orgIds);
......@@ -172,6 +172,10 @@ public class TaxDocumentServiceImpl {
if (StringUtils.isNotBlank(taxDocumentDto.getCreator())) {
criteria.andCreatorLike("%" + taxDocumentDto.getCreator() + "%");
}
//ids
if (null != taxDocumentDto.getIds() && taxDocumentDto.getIds().size() > 0) {
criteria.andIdIn(taxDocumentDto.getIds());
}
//设置查询可用的数据
criteria.andEnableEqualTo("T");
example.setOrderByClause("create_time DESC");
......@@ -182,27 +186,27 @@ public class TaxDocumentServiceImpl {
public synchronized boolean addTaxDocumentList(MultipartFile file, TaxDocument taxDocument) {
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();
fileName+=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
FileUpload fileUpload = didiFileUploadService.uploadFile(file,fileName, FileUploadEnum.BizSource.RECORD_UPLOAD.name());
String fileName = taxDocument.getCompanyName() + "_" + taxDocument.getFileType() + "_" + taxDocument.getOwnTime();
fileName += file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
FileUpload fileUpload = didiFileUploadService.uploadFile(file, fileName, FileUploadEnum.BizSource.RECORD_UPLOAD.name());
taxDocument.setFileUploadId(fileUpload.getUid());
taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl());
taxDocument.setFileName(fileName);
ReportFileUpload reportFileUpload = new ReportFileUpload();
reportFileUpload.setOrgId(taxDocument.getCompanyId());
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.setFileUploadId(fileUpload.getUid());
reportFileUpload.setReportType(taxDocument.getFileType());
reportFileUpload.setReportFileName(fileName);
reportFileUploadService.saveData(file,reportFileUpload);
}else{
FileUpload fileUpload = didiFileUploadService.uploadFile(file,file.getOriginalFilename(), FileUploadEnum.BizSource.RECORD_UPLOAD.name());
reportFileUploadService.saveData(file, reportFileUpload);
} else {
FileUpload fileUpload = didiFileUploadService.uploadFile(file, file.getOriginalFilename(), FileUploadEnum.BizSource.RECORD_UPLOAD.name());
taxDocument.setFileUploadId(fileUpload.getUid());
taxDocument.setFilePositionUrl(fileUpload.getViewHttpUrl());
}
......@@ -275,6 +279,7 @@ public class TaxDocumentServiceImpl {
if (null == ids || ids.size() < 1) {
return false;
}
//逻辑批量删除(批量修改)
int num = taxDocumentMapper.batchDelete(ids);
if (num > 0) {
for (Long id : ids) {
......@@ -348,30 +353,77 @@ public class TaxDocumentServiceImpl {
public TaxDocument queryWhetherData(TaxDocument taxDocument) {
try {
//简单参数校验
/* if (StringUtils.isAnyBlank(taxDocumentDto.getFileAttr(), taxDocumentDto.getFileName(),
taxDocumentDto.getFileType(), taxDocumentDto.getCompanyName())){
return false;
}*/
TaxDocumentExample taxDocumentExample = new TaxDocumentExample();
TaxDocumentExample.Criteria criteria = taxDocumentExample.createCriteria();
criteria.andFileAttrEqualTo(taxDocument.getFileAttr());
criteria.andFileTypeEqualTo(taxDocument.getFileType());
criteria.andFileNameEqualTo(taxDocument.getFileName());
criteria.andCompanyNameEqualTo(taxDocument.getCompanyName());
criteria.andEnableEqualTo("T");
if (null != taxDocument.getOwnTime()){
//档案属性 fileAttr
if (StringUtils.isNotBlank(taxDocument.getFileAttr())) {
criteria.andFileAttrEqualTo(taxDocument.getFileAttr());
}
//档案类型 fileType
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());
}
//档案名称 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);
if (null != taxDocuments && taxDocuments.size() > 0) {
return taxDocuments.get(0);
}
return new TaxDocument();
} catch (Exception e) {
// log.error("TaxDocumentServiceImpl queryWhetherData error :" + e.getMessage());
log.error("TaxDocumentServiceImpl queryWhetherData error :" + e.getMessage());
return new TaxDocument();
}
}
public void downloadAllFile(HttpServletResponse response, List<Long> ids) {
//如果只选择了一个附件,则不打包
if (null != ids && ids.size() == 1) {
......@@ -522,7 +574,7 @@ public class TaxDocumentServiceImpl {
// }
//检查文件名是否有重复
int fileNameRepeatTimes = 0;
if (fileNameList.size()>0){
if (fileNameList.size() > 0) {
fileNameRepeatTimes = Collections.frequency(fileNameList, item.getFileName());
}
String fileName;
......@@ -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("地址格式错误");
}
Map<String, Object> resultMap = Maps.newHashMap();
......@@ -607,49 +660,77 @@ public class TaxDocumentServiceImpl {
ArrayList<String> successFileNameList = Lists.newArrayList();
ArrayList<String> existedFileNameList = Lists.newArrayList();
//读取固定文件目录下的所有文件的文件名
File file = new File(address);
if (!file.isDirectory() || !file.exists()){
File iniTfile = new File(address);
if (!iniTfile.isDirectory() || !iniTfile.exists()) {
throw new RuntimeException("文件夹地址错误");
}
List<File> files = Arrays.asList(file.listFiles());
if (files.size()<1){
List<File> files = Arrays.asList(iniTfile.listFiles());
if (files.size() < 1) {
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){
throw new RuntimeException("文件列表为空");
}
}*/
//公司名简称和公司序号Map(name-id)
Map<String, String> companyNameAndId;
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) {
throw new RuntimeException("公司简称和id获取失败!请联系管理员");
}
if (companyNameAndId.size() < 1) {
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("_")) {
errorFileNameList.add(fileName);
errorFileNameList.add(filePath);
return;//此处相当于continue
}
//根据文件名格式分割,以 "_"来分割
List<String> params = Arrays.asList(fileName.substring(0,fileName.indexOf(".")).split("_"));
//根据分割的长度来进行匹配对比 如果长度<3或者>6或公司简称匹配不上则添加至失败列表(目前最少的是3个,若以后有更改请更改此处参数)
if (params.size() < 3 || params.size() > 6 || !companyNameAndId.containsKey(params.get(0))) {
errorFileNameList.add(fileName);
try {
List<String> params = Arrays.asList(fileName.substring(0, fileName.indexOf(".")).split("_"));
//根据分割的长度来进行匹配对比 如果长度<3或者>6或公司简称匹配不上则添加至失败列表(目前最少的是3个,若以后有更改请更改此处参数)
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
}
//根据档案类型匹配并初始化值
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 {
*
* @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.setFileName(fileName);
taxDocument.setCompanyId(companyNameAndId.get(params.get(0)));
taxDocument.setCompanyName(params.get(0));
taxDocument.setCreateTime(new Date());
taxDocument.setUpdateTime(new Date());
taxDocument.setCreator(authUserHelper.getCurrentAuditor().get());
taxDocument.setCreatorId(authUserHelper.getCurrentUserId());
taxDocument.setCreator("System");
taxDocument.setCreatorId("1");
taxDocument.setUploadTime(new Date());
taxDocument.setYearRedundancy(Calendar.getInstance().get(Calendar.YEAR));
//根据公司Id 设置业务线
......@@ -878,13 +959,13 @@ public class TaxDocumentServiceImpl {
/**
* 根据档案类型匹配并初始化值
*
* @param errorFileNameList
* @param successeFileNameList
* @param companyNameAndId
* @param fileName
* @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为档案类型
if (params.size() == 3
&& (//国际类型 公司簡稱_档案属性_档案类型
......@@ -900,172 +981,107 @@ public class TaxDocumentServiceImpl {
(internationalGroupOfCompanyFileAttrFileType4.keySet().contains(params.get(2))
&& internationalGroupOfCompanyFileAttrFileType4.values().contains(params.get(1))))) {
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型
taxDocument.setFileAttr(params.get(1));
taxDocument.setFileType(params.get(2));
//校验是否已存在
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 3//公司簡稱_档案类型_文件生效日期
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 3//公司簡稱_档案类型_文件生效日期
&& groupOfCompanyFileTypeFIleTime.keySet().contains(params.get(1))
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(2))){//文件生效日期校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(2))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 文件生效日期
taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeFIleTime.get(params.get(1)));
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(2)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 3//公司簡稱_档案类型_到期日
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 3//公司簡稱_档案类型_到期日
&& groupOfCompanyFileTypeEffectiveTime.keySet().contains(params.get(1))
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(2))){//到期日校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(2))) {//到期日校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 到期日
taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeEffectiveTime.get(params.get(1)));
taxDocument.setEffectiveTime(DateUtils.stringToDate4yyyyMMdd(params.get(2)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 4 //国际类型 公司簡稱_档案属性_档案类型_所属期间
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 4 //国际类型 公司簡稱_档案属性_档案类型_所属期间
&& (internationalGroupOfCompanyFileAttrFileTypeOwnTime.keySet().contains(params.get(2))
&& internationalGroupOfCompanyFileAttrFileTypeOwnTime.values().contains(params.get(1)))
&& checkOwnTime(params.get(3))){//所属期间校验
&& checkOwnTime(params.get(3))) {//所属期间校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 所属期间
taxDocument.setFileAttr(params.get(1));
taxDocument.setFileType(params.get(2));
taxDocument.setOwnTime(Integer.valueOf(params.get(3)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 4 //公司簡稱_档案类型_所属期间_文件生效日期
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 4 //公司簡稱_档案类型_所属期间_文件生效日期
&& groupOfCompanyFileTypeOwnTimeFileTime.keySet().contains(params.get(1))
&& checkOwnTime(params.get(2))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))){//文件生效日期校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 所属期间 文件生效日期
taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeFileTime.get(params.get(1)));
taxDocument.setOwnTime(Integer.valueOf(params.get(2)));
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(3)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 4 //公司簡稱_档案类型_所属期间_到期日
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 4 //公司簡稱_档案类型_所属期间_到期日
&& groupOfCompanyFileTypeOwnTimeEffectiveTime.keySet().contains(params.get(1))
&& checkOwnTime(params.get(2))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))){//到期日校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))) {//到期日校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 所属期间 到期日
taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeEffectiveTime.get(params.get(1)));
taxDocument.setOwnTime(Integer.valueOf(params.get(2)));
taxDocument.setEffectiveTime(DateUtils.stringToDate4yyyyMMdd(params.get(3)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 5 //国际类型 公司簡稱_档案属性_档案类型_税种_所属期间
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 5 //国际类型 公司簡稱_档案属性_档案类型_税种_所属期间
&& (internationalGroupOfCompanyFileAttrFileTypeTaxTypeOwnTime.keySet().contains(params.get(2))
&& internationalGroupOfCompanyFileAttrFileTypeTaxTypeOwnTime.values().contains(params.get(1)))
&& taxsList.contains(params.get(3))//税种校验
&& checkOwnTime(params.get(4))){//所属期间校验
&& checkOwnTime(params.get(4))) {//所属期间校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案属性 档案类型 税种 所属期间
taxDocument.setFileAttr(params.get(1));
taxDocument.setFileType(params.get(2));
taxDocument.setTaxType(params.get(3));
taxDocument.setOwnTime(Integer.valueOf(params.get(4)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 5 //公司簡稱_档案类型_税种_所属期间_文件生效日期
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 5 //公司簡稱_档案类型_税种_所属期间_文件生效日期
&& groupOfCompanyFileTypeTaxTypeOwnTimeFileTime.keySet().contains(params.get(1))
&& taxsList.contains(params.get(2))//税种校验
&& checkOwnTime(params.get(3))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(4))){//文件生效日期校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(4))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 税种 所属期间 文件生效日期
taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeTaxTypeOwnTimeFileTime.get(params.get(1)));
taxDocument.setTaxType(params.get(2));
taxDocument.setOwnTime(Integer.valueOf(params.get(3)));
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(4)));
if (null == queryWhetherData(taxDocument).getId()){
//插入数据
taxDocumentMapper.insert(taxDocument);
//添加到成功列表中
successeFileNameList.add(fileName);
}else {
//添加到已存在列表中
existedFileNameList.add(fileName);
//TODO 或做覆盖操作
}
}else if (params.size() == 6 //公司簡稱_档案类型_所属期间_文件生效日期_实物存放地点_实物保管人
//校验是否已存在
checkExistedAndInsertOrUpdate(successeFileNameList, existedFileNameList, file, taxDocument, filePath);
} else if (params.size() == 6 //公司簡稱_档案类型_所属期间_文件生效日期_实物存放地点_实物保管人
&& groupOfCompanyFileTypeOwnTimeFileTimeStorageAreaKeeper.keySet().contains(params.get(1))
&& checkOwnTime(params.get(2))//所属期间校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))){//文件生效日期校验
&& null != DateUtils.stringToDate4yyyyMMdd(params.get(3))) {//文件生效日期校验
//构建基础对象 设置基础值 公司简称 Id 文件名
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId,params,fileName);
TaxDocument taxDocument = buildBaseTaxDocument(companyNameAndId, params, file.getName());
//设置档案类型 档案属性 所属期间 文件生效日期 实物存放地点 实物保管人
taxDocument.setFileType(params.get(1));
taxDocument.setFileAttr(groupOfCompanyFileTypeOwnTimeFileTimeStorageAreaKeeper.get(params.get(1)));
......@@ -1073,15 +1089,53 @@ public class TaxDocumentServiceImpl {
taxDocument.setFileTime(DateUtils.stringToDate4yyyyMMdd(params.get(3)));
taxDocument.setStorageArea(params.get(4));
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);
}else {
errorFileNameList.add(fileName);
successeFileNameList.add(filePath);
} else {
//添加到已存在列表中
existedFileNameList.add(filePath);
//TODO 或做覆盖操作
}
}
/**
* 检查所属期间转换是否正常
*
* @param s
* @return
*/
......
......@@ -397,10 +397,11 @@ public class TemplateGroupServiceImpl extends AbstractService {
config.setUpdateTime(now);
config.setUpdateBy(authUserHelper.getCurrentUserId());
cellTemplateConfigList.add(config);
if (allowManual) {
addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList);
}
//只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei start
// if (allowManual) {
// addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList);
// }
//只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei end
PeriodDataSource pds = new PeriodDataSource();
pds.setAmount(BigDecimal.ZERO);
pds.setUpdateBy("Admin");
......@@ -556,9 +557,11 @@ public class TemplateGroupServiceImpl extends AbstractService {
config.setUpdateBy(authUserHelper.getCurrentUserId());
cellTemplateConfigList.add(config);
//noinspection Duplicates
if (allowManual) {
addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList);
}
//只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei start
// if (allowManual) {
// addManualConfig(cellTemplate, template, cell, now, cellTemplateConfigList);
// }
//只允许单元格内容为${KeyIn}的才允许手工收入,所以此处注释 update by zhikai.z.wei end
PeriodDataSource pds = new PeriodDataSource();
pds.setAmount(BigDecimal.ZERO);
pds.setUpdateBy("Admin");
......
......@@ -8,10 +8,8 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
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.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCell;
......@@ -26,7 +24,6 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import pwc.taxtech.atms.analysis.entity.AnalysisTax;
import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.POIUtil;
import pwc.taxtech.atms.common.message.ErrorMessage;
......@@ -61,7 +58,10 @@ import pwc.taxtech.atms.vat.service.impl.report.functions.FormulaHelper;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
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.text.SimpleDateFormat;
import java.util.*;
......@@ -71,7 +71,6 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static pwc.taxtech.atms.common.util.FileExcelUtil.downloadExcel;
import static pwc.taxtech.atms.dto.vatdto.WrapPeriodJobDto.*;
@Component
......@@ -352,17 +351,15 @@ public class ReportServiceImpl extends BaseService {
andStartDateLessThanOrEqualTo(queryDate).andEndDateGreaterThanOrEqualTo(queryDate).
andStatusEqualTo(0);
List<RevenueTypeMapping> mappingList = revenueTypeMappingMapper.selectByExample(mappingExample);
//先清除数据
InvoiceRecord delRecord = new InvoiceRecord();
delRecord.setRevenueCofId(null);
if (!isMergeManualData) {
delRecord.setModifyRevenueCofId(null);
}
InvoiceRecordExample delExample = new InvoiceRecordExample();
delExample.createCriteria().andProjectIdEqualTo(projectId)
.andProjectIdEqualTo(projectId).
delExample.createCriteria().andProjectIdEqualTo(projectId).
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<>();
for (RevenueTypeMapping mapping : mappingList) {
if (!map.containsKey(mapping.getContent())) {
......@@ -482,140 +479,78 @@ public class ReportServiceImpl extends BaseService {
for (int r = sheet.getFirstRowNum(); r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
for (int c = row.getFirstCellNum(); c <= row.getLastCellNum(); c++) {
Cell cell = row.getCell(c);
if (cell == null) {
continue;//todo cell == null 如何处理
}
if (r <= addRowIndex + 1) {
String cellId = projectId + template.getId() + period + r + c;
if ((r - 1) >= 0 && (r - 1) < configIds.size()) {
cellId += configIds.get(configIds.size() - r);
}
Long cellTemplateId = Long.valueOf(cellId.hashCode());
cellTemplateId = cellTemplateId < 0 ? cellTemplateId : (cellTemplateId * -1);
//更新手工数据源
PeriodDataSourceExample delExample = new PeriodDataSourceExample();
delExample.createCriteria().andProjectIdEqualTo(projectId)
.andPeriodEqualTo(period).andTypeEqualTo(10).andColumnIndexEqualTo(c).andRowIndexEqualTo(r);
PeriodDataSource dataSource = new DataSourceExtendDto();
dataSource.setColumnIndex(999);
dataSource.setRowIndex(999);
periodDataSourceMapper.updateByExampleSelective(dataSource, delExample);
PeriodDataSourceExample updateExample = new PeriodDataSourceExample();
updateExample.createCriteria().andProjectIdEqualTo(projectId)
.andPeriodEqualTo(period).andTypeEqualTo(10).andCellTemplateIdEqualTo(cellTemplateId);
dataSource = new DataSourceExtendDto();
dataSource.setColumnIndex(c);
dataSource.setRowIndex(r);
periodDataSourceMapper.updateByExampleSelective(dataSource, updateExample);
PeriodCellTemplate cellTemplate = new PeriodCellTemplate();
cellTemplate.setPeriod(period);
cellTemplate.setRowName(POIUtil.getCellFormulaString(cell));
cellTemplate.setProjectId(projectId);
cellTemplate.setColumnIndex(c);
cellTemplate.setCreateTime(now);
cellTemplate.setCellTemplateId(cellTemplateId);
cellTemplate.setUpdateTime(now);
cellTemplate.setRowIndex(r);
cellTemplate.setReportTemplateId(template.getId());
cellTemplate.setId(distributedIdService.nextId());
if (cell.getCellComment() != null) {
cellTemplate.setComment(cell.getCellComment().getString().getString());
}
cellTemplate.setIsReadOnly(hasHandDatas.contains(c) ? 0 : 1);
cellTemplateList.add(cellTemplate);
if (r > 0 && hasFormulaDatas.contains(c) && StringUtils.isNotBlank(POIUtil.getCellFormulaString(cell))) {
PeriodCellTemplateConfig periodCellTemplateConfig = new PeriodCellTemplateConfig();
periodCellTemplateConfig.setId(distributedIdService.nextId());
periodCellTemplateConfig.setPeriod(period);
periodCellTemplateConfig.setCellTemplateId(cellTemplateId);
periodCellTemplateConfig.setReportTemplateId(template.getId());
periodCellTemplateConfig.setDataSourceType(1);
periodCellTemplateConfig.setFormula(POIUtil.getCellFormulaString(cell));
periodCellTemplateConfig.setParsedFormula(null);
if(r == addRowIndex + 1 && c>TaxesCalculateReportEnum.Column.Column_14.getIndex()){
assembleOriginalTemplateData(template,projectId,period,r,c,addRowIndex,cellTemplateList,cellTemplateConfigList);
}else{
String cellId = projectId + template.getId() + period + r + c;
if ((r - 1) >= 0 && (r - 1) < configIds.size()) {
cellId += configIds.get(configIds.size() - r);
}
Long cellTemplateId = Long.valueOf(cellId.hashCode());
cellTemplateId = cellTemplateId < 0 ? cellTemplateId : (cellTemplateId * -1);
//更新手工数据源
PeriodDataSourceExample delExample = new PeriodDataSourceExample();
delExample.createCriteria().andProjectIdEqualTo(projectId)
.andPeriodEqualTo(period).andTypeEqualTo(10).andColumnIndexEqualTo(c).andRowIndexEqualTo(r);
PeriodDataSource dataSource = new DataSourceExtendDto();
dataSource.setColumnIndex(999);
dataSource.setRowIndex(999);
periodDataSourceMapper.updateByExampleSelective(dataSource, delExample);
PeriodDataSourceExample updateExample = new PeriodDataSourceExample();
updateExample.createCriteria().andProjectIdEqualTo(projectId)
.andPeriodEqualTo(period).andTypeEqualTo(10).andCellTemplateIdEqualTo(cellTemplateId);
dataSource = new DataSourceExtendDto();
dataSource.setColumnIndex(c);
dataSource.setRowIndex(r);
periodDataSourceMapper.updateByExampleSelective(dataSource, updateExample);
PeriodCellTemplate cellTemplate = new PeriodCellTemplate();
cellTemplate.setPeriod(period);
cellTemplate.setRowName(POIUtil.getCellFormulaString(cell));
cellTemplate.setProjectId(projectId);
cellTemplate.setColumnIndex(c);
cellTemplate.setCreateTime(now);
cellTemplate.setCellTemplateId(cellTemplateId);
cellTemplate.setUpdateTime(now);
cellTemplate.setRowIndex(r);
cellTemplate.setReportTemplateId(template.getId());
cellTemplate.setId(distributedIdService.nextId());
if (cell.getCellComment() != null) {
cellTemplate.setComment(cell.getCellComment().getString().getString());
}
cellTemplate.setIsReadOnly(hasHandDatas.contains(c) ? 0 : 1);
cellTemplateList.add(cellTemplate);
if (r > 0 && hasFormulaDatas.contains(c) && StringUtils.isNotBlank(POIUtil.getCellFormulaString(cell))) {
PeriodCellTemplateConfig periodCellTemplateConfig = new PeriodCellTemplateConfig();
periodCellTemplateConfig.setId(distributedIdService.nextId());
periodCellTemplateConfig.setPeriod(period);
periodCellTemplateConfig.setCellTemplateId(cellTemplateId);
periodCellTemplateConfig.setReportTemplateId(template.getId());
periodCellTemplateConfig.setDataSourceType(1);
periodCellTemplateConfig.setFormula(POIUtil.getCellFormulaString(cell));
periodCellTemplateConfig.setParsedFormula(null);
// periodCellTemplateConfig.setCreateBy(authUserHelper.getCurrentUserId());
periodCellTemplateConfig.setCreateTime(now);
periodCellTemplateConfig.setCreateTime(now);
// periodCellTemplateConfig.setUpdateBy(authUserHelper.getCurrentUserId());
periodCellTemplateConfig.setUpdateTime(now);
periodCellTemplateConfig.setFormulaDataSource("报表数据");
periodCellTemplateConfig.setKeyValueParsedFormula(null);
periodCellTemplateConfig.setProjectId(projectId);
fixedParsedFormula(periodCellTemplateConfig);
fixedAccountCode(periodCellTemplateConfig);
cellTemplateConfigList.add(periodCellTemplateConfig);
}
if (r > 0 && r <= addRowIndex && hasHandDatas.contains(c)) {
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);
}
periodCellTemplateConfig.setUpdateTime(now);
periodCellTemplateConfig.setFormulaDataSource("报表数据");
periodCellTemplateConfig.setKeyValueParsedFormula(null);
periodCellTemplateConfig.setProjectId(projectId);
fixedParsedFormula(periodCellTemplateConfig);
fixedAccountCode(periodCellTemplateConfig);
cellTemplateConfigList.add(periodCellTemplateConfig);
}
if (r > 0 && r <= addRowIndex && hasHandDatas.contains(c)) {
addManualConfig(cellTemplate, cell, now, cellTemplateConfigList);
}
}
} else {
assembleOriginalTemplateData(template,projectId,period,r,c,addRowIndex,cellTemplateList,cellTemplateConfigList);
}
}
}
......@@ -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) {
PeriodCellTemplateConfig configManual = new PeriodCellTemplateConfig();
configManual.setId(distributedIdService.nextId());
......
......@@ -364,12 +364,12 @@
<if test="subjectName != null and subjectName != ''">
and subject_name LIKE CONCAT('%' ,#{subjectName},'%')
</if>
<!--<if test="periodStart!=null">-->
<!--AND account_period &gt;= #{periodStart,jdbcType=INTEGER}-->
<!--</if>-->
<!--<if test="periodEnd!=null">-->
<!--AND account_period &lt;= #{periodEnd,jdbcType=INTEGER}-->
<!--</if>-->
<if test="periodStart!=null">
AND account_period >= #{periodStart,jdbcType=INTEGER}
</if>
<if test="periodEnd!=null">
AND account_period &lt;= #{periodEnd,jdbcType=INTEGER}
</if>
UNION ALL
select
id, organization_id, project_id, tms_period as period ,date,source, ledger_id, ledger_name, currency_code,
......
......@@ -35,7 +35,7 @@
export default {
name: 'Mine',
data: () => ({
userName: "杨铖的号头"
userName: "Admin"
})
//
......
......@@ -86,7 +86,7 @@
export default {
data: () => ({
chartUrl: process.env.VUE_APP_TABLEAU_API + 'unreturnedTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauTaxCategoryUnreturnedTax',
tableauApiUrl: require('../assets/tableaujs.js'),
// tableauApiUrl: 'https://public.tableau.com/javascripts/api/tableau-2.2.2.min.js',
drawer: null,
......@@ -97,79 +97,93 @@
{
iconName: '#d-iconyihuankuanbufen',
active: false,
title: '未返还税金分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/1.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'unreturnedTax',
title: '税种未返还税金分析',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauTaxCategoryUnreturnedTax',
},
{
iconName: '#d-iconyihuankuanbufen',
active: false,
title: '地区未返还税金分析',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauDistrictUnreturnedTax',
},
{
iconName: '#d-iconCompare',
active: false,
title: '未返还/返还后税金比较',
avatar: 'https://cdn.vuetifyjs.com/images/lists/2.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'taxComparison',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauUnreturnedAndReturnedTax',
},
{
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',
active: false,
title: '利润/亏损分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'profitAndLoss',
title: '公司利润总额/亏损额',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauCompanyProfitAndLoss',
},
{
iconName: '#d-iconqita1',
active: false,
title: '其他国内数据',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'otherDomesticData',
title: '司机/员工人数',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauDriverAndEmployee',
},
{
iconName: '#d-iconarchive-paper',
iconName: '#d-iconqita1',
active: false,
title: '业务线GMV及补贴统计',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauGmvAndSubsidy',
},
{
iconName: '#d-iconqita1',
active: false,
title: '档案归档情况',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'docSituation',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauFileArrangement',
},
{
iconName: '#d-iconfeiyong',
iconName: '#d-iconqita1',
active: false,
title: '费用分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/3.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'costAnalysis',
title: '国际税全球概览',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauGlobalOverview',
},
{
iconName: '#d-iconquanqiu',
iconName: '#d-iconqita1',
active: false,
title: '全球概览',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'globalOverview',
title: '国际税业务数据',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauGlobalBusiness',
},
{
iconName: "#d-iconmexico",
active: false,
title: '墨西哥税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'mexicanTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauMexicanTax',
},
{
iconName: '#d-iconaodaliya',
active: false,
title: '澳洲税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'australianTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauAustralianTax',
},
{
iconName: '#d-iconbaxi',
active: false,
title: '巴西税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'brazilianTax',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauBrazilianTax',
},
{
iconName: '#d-iconqita',
active: false,
title: '其他国家税务分析',
avatar: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'otherCountries',
chartUrl: process.env.VUE_APP_TABLEAU_API + 'getTableauOtherTaxAnalysis',
},
],
selectedItem: null
......
......@@ -15,31 +15,54 @@ public class OrangeHeapConfig {
//tableau相关配置
@Value("${tableau_get_ticket}")
private String tableauGetTicket;
@Value("${tableau_unreturned_tax}")
private String tableauUnreturnedTax;
@Value("${tableau_tax_comparison}")
private String tableauTaxComparison;
@Value("${tableau_other_countries}")
private String tableauOtherCountries;
@Value("${tableau_tax_category_unreturned_tax}")
private String tableauTaxCategoryUnreturnedTax;
@Value("${tableau_district_unreturned_tax}")
private String tableauDistrictUnreturnedTax;
@Value("${tableau_unreturned_and_returned_tax}")
private String tableauUnreturnedAndReturnedTax;
@Value("${tableau_cost_analysis}")
private String tableauCostAnalysis;
@Value("${tableau_profit_and_loss}")
private String tableauProfitAndLoss;
@Value("${tableau_other_domestic_data}")
private String tableauOtherDomesticData;
@Value("${tableau_doc_situation}")
private String tableauDocSituation;
@Value("${tableau_district_profit_and_loss}")
private String tableauDistrictProfitAndLoss;
@Value("${tableau_company_profit_and_loss}")
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}")
private String tableauGlobalOverview;
@Value("${tableau_global_business}")
private String tableauGlobalBusiness;
@Value("${tableau_mexican_tax}")
private String tableauMexicanTax;
@Value("${tableau_australian_tax}")
private String tableauAustralianTax;
@Value("${tableau_brazilian_tax}")
private String tableauBrazilianTax;
@Value("${tableau_other_tax_analysis}")
private String tableauOtherTaxAnalysis;
public String getLongiApiBasicUser() {
return this.longiApiBasicUser;
return longiApiBasicUser;
}
public void setLongiApiBasicUser(String longiApiBasicUser) {
......@@ -47,7 +70,7 @@ public class OrangeHeapConfig {
}
public String getLongiApiBasicPwd() {
return this.longiApiBasicPwd;
return longiApiBasicPwd;
}
public void setLongiApiBasicPwd(String longiApiBasicPwd) {
......@@ -55,7 +78,7 @@ public class OrangeHeapConfig {
}
public String getLongiApiGlBalance() {
return this.longiApiGlBalance;
return longiApiGlBalance;
}
public void setLongiApiGlBalance(String longiApiGlBalance) {
......@@ -63,79 +86,103 @@ public class OrangeHeapConfig {
}
public String getTableauGetTicket() {
return this.tableauGetTicket;
return tableauGetTicket;
}
public void setTableauGetTicket(String tableauGetTicket) {
this.tableauGetTicket = tableauGetTicket;
}
public String getTableauUnreturnedTax() {
return this.tableauUnreturnedTax;
public String getTableauTaxCategoryUnreturnedTax() {
return tableauTaxCategoryUnreturnedTax;
}
public void setTableauUnreturnedTax(String tableauUnreturnedTax) {
this.tableauUnreturnedTax = tableauUnreturnedTax;
public void setTableauTaxCategoryUnreturnedTax(String tableauTaxCategoryUnreturnedTax) {
this.tableauTaxCategoryUnreturnedTax = tableauTaxCategoryUnreturnedTax;
}
public String getTableauTaxComparison() {
return this.tableauTaxComparison;
public String getTableauDistrictUnreturnedTax() {
return tableauDistrictUnreturnedTax;
}
public void setTableauTaxComparison(String tableauTaxComparison) {
this.tableauTaxComparison = tableauTaxComparison;
public void setTableauDistrictUnreturnedTax(String tableauDistrictUnreturnedTax) {
this.tableauDistrictUnreturnedTax = tableauDistrictUnreturnedTax;
}
public String getTableauOtherCountries() {
return this.tableauOtherCountries;
public String getTableauUnreturnedAndReturnedTax() {
return tableauUnreturnedAndReturnedTax;
}
public void setTableauOtherCountries(String tableauOtherCountries) {
this.tableauOtherCountries = tableauOtherCountries;
public void setTableauUnreturnedAndReturnedTax(String tableauUnreturnedAndReturnedTax) {
this.tableauUnreturnedAndReturnedTax = tableauUnreturnedAndReturnedTax;
}
public String getTableauCostAnalysis() {
return this.tableauCostAnalysis;
return tableauCostAnalysis;
}
public void setTableauCostAnalysis(String tableauCostAnalysis) {
this.tableauCostAnalysis = tableauCostAnalysis;
}
public String getTableauProfitAndLoss() {
return this.tableauProfitAndLoss;
public String getTableauDistrictProfitAndLoss() {
return tableauDistrictProfitAndLoss;
}
public void setTableauProfitAndLoss(String tableauProfitAndLoss) {
this.tableauProfitAndLoss = tableauProfitAndLoss;
public void setTableauDistrictProfitAndLoss(String tableauDistrictProfitAndLoss) {
this.tableauDistrictProfitAndLoss = tableauDistrictProfitAndLoss;
}
public String getTableauOtherDomesticData() {
return this.tableauOtherDomesticData;
public String getTableauCompanyProfitAndLoss() {
return tableauCompanyProfitAndLoss;
}
public void setTableauOtherDomesticData(String tableauOtherDomesticData) {
this.tableauOtherDomesticData = tableauOtherDomesticData;
public void setTableauCompanyProfitAndLoss(String tableauCompanyProfitAndLoss) {
this.tableauCompanyProfitAndLoss = tableauCompanyProfitAndLoss;
}
public String getTableauDocSituation() {
return this.tableauDocSituation;
public String getTableauDriverAndEmployee() {
return tableauDriverAndEmployee;
}
public void setTableauDocSituation(String tableauDocSituation) {
this.tableauDocSituation = tableauDocSituation;
public void setTableauDriverAndEmployee(String tableauDriverAndEmployee) {
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() {
return this.tableauGlobalOverview;
return tableauGlobalOverview;
}
public void setTableauGlobalOverview(String tableauGlobalOverview) {
this.tableauGlobalOverview = tableauGlobalOverview;
}
public String getTableauGlobalBusiness() {
return tableauGlobalBusiness;
}
public void setTableauGlobalBusiness(String tableauGlobalBusiness) {
this.tableauGlobalBusiness = tableauGlobalBusiness;
}
public String getTableauMexicanTax() {
return this.tableauMexicanTax;
return tableauMexicanTax;
}
public void setTableauMexicanTax(String tableauMexicanTax) {
......@@ -143,7 +190,7 @@ public class OrangeHeapConfig {
}
public String getTableauAustralianTax() {
return this.tableauAustralianTax;
return tableauAustralianTax;
}
public void setTableauAustralianTax(String tableauAustralianTax) {
......@@ -151,10 +198,18 @@ public class OrangeHeapConfig {
}
public String getTableauBrazilianTax() {
return this.tableauBrazilianTax;
return tableauBrazilianTax;
}
public void setTableauBrazilianTax(String 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 {
@Resource
private OrangeHeapService tableauService;
//以上是示范代码
//TODO 加入其他图表
// 模板
// @ResponseBody
// @GetMapping("taxComparison")
// public ApiResultDto getTaxComparison() {
// return ApiResultDto.success(tableauService.getTaxComparison().orElse(StringUtils.EMPTY));
// }
@ResponseBody
@GetMapping("unreturnedTax")
public ApiResultDto getUnreturnedTax() {
return ApiResultDto.success(tableauService.getUnreturnedTax().orElse(StringUtils.EMPTY));
@GetMapping("getTableauTaxCategoryUnreturnedTax")
public ApiResultDto getTableauTaxCategoryUnreturnedTax() {
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
@GetMapping("taxComparison")
public ApiResultDto getTaxComparison() {
return ApiResultDto.success(tableauService.getTaxComparison().orElse(StringUtils.EMPTY));
@GetMapping("getTableauCompanyProfitAndLoss")
public ApiResultDto getTableauCompanyProfitAndLoss() {
return ApiResultDto.success(tableauService.getTableauCompanyProfitAndLoss().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("otherCountries")
public ApiResultDto getOtherCountries() {
return ApiResultDto.success(tableauService.getOtherCountries().orElse(StringUtils.EMPTY));
@GetMapping("getTableauDriverAndEmployee")
public ApiResultDto getTableauDriverAndEmployee() {
return ApiResultDto.success(tableauService.getTableauDriverAndEmployee().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("costAnalysis")
public ApiResultDto getCostAnalysis() {
return ApiResultDto.success(tableauService.getCostAnalysis().orElse(StringUtils.EMPTY));
@GetMapping("getTableauGmvAndSubsidy")
public ApiResultDto getTableauGmvAndSubsidy() {
return ApiResultDto.success(tableauService.getTableauGmvAndSubsidy().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("profitAndLoss")
public ApiResultDto getProfitAndLoss() {
return ApiResultDto.success(tableauService.getProfitAndLoss().orElse(StringUtils.EMPTY));
@GetMapping("getTableauFileArrangement")
public ApiResultDto getTableauFileArrangement() {
return ApiResultDto.success(tableauService.getTableauFileArrangement().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("otherDomesticData")
public ApiResultDto getOtherDomesticData() {
return ApiResultDto.success(tableauService.getOtherDomesticData().orElse(StringUtils.EMPTY));
@GetMapping("getTableauGlobalOverview")
public ApiResultDto getTableauGlobalOverview() {
return ApiResultDto.success(tableauService.getTableauGlobalOverview().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("docSituation")
public ApiResultDto getDocSituation() {
return ApiResultDto.success(tableauService.getDocSituation().orElse(StringUtils.EMPTY));
@GetMapping("getTableauGlobalBusiness")
public ApiResultDto getTableauGlobalBusiness() {
return ApiResultDto.success(tableauService.getTableauGlobalBusiness().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("globalOverview")
public ApiResultDto getGlobalOverview() {
return ApiResultDto.success(tableauService.getGlobalOverview().orElse(StringUtils.EMPTY));
@GetMapping("getTableauMexicanTax")
public ApiResultDto getTableauMexicanTax() {
return ApiResultDto.success(tableauService.getTableauMexicanTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("mexicanTax")
public ApiResultDto getMexicanTax() {
return ApiResultDto.success(tableauService.getMexicanTax().orElse(StringUtils.EMPTY));
@GetMapping("getTableauAustralianTax")
public ApiResultDto getTableauAustralianTax() {
return ApiResultDto.success(tableauService.getTableauAustralianTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("australianTax")
public ApiResultDto getAustralianTax() {
return ApiResultDto.success(tableauService.getAustralianTax().orElse(StringUtils.EMPTY));
@GetMapping("getTableauBrazilianTax")
public ApiResultDto getTableauBrazilianTax() {
return ApiResultDto.success(tableauService.getTableauBrazilianTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("brazilianTax")
public ApiResultDto getBrazilianTax() {
return ApiResultDto.success(tableauService.getBrazilianTax().orElse(StringUtils.EMPTY));
@GetMapping("getTableauOtherTaxAnalysis")
public ApiResultDto getTableauOtherTaxAnalysis() {
return ApiResultDto.success(tableauService.getTableauOtherTaxAnalysis().orElse(StringUtils.EMPTY));
}
}
......@@ -46,73 +46,87 @@ public class OrangeHeapService {
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");
return optional.map(s -> String.format(systemConfig.getTableauTaxCategoryUnreturnedTax(), getTicket(s).orElse(StringUtils.EMPTY)));
}
return optional.map(s -> String.format(systemConfig.getTableauUnreturnedTax(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauDistrictUnreturnedTax() {
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() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauTaxComparison(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauCostAnalysis() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauCostAnalysis(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getOtherCountries() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauOtherCountries(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauDistrictProfitAndLoss() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauDistrictProfitAndLoss(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getCostAnalysis() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauCostAnalysis(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauCompanyProfitAndLoss() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauCompanyProfitAndLoss(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getProfitAndLoss() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauProfitAndLoss(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauDriverAndEmployee() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauDriverAndEmployee(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getOtherDomesticData() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauOtherDomesticData(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauGmvAndSubsidy() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauGmvAndSubsidy(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getDocSituation() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauDocSituation(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauFileArrangement() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauFileArrangement(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getGlobalOverview() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauGlobalOverview(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauGlobalOverview() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauGlobalOverview(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getMexicanTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauMexicanTax(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauGlobalBusiness() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauGlobalBusiness(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getAustralianTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauAustralianTax(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauMexicanTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauMexicanTax(), getTicket(s).orElse(StringUtils.EMPTY)));
}
public Optional<String> getBrazilianTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauBrazilianTax(),
getTicket(s).orElse(StringUtils.EMPTY)));
public Optional<String> getTableauAustralianTax() {
Optional<String> optional = Optional.of("admin");
return optional.map(s -> String.format(systemConfig.getTableauAustralianTax(), 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}
longi_api_gl_balance=${longi_api_gl_balance}
#tableau config
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_tax_category_unreturned_tax=${tableau_tax_category_unreturned_tax}
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_profit_and_loss=${tableau_profit_and_loss}
tableau_other_domestic_data=${tableau_other_domestic_data}
tableau_doc_situation=${tableau_doc_situation}
tableau_district_profit_and_loss=${tableau_district_profit_and_loss}
tableau_company_profit_and_loss=${tableau_company_profit_and_loss}
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_business=${tableau_global_business}
tableau_mexican_tax=${tableau_mexican_tax}
tableau_australian_tax=${tableau_australian_tax}
tableau_brazilian_tax=${tableau_brazilian_tax}
\ No newline at end of file
tableau_brazilian_tax=${tableau_brazilian_tax}
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
#tableau config
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_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
#税种未返还税金
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
#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
#tableau config
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_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
#税种未返还税金
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
......@@ -23,14 +23,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi
#tableau config
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_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
#税种未返还税金
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
......@@ -22,14 +22,48 @@ longi_api_gl_balance=http://39.105.197.175:13001/ETMSSB/Erp/GLBalance/ProxyServi
#tableau config
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_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
#税种未返还税金
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
......@@ -924,5 +924,6 @@
"false": "否",
"ConditionColumnNum": "条件列",
"Condition": "查询条件",
"Cancel4Tax": "取消",
"~MustBeEndOneApp": "I Must be the End One, please!"
}
......@@ -185,7 +185,7 @@
<!--<div class="modal-footer">
<button type="submit" class="btn btn-primary" translate="Confirm"
></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 style="margin-bottom: 20px;">
<center>
......@@ -193,7 +193,7 @@
></button>
<!--ng-disabled="newDocFileTypeForm.roleName.$invalid || newDocFileTypeForm.service_id.$invalid"-->
<button type="button" class="btn btn-third" data-dismiss="modal"
ng-click="cancelDocFileType()" translate="Cancel"></button>
ng-click="cancelDocFileType()" translate="Cancel4Tax"></button>
</center>
</div>
</form>
......
......@@ -29,8 +29,8 @@ frameworkModule.controller('appUsrOperateLogController',
SweetAlert.warning("没有数据可以下载");
return;
}
$scope.thisModuleId=[];//清空查询id
$scope.dataGridUpdate(data);
$scope.thisModuleId=[];//清空查询id
})
};
// $scope.sniffHelpPopRadio = function(){
......@@ -206,16 +206,22 @@ frameworkModule.directive('usrLogExportPlugin',function(){
function($scope,SweetAlert,$translate,usrOperateLogService,$q,$log){
$scope.exportTableData = function ()
{
var checkedItems = $(".log-export-checked-item");
// var checkedItems = $(".log-export-checked-item");
var ids = [];
if(checkedItems.length)
/*if(checkedItems.length)
checkedItems.find("span[data-name='logCheckedItem']")
.each(function(index,checkedItem){
var idLike = checkedItem.getAttribute('data-id');
if(idLike || idLike == 0){
ids.push(idLike);
}
});
.each(function(index,checkedItem){
var idLike = checkedItem.getAttribute('data-id');
if(idLike || idLike == 0){
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"]({
"ids":ids
}).then(function (data, status, headers) {
......
......@@ -18,7 +18,7 @@ taxDocumentManageModule.controller('taxDocumentListController',
};
$scope.localData = null;
$scope.loadMainData = function () {
checkReminder();
$scope.queryFieldModel.currentPage = $scope.pagingOptions.pageIndex;
$scope.queryFieldModel.pageSize = $scope.pagingOptions.pageSize;
......@@ -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.localData = _data.list;
$scope.pagingOptions.pageIndex = _data.pageNo;
......@@ -1827,7 +1857,7 @@ taxDocumentManageModule.directive('tempModule', function () {
$scope.checkedItemIds = [];
$scope.sniffCheckbox = function () {
$scope.checkedItemIds.length = 0;
$("input[name='dataGridCheckBox']").each(function (index, item) {
$("tr td[name='logCheckedItem']").each(function (index, item) {
if (item.checked) {
var cellId = $(item).attr("data-id");
$scope.checkedItemIds.push(cellId);
......@@ -1938,6 +1968,8 @@ taxDocumentManageModule.directive('tempModule', function () {
result = 1;
}else if(src === $translate.instant('ApprovalReject')){
result = -1;
}else{
result="";
}
return result;
};
......@@ -1950,6 +1982,8 @@ taxDocumentManageModule.directive('tempModule', function () {
result = $translate.instant('ApprovalPass');
}else if(src == -1){
result = $translate.instant('ApprovalReject');
}else{
result="";
}
return result;
};
......@@ -2068,7 +2102,15 @@ taxDocumentManageModule.directive('exportPlugin',function(){
$scope.queryFieldModel.currentPage = $scope.pagingOptions.pageIndex;
$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);
params.ids=delIDs;
params.fileBeginTime = getQueryDate(params.fileBeginTime,"-");
params.fileEndTTime = getQueryDate(params.fileEndTTime,"-");
params.ownBeginTime = getQueryDate(params.ownBeginTime,"-");
......
......@@ -897,7 +897,7 @@
<div class="modal-footer">
<button type="submit" class="btn btn-primary" translate="Confirm"></button>
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelDocFileType()"
translate="Cancel"></button>
translate="Cancel4Tax"></button>
</div>
</form>
</div>
......@@ -1146,7 +1146,7 @@
<div class="modal-footer">
<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()"
translate="Cancel"></button>
translate="Cancel4Tax"></button>
</div>
</form>
</div>
......@@ -1391,7 +1391,7 @@
<div class="modal-footer">
<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()"
translate="Cancel"></button>
translate="Cancel4Tax"></button>
</div>
</form>
</div>
......@@ -1444,7 +1444,7 @@
</div>
<div class="modal-footer">
<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>
......@@ -1465,7 +1465,7 @@
<div class="modal-footer">
<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()"
translate="Cancel"></button>
translate="Cancel4Tax"></button>
</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>
\ No newline at end of file
<!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
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