Commit dd42ff16 authored by gary's avatar gary

1、分析模块excel导入

parent b9ae4185
package pwc.taxtech.atms;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.controller.BaseController;
import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.analysis.AnalysisInternationlParam;
import pwc.taxtech.atms.exception.ServiceException;
import pwc.taxtech.atms.service.impl.AnalysisServiceImpl;
import java.util.List;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 11:29
* @Description:
*/
@RestController
@RequestMapping("/api/v1/Analysis/")
public class AnalysisController extends BaseController {
@Autowired
private AnalysisServiceImpl analysisServiceImpl;
@ResponseBody
@RequestMapping(value = "displayAnalysisImportData", method = RequestMethod.GET)
public ApiResultDto displayAnalysisImportData(@RequestParam Integer type, @RequestParam String period) {
try{
return ApiResultDto.success(analysisServiceImpl.displayAnalysisImportData(type,period));
}catch (Exception e){
return ApiResultDto.fail();
}
}
@ResponseBody
@RequestMapping(value = "displayAnalysisInternationalImportData", method = RequestMethod.POST)
public ApiResultDto displayAnalysisInternationalImportData(@RequestBody AnalysisInternationlParam param) {
try{
return ApiResultDto.success(analysisServiceImpl.displayAnalysisInternationalImportData(param));
}catch (Exception e){
return ApiResultDto.fail();
}
}
@ResponseBody
@RequestMapping(value = "getAnalysisInternationalCompanyList", method = RequestMethod.GET)
public List<String> getAnalysisInternationalCompanyList(@RequestParam Integer type, @RequestParam String period) {
return analysisServiceImpl.getAnalysisInternationalCompanyList(type,period);
}
@ResponseBody
@RequestMapping(value = "getAnalysisInternationalCountryList", method = RequestMethod.GET)
public List<String> getAnalysisInternationalCountryList(@RequestParam Integer type, @RequestParam String period) {
return analysisServiceImpl.getAnalysisInternationalCountryList(type,period);
}
@ResponseBody
@RequestMapping(value = "DomesitcExcelFile", method = RequestMethod.POST)
public OperationResultDto importDomesitcExcelFile(@RequestParam MultipartFile file, @RequestParam String period, @RequestParam Integer type) {
try {
String valMsg = valParameter(file,period,type);
if(StringUtils.isNotEmpty(valMsg)){
return OperationResultDto.error(valMsg);
}
return analysisServiceImpl.importDomesitcExcelFile(file,period, type);
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("importDomesitcExcelFile error.", e);
return OperationResultDto.error(ErrorMessage.SystemError);
}
}
private String valParameter(MultipartFile file,String periodDate,Integer type){
if (null == file) {
return ErrorMessage.NoFile;
}
if(StringUtils.isEmpty(periodDate)){
return ErrorMessage.DidntSelectedPeriod;
}
if(null==type){
return ErrorMessage.DidntSelectedImportType;
}
return null;
}
}
package pwc.taxtech.atms.constant.enums;
public enum EnumAnalysisImportType {
DriverNum(4,"司機人數_所属期间_模版"),
TaxData(0,"各税种税额 _所属期间_模版"),
ReturnTaxData(1,"实际返还税额 _所属期间_模版"),
GMVSubsidy(2,"業務線_所属期间_模版"),
EmployeeNum(3,"职工人数_所属期间_模版"),
DriverNum(4,"司機人數_所属期间_模版"),
InternationalBuData(100,"国际税业务数据_国家_公司_所属期间_模版"),
InternationalTaxData(101,"国际税税务数据_国家_公司_所属期间_模版");
......
......@@ -7,6 +7,7 @@ import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.dpo.PagingDto;
import pwc.taxtech.atms.dto.*;
import pwc.taxtech.atms.dto.analysis.AnalysisInternationlParam;
import pwc.taxtech.atms.dto.dataimport.DataImportParam;
import pwc.taxtech.atms.dto.dataimport.DataProcessParam;
import pwc.taxtech.atms.dto.input.CamelPagingResultDto;
......@@ -253,33 +254,6 @@ public class DataImportController extends BaseController {
}
}
@ResponseBody
@RequestMapping(value = "displayAnalysisImportData", method = RequestMethod.GET)
public ApiResultDto displayAnalysisImportData(@RequestParam Integer type,@RequestParam String period) {
try{
return ApiResultDto.success(dataImportService.displayAnalysisImportData(type,period));
}catch (Exception e){
return ApiResultDto.fail();
}
}
@ResponseBody
@RequestMapping(value = "Analysis/DomesitcExcelFile", method = RequestMethod.POST)
public OperationResultDto importDomesitcExcelFile(@RequestParam MultipartFile file,@RequestParam String period,@RequestParam Integer type) {
try {
String valMsg = valParameter(file,period,type);
if(StringUtils.isNotEmpty(valMsg)){
return OperationResultDto.error(valMsg);
}
return dataImportService.importDomesitcExcelFile(file,period, type);
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("importDomesitcExcelFile error.", e);
return OperationResultDto.error(ErrorMessage.SystemError);
}
}
private String valParameter(MultipartFile file,List<String> orgList,String periodDate){
if (null == file) {
return ErrorMessage.NoFile;
......@@ -293,16 +267,4 @@ public class DataImportController extends BaseController {
return null;
}
private String valParameter(MultipartFile file,String periodDate,Integer type){
if (null == file) {
return ErrorMessage.NoFile;
}
if(StringUtils.isEmpty(periodDate)){
return ErrorMessage.DidntSelectedPeriod;
}
if(null==type){
return ErrorMessage.DidntSelectedImportType;
}
return null;
}
}
package pwc.taxtech.atms.dto.analysis;
import java.math.BigDecimal;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 12:50
* @Description:
*/
public class AnalysisActualTaxReturnDto {
private String companyName;
private BigDecimal segment1;
private BigDecimal segment2;
private BigDecimal segment3;
private BigDecimal segment4;
private BigDecimal segment5;
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public BigDecimal getSegment1() {
return segment1;
}
public void setSegment1(BigDecimal segment1) {
this.segment1 = segment1;
}
public BigDecimal getSegment2() {
return segment2;
}
public void setSegment2(BigDecimal segment2) {
this.segment2 = segment2;
}
public BigDecimal getSegment3() {
return segment3;
}
public void setSegment3(BigDecimal segment3) {
this.segment3 = segment3;
}
public BigDecimal getSegment4() {
return segment4;
}
public void setSegment4(BigDecimal segment4) {
this.segment4 = segment4;
}
public BigDecimal getSegment5() {
return segment5;
}
public void setSegment5(BigDecimal segment5) {
this.segment5 = segment5;
}
}
package pwc.taxtech.atms.dto.analysis;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 15:37
* @Description:
*/
public class AnalysisGMVSubsidyDto {
private String businessLine;
private String segment1;
private String segment2;
private String segment3;
private String segment4;
private String segment5;
private String segment6;
public String getBusinessLine() {
return businessLine;
}
public void setBusinessLine(String businessLine) {
this.businessLine = businessLine;
}
public String getSegment1() {
return segment1;
}
public void setSegment1(String segment1) {
this.segment1 = segment1;
}
public String getSegment2() {
return segment2;
}
public void setSegment2(String segment2) {
this.segment2 = segment2;
}
public String getSegment3() {
return segment3;
}
public void setSegment3(String segment3) {
this.segment3 = segment3;
}
public String getSegment4() {
return segment4;
}
public void setSegment4(String segment4) {
this.segment4 = segment4;
}
public String getSegment5() {
return segment5;
}
public void setSegment5(String segment5) {
this.segment5 = segment5;
}
public String getSegment6() {
return segment6;
}
public void setSegment6(String segment6) {
this.segment6 = segment6;
}
}
package pwc.taxtech.atms.dto.analysis;
import java.math.BigDecimal;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 11:25
* @Description:
*/
public class AnalysisInternationalBUDataDto {
private String category;
private String name;
private BigDecimal amount;
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
}
package pwc.taxtech.atms.dto.analysis;
import java.math.BigDecimal;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 11:25
* @Description:
*/
public class AnalysisInternationalTaxDataDto {
private String taxCategory;
private String taxType;
private BigDecimal taxAmount;
public String getTaxCategory() {
return taxCategory;
}
public void setTaxCategory(String taxCategory) {
this.taxCategory = taxCategory;
}
public String getTaxType() {
return taxType;
}
public void setTaxType(String taxType) {
this.taxType = taxType;
}
public BigDecimal getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(BigDecimal taxAmount) {
this.taxAmount = taxAmount;
}
}
package pwc.taxtech.atms.dto.analysis;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 11:28
* @Description:
*/
public class AnalysisInternationlParam {
private Integer type;
private String period;
private String country;
private String companyName;
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getPeriod() {
return period;
}
public void setPeriod(String period) {
this.period = period;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
package pwc.taxtech.atms.dto.analysis;
import java.math.BigDecimal;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 12:48
* @Description:
*/
public class AnalysisTaxDto {
private String companyName;
private BigDecimal segment1;
private BigDecimal segment2;
private BigDecimal segment3;
private BigDecimal segment4;
private BigDecimal segment5;
private BigDecimal segment6;
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public BigDecimal getSegment1() {
return segment1;
}
public void setSegment1(BigDecimal segment1) {
this.segment1 = segment1;
}
public BigDecimal getSegment2() {
return segment2;
}
public void setSegment2(BigDecimal segment2) {
this.segment2 = segment2;
}
public BigDecimal getSegment3() {
return segment3;
}
public void setSegment3(BigDecimal segment3) {
this.segment3 = segment3;
}
public BigDecimal getSegment4() {
return segment4;
}
public void setSegment4(BigDecimal segment4) {
this.segment4 = segment4;
}
public BigDecimal getSegment5() {
return segment5;
}
public void setSegment5(BigDecimal segment5) {
this.segment5 = segment5;
}
public BigDecimal getSegment6() {
return segment6;
}
public void setSegment6(BigDecimal segment6) {
this.segment6 = segment6;
}
}
package pwc.taxtech.atms.service.impl;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.analysis.dao.*;
import pwc.taxtech.atms.analysis.entity.*;
import pwc.taxtech.atms.common.message.ErrorMessageCN;
import pwc.taxtech.atms.common.util.DateUtils;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.analysis.*;
import pwc.taxtech.atms.exception.ServiceException;
import javax.annotation.Resource;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Auther: Gary J Li
* @Date: 14/03/2019 11:31
* @Description:
*/
@Service
public class AnalysisServiceImpl extends BaseService {
@Resource
private AnalysisDriverNumMapper analysisDriverNumMapper;
@Resource
private AnalysisEmployeeNumMapper analysisEmployeeNumMapper;
@Resource
private AnalysisExpectedTaxReturnMapper analysisExpectedTaxReturnMapper;
@Resource
private AnalysisActualTaxReturnMapper analysisActualTaxReturnMapper;
@Resource
private AnalysisFeeMapper analysisFeeMapper;
@Resource
private AnalysisFileManagementMapper analysisFileManagementMapper;
@Resource
private AnalysisGmvSubsidyMapper analysisGmvSubsidyMapper;
@Resource
private AnalysisInternationalBusinessDataMapper analysisInternationalBusinessDataMapper;
@Resource
private AnalysisInternationalTaxDataMapper analysisInternationalTaxDataMapper;
@Resource
private AnalysisMasterMapper analysisMasterMapper;
@Resource
private AnalysisSalesMapper analysisSalesMapper;
@Resource
private AnalysisTaxMapper analysisTaxMapper;
public List<Object> displayAnalysisImportData(Integer type, String periodStr) {
List<Object> objects = new ArrayList<>();
Integer period = DateUtils.strToPeriod(periodStr);
switch (type){
case 0:
AnalysisTaxExample analysisTaxExample = new AnalysisTaxExample();
analysisTaxExample.createCriteria().andPeriodEqualTo(period);
List<AnalysisTax> list = analysisTaxMapper.selectByExample(analysisTaxExample);
List<AnalysisTaxDto> dtos = Lists.newArrayList();
Map<String, List<AnalysisTax>> actrs =
list.stream().collect(Collectors.groupingBy(AnalysisTax::getCompanyName));
actrs.forEach((k, v) -> processAts(k, v,dtos));
objects.add(dtos);
break;
case 1:
AnalysisActualTaxReturnExample analysisActualTaxReturnExample = new AnalysisActualTaxReturnExample();
analysisActualTaxReturnExample.createCriteria().andPeriodEqualTo(period);
List<AnalysisActualTaxReturn> list2 = analysisActualTaxReturnMapper.selectByExample(analysisActualTaxReturnExample);
List<AnalysisActualTaxReturnDto> dtos2 = Lists.newArrayList();
Map<String, List<AnalysisActualTaxReturn>> actrs2 =
list2.stream().collect(Collectors.groupingBy(AnalysisActualTaxReturn::getCompanyName));
actrs2.forEach((k, v) -> processActrs(k, v,dtos2));
objects.add(dtos2);
return objects;
case 2:
AnalysisGmvSubsidyExample analysisGmvSubsidyExample = new AnalysisGmvSubsidyExample();
analysisGmvSubsidyExample.createCriteria().andPeriodEqualTo(period);
List<AnalysisGMVSubsidyDto> dtos3 = generalDtos(analysisGmvSubsidyMapper.selectByExample(analysisGmvSubsidyExample));
objects.add(dtos3);
break;
case 3:
AnalysisEmployeeNumExample analysisEmployeeNumExample = new AnalysisEmployeeNumExample();
analysisEmployeeNumExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisEmployeeNumMapper.selectByExample(analysisEmployeeNumExample));
break;
case 4:
AnalysisDriverNumExample analysisDriverNumExample = new AnalysisDriverNumExample();
analysisDriverNumExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisDriverNumMapper.selectByExample(analysisDriverNumExample));
break;
default:
break;
}
return objects;
}
private List<AnalysisGMVSubsidyDto> generalDtos(List<AnalysisGmvSubsidy> list) {
List<AnalysisGMVSubsidyDto> dtos = Lists.newArrayList();
NumberFormat nt = NumberFormat.getPercentInstance();
list.forEach(l -> {
AnalysisGMVSubsidyDto dto = new AnalysisGMVSubsidyDto();
dto.setBusinessLine(l.getBusinessLine());
dto.setSegment1(nt.format(l.getOrderChainRatio().doubleValue()));
dto.setSegment2(nt.format(l.getGmvChainRatio().doubleValue()));
dto.setSegment3(nt.format(l.getbSubsidyRate().doubleValue()));
dto.setSegment4(nt.format(l.getbEndLinkRatio().doubleValue()));
dto.setSegment5(nt.format(l.getcSubsidyRate().doubleValue()));
dto.setSegment6(nt.format(l.getcEndLinkRatio().doubleValue()));
dtos.add(dto);
});
return dtos;
}
private void processAts(String k, List<AnalysisTax> v, List<AnalysisTaxDto> dtos) {
AnalysisTaxDto dto = new AnalysisTaxDto();
dto.setCompanyName(k);
dto.setSegment1(getAmountByGroup(v,"城建税"));
dto.setSegment2(getAmountByGroup(v,"教育费附加"));
dto.setSegment3(getAmountByGroup(v,"地方教育费附加"));
dto.setSegment4(getAmountByGroup(v,"员工个税"));
dto.setSegment5(getAmountByGroup(v,"司机个税"));
dto.setSegment6(getAmountByGroup(v,"印花税"));
dtos.add(dto);
}
private void processActrs(String k, List<AnalysisActualTaxReturn> v,List<AnalysisActualTaxReturnDto> dtos) {
AnalysisActualTaxReturnDto dto = new AnalysisActualTaxReturnDto();
dto.setCompanyName(k);
dto.setSegment1(getTaxAmountByGroup(v,"增值税返还"));
dto.setSegment2(getTaxAmountByGroup(v,"城建税返还"));
dto.setSegment3(getTaxAmountByGroup(v,"教育费附加返还"));
dto.setSegment4(getTaxAmountByGroup(v,"地方教育费附加返还"));
dto.setSegment5(getTaxAmountByGroup(v,"个人所得税返还"));
dtos.add(dto);
}
private BigDecimal getTaxAmountByGroup(List<AnalysisActualTaxReturn> v, String group) {
List<AnalysisActualTaxReturn> filterRes = v.stream().filter(o-> group.equals(o.getTaxReturnGroup())).collect(Collectors.toList());
BigDecimal res = filterRes.size()>0?filterRes.get(0).getTaxReturnAmount():BigDecimal.ZERO;
return res;
}
private BigDecimal getAmountByGroup(List<AnalysisTax> v, String group) {
List<AnalysisTax> filterRes = v.stream().filter(o-> group.equals(o.getTaxGroup())).collect(Collectors.toList());
BigDecimal res = filterRes.size()>0?filterRes.get(0).getTaxAmount():BigDecimal.ZERO;
return res;
}
public OperationResultDto importDomesitcExcelFile(MultipartFile file, String periodDate, Integer type) {
switch (type){
case 0:
importAnalysisTaxExcelFile(file,periodDate);
break;
case 1:
importAnalysisReturnTaxExcelFile(file,periodDate);
break;
case 2:
importAnalysisGMVSubsidyExcelFile(file,periodDate);
break;
case 3:
importAnalysisEmployeeNumExcelFile(file,periodDate);
break;
case 4:
importAnalysisDriverNumExcelFile(file,periodDate);
break;
case 100:
importAnalysisInterBuDataExcelFile(file,periodDate);
break;
case 101:
importAnalysisInterTaxDataExcelFile(file,periodDate);
break;
default:
break;
}
return OperationResultDto.success();
}
private void importAnalysisTaxExcelFile(MultipartFile file, String periodDate) {
try {
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String filePeriod = file.getOriginalFilename().split("_")[1];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if (!filePer.equals(selectedPer)) {
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
List<AnalysisTax> lists = Lists.newArrayList();
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
String companyName = getCellStringValue(cell1);
for (int k = 1; k < sheet.getRow(0).getLastCellNum(); k++) {
AnalysisTax model = getAnalysisTax(selectedPer, sheet, k, j, companyName);
lists.add(model);
}
}
AnalysisTaxExample example = new AnalysisTaxExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisTaxMapper.deleteByExample(example);
lists.forEach(l -> {
analysisTaxMapper.insertSelective(l);
});
}
} catch (ServiceException se) {
throw se;
} catch (Exception e) {
String errMsg = "分析模块-导入各税种税额异常";
logger.error(errMsg, e);
throw new ServiceException(errMsg);
}
}
private AnalysisTax getAnalysisTax(Integer selectedPer, Sheet sheet,int k, int j, String companyName) {
AnalysisTax model = new AnalysisTax();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
model.setCompanyName(companyName);
model.setTaxGroup(getCellStringValue(sheet.getRow(0).getCell(k)));
model.setTaxAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(k)));
return model;
}
private void importAnalysisReturnTaxExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String filePeriod = file.getOriginalFilename().split("_")[1];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if (!filePer.equals(selectedPer)) {
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
List<AnalysisActualTaxReturn> lists = Lists.newArrayList();
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
String companyName = getCellStringValue(cell1);
for(int k = 1; k < sheet.getRow(0).getLastCellNum(); k++){
AnalysisActualTaxReturn model = getAnalysisActualTaxReturn(selectedPer, sheet,k, j, companyName);
lists.add(model);
}
}
AnalysisActualTaxReturnExample example = new AnalysisActualTaxReturnExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisActualTaxReturnMapper.deleteByExample(example);
lists.forEach(l->{
analysisActualTaxReturnMapper.insertSelective(l);
});
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入实际返还税额异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
private AnalysisActualTaxReturn getAnalysisActualTaxReturn(Integer selectedPer, Sheet sheet,int k, int j, String companyName) {
AnalysisActualTaxReturn model = new AnalysisActualTaxReturn();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
model.setCompanyName(companyName);
model.setTaxReturnGroup(getCellStringValue(sheet.getRow(0).getCell(k)));
model.setTaxReturnAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(k)));
return model;
}
private void importAnalysisEmployeeNumExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String filePeriod = file.getOriginalFilename().split("_")[1];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if(!filePer.equals(selectedPer)){
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
List<AnalysisEmployeeNum> lists = Lists.newArrayList();
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
AnalysisEmployeeNum model = new AnalysisEmployeeNum();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
model.setCompanyName(getCellStringValue(cell1));
model.setFullTimeAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(1)));
model.setInternAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(2)));
model.setVendorAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(3)));
model.setTotalAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(4)));
lists.add(model);
}
AnalysisEmployeeNumExample example = new AnalysisEmployeeNumExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisEmployeeNumMapper.deleteByExample(example);
lists.forEach(l->{
analysisEmployeeNumMapper.insertSelective(l);
});
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入雇员人数异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
private void importAnalysisGMVSubsidyExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String filePeriod = file.getOriginalFilename().split("_")[1];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if(!filePer.equals(selectedPer)){
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
List<AnalysisGmvSubsidy> lists = Lists.newArrayList();
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
AnalysisGmvSubsidy model = new AnalysisGmvSubsidy();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
model.setBusinessLine(getCellStringValue(cell1));
model.setOrderChainRatio(getCellBigDecimalValue(sheet.getRow(j).getCell(1)));
model.setGmvChainRatio(getCellBigDecimalValue(sheet.getRow(j).getCell(2)));
model.setbSubsidyRate(getCellBigDecimalValue(sheet.getRow(j).getCell(3)));
model.setbEndLinkRatio(getCellBigDecimalValue(sheet.getRow(j).getCell(4)));
model.setcSubsidyRate(getCellBigDecimalValue(sheet.getRow(j).getCell(5)));
model.setcEndLinkRatio(getCellBigDecimalValue(sheet.getRow(j).getCell(6)));
lists.add(model);
}
AnalysisGmvSubsidyExample example = new AnalysisGmvSubsidyExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisGmvSubsidyMapper.deleteByExample(example);
lists.forEach(l->{
analysisGmvSubsidyMapper.insertSelective(l);
});
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入GMV及补贴异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
private void importAnalysisDriverNumExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String filePeriod = file.getOriginalFilename().split("_")[1];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if(!filePer.equals(selectedPer)){
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
AnalysisDriverNum model = new AnalysisDriverNum();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
Cell cell2 = sheet.getRow(j).getCell(1);
if("加盟".equals(getCellStringValue(cell1))){
model.setJoinInAmount(getCellBigDecimalValue(cell2));
}else if("自营".equals(getCellStringValue(cell1))){
model.setSelfSupportAmount(getCellBigDecimalValue(cell2));
}else if("直营".equals(getCellStringValue(cell1))){
model.setDirectSaleAmount(getCellBigDecimalValue(cell2));
}else if("对公".equals(getCellStringValue(cell1))){
model.setRightPublicAmount(getCellBigDecimalValue(cell2));
}
}
AnalysisDriverNumExample example = new AnalysisDriverNumExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisDriverNumMapper.deleteByExample(example);
analysisDriverNumMapper.insertSelective(model);
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入司机人数异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
private void importAnalysisInterTaxDataExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String fileCountry = file.getOriginalFilename().split("_")[1];
String fileCompany = file.getOriginalFilename().split("_")[2];
String filePeriod = file.getOriginalFilename().split("_")[3];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if(!filePer.equals(selectedPer)){
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
List<AnalysisInternationalTaxData> lists = Lists.newArrayList();
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
AnalysisInternationalTaxData model = new AnalysisInternationalTaxData();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
model.setCompanyName(fileCompany);
model.setCountry(fileCountry);
model.setTaxCategory(getCellStringValue(sheet.getRow(j).getCell(0)));
model.setTaxType(getCellStringValue(sheet.getRow(j).getCell(1)));
model.setTaxAmount(getCellBigDecimalValue(sheet.getRow(j).getCell(2)));
lists.add(model);
}
AnalysisInternationalTaxDataExample example = new AnalysisInternationalTaxDataExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisInternationalTaxDataMapper.deleteByExample(example);
lists.forEach(l->{
analysisInternationalTaxDataMapper.insertSelective(l);
});
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入国际税业务数据异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
private void importAnalysisInterBuDataExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String fileCountry = file.getOriginalFilename().split("_")[1];
String fileCompany = file.getOriginalFilename().split("_")[2];
String filePeriod = file.getOriginalFilename().split("_")[3];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if(!filePer.equals(selectedPer)){
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
List<AnalysisInternationalBusinessData> lists = Lists.newArrayList();
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
AnalysisInternationalBusinessData model = new AnalysisInternationalBusinessData();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
model.setCompanyName(fileCompany);
model.setCountry(fileCountry);
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
model.setGmv(getCellBigDecimalValue(cell1));
model.setTrips(getCellBigDecimalValue(sheet.getRow(j).getCell(1)));
model.setSubsidyB(getCellBigDecimalValue(sheet.getRow(j).getCell(2)));
model.setSubsidyC(getCellBigDecimalValue(sheet.getRow(j).getCell(3)));
model.setRevenue(getCellBigDecimalValue(sheet.getRow(j).getCell(4)));
model.setProfit(getCellBigDecimalValue(sheet.getRow(j).getCell(5)));
model.setExchangeRate(getCellBigDecimalValue(sheet.getRow(j).getCell(6)));
lists.add(model);
}
AnalysisInternationalBusinessDataExample example = new AnalysisInternationalBusinessDataExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisInternationalBusinessDataMapper.deleteByExample(example);
lists.forEach(l->{
analysisInternationalBusinessDataMapper.insertSelective(l);
});
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入国际税业务数据异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
public Object displayAnalysisInternationalImportData(AnalysisInternationlParam param) {
List<Object> objects = new ArrayList<>();
Integer period = DateUtils.strToPeriod(param.getPeriod());
String country = param.getCountry();
String companyName = param.getCompanyName();
switch (param.getType()){
case 100:
AnalysisInternationalBusinessDataExample analysisInternationalBusinessDataExample = new AnalysisInternationalBusinessDataExample();
analysisInternationalBusinessDataExample.createCriteria().andPeriodEqualTo(period).andCompanyNameEqualTo(companyName).andCountryEqualTo(country);
List<AnalysisInternationalBusinessData> list = analysisInternationalBusinessDataMapper.selectByExample(analysisInternationalBusinessDataExample);
List<AnalysisInternationalBUDataDto> dtos = Lists.newArrayList();
list.forEach(l->{
AnalysisInternationalBUDataDto dto1 = new AnalysisInternationalBUDataDto();
dto1.setCategory("GMV");
dto1.setName("GMV");
dto1.setAmount(l.getGmv());
dtos.add(dto1);
AnalysisInternationalBUDataDto dto2 = new AnalysisInternationalBUDataDto();
dto2.setCategory("Revenue");
dto2.setName("Revenue");
dto2.setAmount(l.getRevenue());
dtos.add(dto2);
AnalysisInternationalBUDataDto dto3 = new AnalysisInternationalBUDataDto();
dto3.setCategory("Profit");
dto3.setName("Profit");
dto3.setAmount(l.getProfit());
dtos.add(dto3);
AnalysisInternationalBUDataDto dto4 = new AnalysisInternationalBUDataDto();
dto4.setCategory("Trips");
dto4.setName("Trips");
dto4.setAmount(l.getTrips());
dtos.add(dto4);
AnalysisInternationalBUDataDto dto5 = new AnalysisInternationalBUDataDto();
dto5.setCategory("Subsidy");
dto5.setName("Subsidy B");
dto5.setAmount(l.getSubsidyB());
dtos.add(dto5);
AnalysisInternationalBUDataDto dto6 = new AnalysisInternationalBUDataDto();
dto6.setCategory("Subsidy");
dto6.setName("Subsidy C");
dto6.setAmount(l.getSubsidyC());
dtos.add(dto6);
});
objects.addAll(dtos);
return objects;
case 101:
AnalysisInternationalTaxDataExample analysisInternationalTaxDataExample = new AnalysisInternationalTaxDataExample();
analysisInternationalTaxDataExample.createCriteria().andPeriodEqualTo(period).andCompanyNameEqualTo(companyName).andCountryEqualTo(country);
List<AnalysisInternationalTaxData> list2 = analysisInternationalTaxDataMapper.selectByExample(analysisInternationalTaxDataExample);
List<AnalysisInternationalTaxDataDto> dtos2 = Lists.newArrayList();
list2.forEach(l2->{
dtos2.add(beanUtil.copyProperties(l2,new AnalysisInternationalTaxDataDto()));
});
objects.addAll(dtos2);
return objects;
default:
break;
}
return objects;
}
public List<String> getAnalysisInternationalCompanyList(Integer type, String periodStr) {
List<String> companyList = Lists.newArrayList();
Integer period = DateUtils.strToPeriod(periodStr);
switch (type){
case 100:
companyList = analysisInternationalBusinessDataMapper.selectCompanyList(period);
break;
case 101:
companyList = analysisInternationalTaxDataMapper.selectCompanyList(period);
break;
default:
break;
}
return companyList;
}
public List<String> getAnalysisInternationalCountryList(Integer type, String periodStr) {
List<String> countryList = Lists.newArrayList();
Integer period = DateUtils.strToPeriod(periodStr);
switch (type){
case 100:
countryList = analysisInternationalBusinessDataMapper.selectCountryList(period);
break;
case 101:
countryList = analysisInternationalTaxDataMapper.selectCountryList(period);
break;
default:
break;
}
return countryList;
}
private String getCellStringValue(Cell cell) {
if (cell.getCellTypeEnum().equals(CellType.STRING)) {
return cell.getStringCellValue();
} else if(cell.getCellTypeEnum().equals(CellType.NUMERIC)) {
// 取整
return String.valueOf((int)cell.getNumericCellValue());
}
logger.warn("获取单元格数据类型未匹配");
return null;
}
private Boolean getCellBolleanValue(Cell cell) {
if (cell.getCellTypeEnum().equals(CellType.STRING)) {
switch (cell.getStringCellValue()) {
case "TRUE":
return Boolean.TRUE;
case "FALSE":
return Boolean.FALSE;
case "是":
return Boolean.TRUE;
case "否":
return Boolean.FALSE;
default:
return null;
}
}else if (cell.getCellTypeEnum().equals(CellType.BOOLEAN)) {
return cell.getBooleanCellValue();
}
logger.warn("获取单元格数据类型未匹配");
return null;
}
private Integer getCellIntegerValue(Cell cell) {
if (cell.getCellTypeEnum().equals(CellType.STRING)) {
return Integer.valueOf(cell.getStringCellValue());
} else if(cell.getCellTypeEnum().equals(CellType.NUMERIC)) {
return (int)cell.getNumericCellValue();
}
logger.warn("获取单元格数据类型未匹配");
return null;
}
private BigDecimal getCellBigDecimalValue(Cell cell) {
if (cell.getCellTypeEnum().equals(CellType.STRING)) {
return new BigDecimal(cell.getStringCellValue());
} else if(cell.getCellTypeEnum().equals(CellType.NUMERIC)) {
return new BigDecimal(cell.getNumericCellValue());
}
logger.warn("获取单元格数据类型未匹配");
return null;
}
private Long getCellLongDecimalValue(Cell cell) {
if (cell.getCellTypeEnum().equals(CellType.STRING)) {
return Long.valueOf(cell.getStringCellValue());
} else if(cell.getCellTypeEnum().equals(CellType.NUMERIC)) {
return new Double(cell.getNumericCellValue()).longValue();
}
logger.warn("获取单元格数据类型未匹配");
return null;
}
private boolean isSheetEmpty(Sheet sheet) {
if (sheet.getLastRowNum() > 0 &&
(null == sheet.getRow(0).getCell(0) || "Version".equals(sheet.getRow(0).getCell(0).getStringCellValue())) &&
null == sheet.getRow(0).getCell(2)) {
return true;
}
return false;
}
}
......@@ -92,6 +92,8 @@ public class DataImportService extends BaseService {
@Resource
private AnalysisExpectedTaxReturnMapper analysisExpectedTaxReturnMapper;
@Resource
private AnalysisActualTaxReturnMapper analysisActualTaxReturnMapper;
@Resource
private AnalysisFeeMapper analysisFeeMapper;
@Resource
private AnalysisFileManagementMapper analysisFileManagementMapper;
......@@ -1765,147 +1767,4 @@ public class DataImportService extends BaseService {
return "";
}
public List<Object> displayAnalysisImportData(Integer type, String periodStr) {
List<Object> objects = new ArrayList<>();
Integer period = DateUtils.strToPeriod(periodStr);
switch (type){
case 0:
AnalysisTaxExample analysisTaxExample = new AnalysisTaxExample();
analysisTaxExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisTaxMapper.selectByExample(analysisTaxExample));
break;
case 1:
AnalysisExpectedTaxReturnExample analysisExpectedTaxReturnExample = new AnalysisExpectedTaxReturnExample();
analysisExpectedTaxReturnExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisExpectedTaxReturnMapper.selectByExample(analysisExpectedTaxReturnExample));
break;
case 2:
AnalysisGmvSubsidyExample analysisGmvSubsidyExample = new AnalysisGmvSubsidyExample();
analysisGmvSubsidyExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisGmvSubsidyMapper.selectByExample(analysisGmvSubsidyExample));
break;
case 3:
AnalysisEmployeeNumExample analysisEmployeeNumExample = new AnalysisEmployeeNumExample();
analysisEmployeeNumExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisEmployeeNumMapper.selectByExample(analysisEmployeeNumExample));
break;
case 4:
AnalysisDriverNumExample analysisDriverNumExample = new AnalysisDriverNumExample();
analysisDriverNumExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisDriverNumMapper.selectByExample(analysisDriverNumExample));
break;
case 100:
AnalysisInternationalBusinessDataExample analysisInternationalBusinessDataExample = new AnalysisInternationalBusinessDataExample();
analysisInternationalBusinessDataExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisInternationalBusinessDataMapper.selectByExample(analysisInternationalBusinessDataExample));
break;
case 101:
AnalysisInternationalTaxDataExample analysisInternationalTaxDataExample = new AnalysisInternationalTaxDataExample();
analysisInternationalTaxDataExample.createCriteria().andPeriodEqualTo(period);
objects.addAll(analysisInternationalTaxDataMapper.selectByExample(analysisInternationalTaxDataExample));
break;
default:
break;
}
return objects;
}
public OperationResultDto importDomesitcExcelFile(MultipartFile file, String periodDate, Integer type) {
switch (type){
case 0:
// importAnalysisTaxExcelFile(file,periodDate);
break;
case 1:
importAnalysisreturnTaxExcelFile(file,periodDate);
break;
case 2:
importAnalysisGMVSubsidyExcelFile(file,periodDate);
break;
case 3:
importAnalysisEmployeeNumExcelFile(file,periodDate);
break;
case 4:
importAnalysisDriverNumExcelFile(file,periodDate);
break;
case 100:
importAnalysisInterBuDataExcelFile(file,periodDate);
break;
case 101:
importAnalysisInterTaxDataExcelFile(file,periodDate);
break;
default:
break;
}
return OperationResultDto.success();
}
private void importAnalysisreturnTaxExcelFile(MultipartFile file, String periodDate) {
}
private void importAnalysisEmployeeNumExcelFile(MultipartFile file, String periodDate) {
}
private void importAnalysisGMVSubsidyExcelFile(MultipartFile file, String periodDate) {
}
private void importAnalysisDriverNumExcelFile(MultipartFile file, String periodDate) {
try{
InputStream inputStream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
if (StringUtils.isBlank(periodDate) || "null".equals(periodDate)) {
throw new ServiceException(ErrorMessageCN.DoNotSelectPeriod);
}
// 文件上的期间
String filePeriod = file.getOriginalFilename().split("_")[1];
Integer filePer = DateUtils.strToPeriod2(filePeriod);
Integer selectedPer = DateUtils.strToPeriod(periodDate);
if(!filePer.equals(selectedPer)){
throw new ServiceException(ErrorMessageCN.ExistDataPeriodsError);
}
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet sheet = workbook.getSheetAt(i);
if (isSheetEmpty(sheet)) continue;
AnalysisDriverNum model = new AnalysisDriverNum();
model.setId(idService.nextId());
model.setPeriod(selectedPer);
for (int j = 1; j <= sheet.getLastRowNum(); j++) {
Cell cell1 = sheet.getRow(j).getCell(0);
if (null == cell1 || StringUtils.isEmpty(getCellStringValue(cell1))) {
continue;
}
Cell cell2 = sheet.getRow(j).getCell(1);
if("加盟".equals(getCellStringValue(cell1))){
model.setJoinInAmount(getCellBigDecimalValue(cell2));
}else if("自营".equals(getCellStringValue(cell1))){
model.setSelfSupportAmount(getCellBigDecimalValue(cell2));
}else if("直营".equals(getCellStringValue(cell1))){
model.setDirectSaleAmount(getCellBigDecimalValue(cell2));
}else if("对公".equals(getCellStringValue(cell1))){
model.setRightPublicAmount(getCellBigDecimalValue(cell2));
}
}
AnalysisDriverNumExample example = new AnalysisDriverNumExample();
example.createCriteria().andPeriodEqualTo(selectedPer);
analysisDriverNumMapper.deleteByExample(example);
analysisDriverNumMapper.insertSelective(model);
}
}catch (ServiceException se){
throw se;
}catch (Exception e){
String errMsg = "分析模块-导入司机人数异常";
logger.error(errMsg,e);
throw new ServiceException(errMsg);
}
}
private void importAnalysisInterTaxDataExcelFile(MultipartFile file, String periodDate) {
}
private void importAnalysisInterBuDataExcelFile(MultipartFile file, String periodDate) {
}
}
package pwc.taxtech.atms.analysis.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyAnalysisMapper;
import pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturn;
import pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturnExample;
@Mapper
public interface AnalysisActualTaxReturnMapper extends MyAnalysisMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
long countByExample(AnalysisActualTaxReturnExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int deleteByExample(AnalysisActualTaxReturnExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int insert(AnalysisActualTaxReturn record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int insertSelective(AnalysisActualTaxReturn record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
List<AnalysisActualTaxReturn> selectByExampleWithRowbounds(AnalysisActualTaxReturnExample example, RowBounds rowBounds);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
List<AnalysisActualTaxReturn> selectByExample(AnalysisActualTaxReturnExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
AnalysisActualTaxReturn selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") AnalysisActualTaxReturn record, @Param("example") AnalysisActualTaxReturnExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int updateByExample(@Param("record") AnalysisActualTaxReturn record, @Param("example") AnalysisActualTaxReturnExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(AnalysisActualTaxReturn record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
int updateByPrimaryKey(AnalysisActualTaxReturn record);
}
\ No newline at end of file
......@@ -105,4 +105,8 @@ public interface AnalysisInternationalBusinessDataMapper extends MyAnalysisMappe
* @mbg.generated
*/
int updateByPrimaryKey(AnalysisInternationalBusinessData record);
List<String> selectCompanyList(@Param("period") Integer period);
List<String> selectCountryList(@Param("period") Integer period);
}
\ No newline at end of file
......@@ -105,4 +105,8 @@ public interface AnalysisInternationalTaxDataMapper extends MyAnalysisMapper {
* @mbg.generated
*/
int updateByPrimaryKey(AnalysisInternationalTaxData record);
List<String> selectCompanyList(@Param("period") Integer period);
List<String> selectCountryList(@Param("period") Integer period);
}
\ No newline at end of file
package pwc.taxtech.atms.analysis.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import pwc.taxtech.atms.entity.BaseEntity;
/**
*
* This class was generated by MyBatis Generator.
* This class corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated do_not_delete_during_merge
*/
public class AnalysisActualTaxReturn extends BaseEntity implements Serializable {
/**
* Database Column Remarks:
* 唯一编号 系统唯一编号
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.id
*
* @mbg.generated
*/
private Long id;
/**
* Database Column Remarks:
* 机构ID
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.organization_id
*
* @mbg.generated
*/
private String organizationId;
/**
* Database Column Remarks:
* 公司名称
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.company_name
*
* @mbg.generated
*/
private String companyName;
/**
* Database Column Remarks:
* 期间 yyyymm
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.period
*
* @mbg.generated
*/
private Integer period;
/**
* Database Column Remarks:
* 序号 系统生成 主键,由所属期间及公司组成。 122
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.seq_no
*
* @mbg.generated
*/
private String seqNo;
/**
* Database Column Remarks:
* 实际返还税类型
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.tax_return_group
*
* @mbg.generated
*/
private String taxReturnGroup;
/**
* Database Column Remarks:
* 实际返还税额
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.tax_return_amount
*
* @mbg.generated
*/
private BigDecimal taxReturnAmount;
/**
* Database Column Remarks:
* 创建时间
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.create_time
*
* @mbg.generated
*/
private Date createTime;
/**
* Database Column Remarks:
* 更新时间
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_actual_tax_return.update_time
*
* @mbg.generated
*/
private Date updateTime;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
private static final long serialVersionUID = 1L;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.id
*
* @return the value of analysis_actual_tax_return.id
*
* @mbg.generated
*/
public Long getId() {
return id;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.id
*
* @param id the value for analysis_actual_tax_return.id
*
* @mbg.generated
*/
public void setId(Long id) {
this.id = id;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.organization_id
*
* @return the value of analysis_actual_tax_return.organization_id
*
* @mbg.generated
*/
public String getOrganizationId() {
return organizationId;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.organization_id
*
* @param organizationId the value for analysis_actual_tax_return.organization_id
*
* @mbg.generated
*/
public void setOrganizationId(String organizationId) {
this.organizationId = organizationId == null ? null : organizationId.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.company_name
*
* @return the value of analysis_actual_tax_return.company_name
*
* @mbg.generated
*/
public String getCompanyName() {
return companyName;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.company_name
*
* @param companyName the value for analysis_actual_tax_return.company_name
*
* @mbg.generated
*/
public void setCompanyName(String companyName) {
this.companyName = companyName == null ? null : companyName.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.period
*
* @return the value of analysis_actual_tax_return.period
*
* @mbg.generated
*/
public Integer getPeriod() {
return period;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.period
*
* @param period the value for analysis_actual_tax_return.period
*
* @mbg.generated
*/
public void setPeriod(Integer period) {
this.period = period;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.seq_no
*
* @return the value of analysis_actual_tax_return.seq_no
*
* @mbg.generated
*/
public String getSeqNo() {
return seqNo;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.seq_no
*
* @param seqNo the value for analysis_actual_tax_return.seq_no
*
* @mbg.generated
*/
public void setSeqNo(String seqNo) {
this.seqNo = seqNo == null ? null : seqNo.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.tax_return_group
*
* @return the value of analysis_actual_tax_return.tax_return_group
*
* @mbg.generated
*/
public String getTaxReturnGroup() {
return taxReturnGroup;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.tax_return_group
*
* @param taxReturnGroup the value for analysis_actual_tax_return.tax_return_group
*
* @mbg.generated
*/
public void setTaxReturnGroup(String taxReturnGroup) {
this.taxReturnGroup = taxReturnGroup == null ? null : taxReturnGroup.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.tax_return_amount
*
* @return the value of analysis_actual_tax_return.tax_return_amount
*
* @mbg.generated
*/
public BigDecimal getTaxReturnAmount() {
return taxReturnAmount;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.tax_return_amount
*
* @param taxReturnAmount the value for analysis_actual_tax_return.tax_return_amount
*
* @mbg.generated
*/
public void setTaxReturnAmount(BigDecimal taxReturnAmount) {
this.taxReturnAmount = taxReturnAmount;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.create_time
*
* @return the value of analysis_actual_tax_return.create_time
*
* @mbg.generated
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.create_time
*
* @param createTime the value for analysis_actual_tax_return.create_time
*
* @mbg.generated
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_actual_tax_return.update_time
*
* @return the value of analysis_actual_tax_return.update_time
*
* @mbg.generated
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_actual_tax_return.update_time
*
* @param updateTime the value for analysis_actual_tax_return.update_time
*
* @mbg.generated
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", organizationId=").append(organizationId);
sb.append(", companyName=").append(companyName);
sb.append(", period=").append(period);
sb.append(", seqNo=").append(seqNo);
sb.append(", taxReturnGroup=").append(taxReturnGroup);
sb.append(", taxReturnAmount=").append(taxReturnAmount);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append("]");
return sb.toString();
}
}
\ No newline at end of file
package pwc.taxtech.atms.analysis.entity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class AnalysisActualTaxReturnExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public AnalysisActualTaxReturnExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andOrganizationIdIsNull() {
addCriterion("organization_id is null");
return (Criteria) this;
}
public Criteria andOrganizationIdIsNotNull() {
addCriterion("organization_id is not null");
return (Criteria) this;
}
public Criteria andOrganizationIdEqualTo(String value) {
addCriterion("organization_id =", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdNotEqualTo(String value) {
addCriterion("organization_id <>", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdGreaterThan(String value) {
addCriterion("organization_id >", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdGreaterThanOrEqualTo(String value) {
addCriterion("organization_id >=", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdLessThan(String value) {
addCriterion("organization_id <", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdLessThanOrEqualTo(String value) {
addCriterion("organization_id <=", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdLike(String value) {
addCriterion("organization_id like", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdNotLike(String value) {
addCriterion("organization_id not like", value, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdIn(List<String> values) {
addCriterion("organization_id in", values, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdNotIn(List<String> values) {
addCriterion("organization_id not in", values, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdBetween(String value1, String value2) {
addCriterion("organization_id between", value1, value2, "organizationId");
return (Criteria) this;
}
public Criteria andOrganizationIdNotBetween(String value1, String value2) {
addCriterion("organization_id not between", value1, value2, "organizationId");
return (Criteria) this;
}
public Criteria andCompanyNameIsNull() {
addCriterion("company_name is null");
return (Criteria) this;
}
public Criteria andCompanyNameIsNotNull() {
addCriterion("company_name is not null");
return (Criteria) this;
}
public Criteria andCompanyNameEqualTo(String value) {
addCriterion("company_name =", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameNotEqualTo(String value) {
addCriterion("company_name <>", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameGreaterThan(String value) {
addCriterion("company_name >", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameGreaterThanOrEqualTo(String value) {
addCriterion("company_name >=", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameLessThan(String value) {
addCriterion("company_name <", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameLessThanOrEqualTo(String value) {
addCriterion("company_name <=", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameLike(String value) {
addCriterion("company_name like", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameNotLike(String value) {
addCriterion("company_name not like", value, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameIn(List<String> values) {
addCriterion("company_name in", values, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameNotIn(List<String> values) {
addCriterion("company_name not in", values, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameBetween(String value1, String value2) {
addCriterion("company_name between", value1, value2, "companyName");
return (Criteria) this;
}
public Criteria andCompanyNameNotBetween(String value1, String value2) {
addCriterion("company_name not between", value1, value2, "companyName");
return (Criteria) this;
}
public Criteria andPeriodIsNull() {
addCriterion("period is null");
return (Criteria) this;
}
public Criteria andPeriodIsNotNull() {
addCriterion("period is not null");
return (Criteria) this;
}
public Criteria andPeriodEqualTo(Integer value) {
addCriterion("period =", value, "period");
return (Criteria) this;
}
public Criteria andPeriodNotEqualTo(Integer value) {
addCriterion("period <>", value, "period");
return (Criteria) this;
}
public Criteria andPeriodGreaterThan(Integer value) {
addCriterion("period >", value, "period");
return (Criteria) this;
}
public Criteria andPeriodGreaterThanOrEqualTo(Integer value) {
addCriterion("period >=", value, "period");
return (Criteria) this;
}
public Criteria andPeriodLessThan(Integer value) {
addCriterion("period <", value, "period");
return (Criteria) this;
}
public Criteria andPeriodLessThanOrEqualTo(Integer value) {
addCriterion("period <=", value, "period");
return (Criteria) this;
}
public Criteria andPeriodIn(List<Integer> values) {
addCriterion("period in", values, "period");
return (Criteria) this;
}
public Criteria andPeriodNotIn(List<Integer> values) {
addCriterion("period not in", values, "period");
return (Criteria) this;
}
public Criteria andPeriodBetween(Integer value1, Integer value2) {
addCriterion("period between", value1, value2, "period");
return (Criteria) this;
}
public Criteria andPeriodNotBetween(Integer value1, Integer value2) {
addCriterion("period not between", value1, value2, "period");
return (Criteria) this;
}
public Criteria andSeqNoIsNull() {
addCriterion("seq_no is null");
return (Criteria) this;
}
public Criteria andSeqNoIsNotNull() {
addCriterion("seq_no is not null");
return (Criteria) this;
}
public Criteria andSeqNoEqualTo(String value) {
addCriterion("seq_no =", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoNotEqualTo(String value) {
addCriterion("seq_no <>", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoGreaterThan(String value) {
addCriterion("seq_no >", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoGreaterThanOrEqualTo(String value) {
addCriterion("seq_no >=", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoLessThan(String value) {
addCriterion("seq_no <", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoLessThanOrEqualTo(String value) {
addCriterion("seq_no <=", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoLike(String value) {
addCriterion("seq_no like", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoNotLike(String value) {
addCriterion("seq_no not like", value, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoIn(List<String> values) {
addCriterion("seq_no in", values, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoNotIn(List<String> values) {
addCriterion("seq_no not in", values, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoBetween(String value1, String value2) {
addCriterion("seq_no between", value1, value2, "seqNo");
return (Criteria) this;
}
public Criteria andSeqNoNotBetween(String value1, String value2) {
addCriterion("seq_no not between", value1, value2, "seqNo");
return (Criteria) this;
}
public Criteria andTaxReturnGroupIsNull() {
addCriterion("tax_return_group is null");
return (Criteria) this;
}
public Criteria andTaxReturnGroupIsNotNull() {
addCriterion("tax_return_group is not null");
return (Criteria) this;
}
public Criteria andTaxReturnGroupEqualTo(String value) {
addCriterion("tax_return_group =", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupNotEqualTo(String value) {
addCriterion("tax_return_group <>", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupGreaterThan(String value) {
addCriterion("tax_return_group >", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupGreaterThanOrEqualTo(String value) {
addCriterion("tax_return_group >=", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupLessThan(String value) {
addCriterion("tax_return_group <", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupLessThanOrEqualTo(String value) {
addCriterion("tax_return_group <=", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupLike(String value) {
addCriterion("tax_return_group like", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupNotLike(String value) {
addCriterion("tax_return_group not like", value, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupIn(List<String> values) {
addCriterion("tax_return_group in", values, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupNotIn(List<String> values) {
addCriterion("tax_return_group not in", values, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupBetween(String value1, String value2) {
addCriterion("tax_return_group between", value1, value2, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnGroupNotBetween(String value1, String value2) {
addCriterion("tax_return_group not between", value1, value2, "taxReturnGroup");
return (Criteria) this;
}
public Criteria andTaxReturnAmountIsNull() {
addCriterion("tax_return_amount is null");
return (Criteria) this;
}
public Criteria andTaxReturnAmountIsNotNull() {
addCriterion("tax_return_amount is not null");
return (Criteria) this;
}
public Criteria andTaxReturnAmountEqualTo(BigDecimal value) {
addCriterion("tax_return_amount =", value, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountNotEqualTo(BigDecimal value) {
addCriterion("tax_return_amount <>", value, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountGreaterThan(BigDecimal value) {
addCriterion("tax_return_amount >", value, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("tax_return_amount >=", value, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountLessThan(BigDecimal value) {
addCriterion("tax_return_amount <", value, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("tax_return_amount <=", value, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountIn(List<BigDecimal> values) {
addCriterion("tax_return_amount in", values, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountNotIn(List<BigDecimal> values) {
addCriterion("tax_return_amount not in", values, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("tax_return_amount between", value1, value2, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andTaxReturnAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("tax_return_amount not between", value1, value2, "taxReturnAmount");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table analysis_actual_tax_return
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}
\ No newline at end of file
......@@ -68,6 +68,17 @@ public class AnalysisEmployeeNum extends BaseEntity implements Serializable {
*/
private BigDecimal vendorAmount;
/**
* Database Column Remarks:
* 总计
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_employee_num.total_amount
*
* @mbg.generated
*/
private BigDecimal totalAmount;
/**
* Database Column Remarks:
* 创建时间
......@@ -251,6 +262,30 @@ public class AnalysisEmployeeNum extends BaseEntity implements Serializable {
this.vendorAmount = vendorAmount;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_employee_num.total_amount
*
* @return the value of analysis_employee_num.total_amount
*
* @mbg.generated
*/
public BigDecimal getTotalAmount() {
return totalAmount;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_employee_num.total_amount
*
* @param totalAmount the value for analysis_employee_num.total_amount
*
* @mbg.generated
*/
public void setTotalAmount(BigDecimal totalAmount) {
this.totalAmount = totalAmount;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_employee_num.create_time
......@@ -388,6 +423,7 @@ public class AnalysisEmployeeNum extends BaseEntity implements Serializable {
sb.append(", fullTimeAmount=").append(fullTimeAmount);
sb.append(", internAmount=").append(internAmount);
sb.append(", vendorAmount=").append(vendorAmount);
sb.append(", totalAmount=").append(totalAmount);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", organizationId=").append(organizationId);
......
......@@ -506,6 +506,66 @@ public class AnalysisEmployeeNumExample {
return (Criteria) this;
}
public Criteria andTotalAmountIsNull() {
addCriterion("total_amount is null");
return (Criteria) this;
}
public Criteria andTotalAmountIsNotNull() {
addCriterion("total_amount is not null");
return (Criteria) this;
}
public Criteria andTotalAmountEqualTo(BigDecimal value) {
addCriterion("total_amount =", value, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountNotEqualTo(BigDecimal value) {
addCriterion("total_amount <>", value, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountGreaterThan(BigDecimal value) {
addCriterion("total_amount >", value, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("total_amount >=", value, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountLessThan(BigDecimal value) {
addCriterion("total_amount <", value, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("total_amount <=", value, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountIn(List<BigDecimal> values) {
addCriterion("total_amount in", values, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountNotIn(List<BigDecimal> values) {
addCriterion("total_amount not in", values, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("total_amount between", value1, value2, "totalAmount");
return (Criteria) this;
}
public Criteria andTotalAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("total_amount not between", value1, value2, "totalAmount");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
......
......@@ -101,6 +101,15 @@ public class AnalysisInternationalBusinessData extends BaseEntity implements Ser
*/
private BigDecimal profit;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_international_business_data.exchange_rate
*
* @mbg.generated
*/
private BigDecimal exchangeRate;
/**
* Database Column Remarks:
* 创建时间
......@@ -156,6 +165,17 @@ public class AnalysisInternationalBusinessData extends BaseEntity implements Ser
*/
private Integer period;
/**
* Database Column Remarks:
* 国家
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_international_business_data.country
*
* @mbg.generated
*/
private String country;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table analysis_international_business_data
......@@ -356,6 +376,30 @@ public class AnalysisInternationalBusinessData extends BaseEntity implements Ser
this.profit = profit;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_international_business_data.exchange_rate
*
* @return the value of analysis_international_business_data.exchange_rate
*
* @mbg.generated
*/
public BigDecimal getExchangeRate() {
return exchangeRate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_international_business_data.exchange_rate
*
* @param exchangeRate the value for analysis_international_business_data.exchange_rate
*
* @mbg.generated
*/
public void setExchangeRate(BigDecimal exchangeRate) {
this.exchangeRate = exchangeRate;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_international_business_data.create_time
......@@ -476,6 +520,30 @@ public class AnalysisInternationalBusinessData extends BaseEntity implements Ser
this.period = period;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_international_business_data.country
*
* @return the value of analysis_international_business_data.country
*
* @mbg.generated
*/
public String getCountry() {
return country;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_international_business_data.country
*
* @param country the value for analysis_international_business_data.country
*
* @mbg.generated
*/
public void setCountry(String country) {
this.country = country == null ? null : country.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_international_business_data
......@@ -496,11 +564,13 @@ public class AnalysisInternationalBusinessData extends BaseEntity implements Ser
sb.append(", subsidyC=").append(subsidyC);
sb.append(", revenue=").append(revenue);
sb.append(", profit=").append(profit);
sb.append(", exchangeRate=").append(exchangeRate);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", organizationId=").append(organizationId);
sb.append(", companyName=").append(companyName);
sb.append(", period=").append(period);
sb.append(", country=").append(country);
sb.append("]");
return sb.toString();
}
......
......@@ -686,6 +686,66 @@ public class AnalysisInternationalBusinessDataExample {
return (Criteria) this;
}
public Criteria andExchangeRateIsNull() {
addCriterion("exchange_rate is null");
return (Criteria) this;
}
public Criteria andExchangeRateIsNotNull() {
addCriterion("exchange_rate is not null");
return (Criteria) this;
}
public Criteria andExchangeRateEqualTo(BigDecimal value) {
addCriterion("exchange_rate =", value, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateNotEqualTo(BigDecimal value) {
addCriterion("exchange_rate <>", value, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateGreaterThan(BigDecimal value) {
addCriterion("exchange_rate >", value, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("exchange_rate >=", value, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateLessThan(BigDecimal value) {
addCriterion("exchange_rate <", value, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateLessThanOrEqualTo(BigDecimal value) {
addCriterion("exchange_rate <=", value, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateIn(List<BigDecimal> values) {
addCriterion("exchange_rate in", values, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateNotIn(List<BigDecimal> values) {
addCriterion("exchange_rate not in", values, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("exchange_rate between", value1, value2, "exchangeRate");
return (Criteria) this;
}
public Criteria andExchangeRateNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("exchange_rate not between", value1, value2, "exchangeRate");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
......@@ -1005,6 +1065,76 @@ public class AnalysisInternationalBusinessDataExample {
addCriterion("period not between", value1, value2, "period");
return (Criteria) this;
}
public Criteria andCountryIsNull() {
addCriterion("country is null");
return (Criteria) this;
}
public Criteria andCountryIsNotNull() {
addCriterion("country is not null");
return (Criteria) this;
}
public Criteria andCountryEqualTo(String value) {
addCriterion("country =", value, "country");
return (Criteria) this;
}
public Criteria andCountryNotEqualTo(String value) {
addCriterion("country <>", value, "country");
return (Criteria) this;
}
public Criteria andCountryGreaterThan(String value) {
addCriterion("country >", value, "country");
return (Criteria) this;
}
public Criteria andCountryGreaterThanOrEqualTo(String value) {
addCriterion("country >=", value, "country");
return (Criteria) this;
}
public Criteria andCountryLessThan(String value) {
addCriterion("country <", value, "country");
return (Criteria) this;
}
public Criteria andCountryLessThanOrEqualTo(String value) {
addCriterion("country <=", value, "country");
return (Criteria) this;
}
public Criteria andCountryLike(String value) {
addCriterion("country like", value, "country");
return (Criteria) this;
}
public Criteria andCountryNotLike(String value) {
addCriterion("country not like", value, "country");
return (Criteria) this;
}
public Criteria andCountryIn(List<String> values) {
addCriterion("country in", values, "country");
return (Criteria) this;
}
public Criteria andCountryNotIn(List<String> values) {
addCriterion("country not in", values, "country");
return (Criteria) this;
}
public Criteria andCountryBetween(String value1, String value2) {
addCriterion("country between", value1, value2, "country");
return (Criteria) this;
}
public Criteria andCountryNotBetween(String value1, String value2) {
addCriterion("country not between", value1, value2, "country");
return (Criteria) this;
}
}
/**
......
......@@ -123,6 +123,17 @@ public class AnalysisInternationalTaxData extends BaseEntity implements Serializ
*/
private Integer period;
/**
* Database Column Remarks:
* 国家
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column analysis_international_tax_data.country
*
* @mbg.generated
*/
private String country;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table analysis_international_tax_data
......@@ -371,6 +382,30 @@ public class AnalysisInternationalTaxData extends BaseEntity implements Serializ
this.period = period;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column analysis_international_tax_data.country
*
* @return the value of analysis_international_tax_data.country
*
* @mbg.generated
*/
public String getCountry() {
return country;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column analysis_international_tax_data.country
*
* @param country the value for analysis_international_tax_data.country
*
* @mbg.generated
*/
public void setCountry(String country) {
this.country = country == null ? null : country.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table analysis_international_tax_data
......@@ -393,6 +428,7 @@ public class AnalysisInternationalTaxData extends BaseEntity implements Serializ
sb.append(", organizationId=").append(organizationId);
sb.append(", companyName=").append(companyName);
sb.append(", period=").append(period);
sb.append(", country=").append(country);
sb.append("]");
return sb.toString();
}
......
......@@ -845,6 +845,76 @@ public class AnalysisInternationalTaxDataExample {
addCriterion("period not between", value1, value2, "period");
return (Criteria) this;
}
public Criteria andCountryIsNull() {
addCriterion("country is null");
return (Criteria) this;
}
public Criteria andCountryIsNotNull() {
addCriterion("country is not null");
return (Criteria) this;
}
public Criteria andCountryEqualTo(String value) {
addCriterion("country =", value, "country");
return (Criteria) this;
}
public Criteria andCountryNotEqualTo(String value) {
addCriterion("country <>", value, "country");
return (Criteria) this;
}
public Criteria andCountryGreaterThan(String value) {
addCriterion("country >", value, "country");
return (Criteria) this;
}
public Criteria andCountryGreaterThanOrEqualTo(String value) {
addCriterion("country >=", value, "country");
return (Criteria) this;
}
public Criteria andCountryLessThan(String value) {
addCriterion("country <", value, "country");
return (Criteria) this;
}
public Criteria andCountryLessThanOrEqualTo(String value) {
addCriterion("country <=", value, "country");
return (Criteria) this;
}
public Criteria andCountryLike(String value) {
addCriterion("country like", value, "country");
return (Criteria) this;
}
public Criteria andCountryNotLike(String value) {
addCriterion("country not like", value, "country");
return (Criteria) this;
}
public Criteria andCountryIn(List<String> values) {
addCriterion("country in", values, "country");
return (Criteria) this;
}
public Criteria andCountryNotIn(List<String> values) {
addCriterion("country not in", values, "country");
return (Criteria) this;
}
public Criteria andCountryBetween(String value1, String value2) {
addCriterion("country between", value1, value2, "country");
return (Criteria) this;
}
public Criteria andCountryNotBetween(String value1, String value2) {
addCriterion("country not between", value1, value2, "country");
return (Criteria) this;
}
}
/**
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pwc.taxtech.atms.analysis.dao.AnalysisActualTaxReturnMapper">
<resultMap id="BaseResultMap" type="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturn">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
<result column="company_name" jdbcType="VARCHAR" property="companyName" />
<result column="period" jdbcType="INTEGER" property="period" />
<result column="seq_no" jdbcType="VARCHAR" property="seqNo" />
<result column="tax_return_group" jdbcType="VARCHAR" property="taxReturnGroup" />
<result column="tax_return_amount" jdbcType="DECIMAL" property="taxReturnAmount" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Example_Where_Clause">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, organization_id, company_name, period, seq_no, tax_return_group, tax_return_amount,
create_time, update_time
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturnExample" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from analysis_actual_tax_return
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
select
<include refid="Base_Column_List" />
from analysis_actual_tax_return
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
delete from analysis_actual_tax_return
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturnExample">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
delete from analysis_actual_tax_return
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturn">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into analysis_actual_tax_return (id, organization_id, company_name,
period, seq_no, tax_return_group,
tax_return_amount, create_time, update_time
)
values (#{id,jdbcType=BIGINT}, #{organizationId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR},
#{period,jdbcType=INTEGER}, #{seqNo,jdbcType=VARCHAR}, #{taxReturnGroup,jdbcType=VARCHAR},
#{taxReturnAmount,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturn">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into analysis_actual_tax_return
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="organizationId != null">
organization_id,
</if>
<if test="companyName != null">
company_name,
</if>
<if test="period != null">
period,
</if>
<if test="seqNo != null">
seq_no,
</if>
<if test="taxReturnGroup != null">
tax_return_group,
</if>
<if test="taxReturnAmount != null">
tax_return_amount,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="organizationId != null">
#{organizationId,jdbcType=VARCHAR},
</if>
<if test="companyName != null">
#{companyName,jdbcType=VARCHAR},
</if>
<if test="period != null">
#{period,jdbcType=INTEGER},
</if>
<if test="seqNo != null">
#{seqNo,jdbcType=VARCHAR},
</if>
<if test="taxReturnGroup != null">
#{taxReturnGroup,jdbcType=VARCHAR},
</if>
<if test="taxReturnAmount != null">
#{taxReturnAmount,jdbcType=DECIMAL},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturnExample" resultType="java.lang.Long">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
select count(*) from analysis_actual_tax_return
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
update analysis_actual_tax_return
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.organizationId != null">
organization_id = #{record.organizationId,jdbcType=VARCHAR},
</if>
<if test="record.companyName != null">
company_name = #{record.companyName,jdbcType=VARCHAR},
</if>
<if test="record.period != null">
period = #{record.period,jdbcType=INTEGER},
</if>
<if test="record.seqNo != null">
seq_no = #{record.seqNo,jdbcType=VARCHAR},
</if>
<if test="record.taxReturnGroup != null">
tax_return_group = #{record.taxReturnGroup,jdbcType=VARCHAR},
</if>
<if test="record.taxReturnAmount != null">
tax_return_amount = #{record.taxReturnAmount,jdbcType=DECIMAL},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
update analysis_actual_tax_return
set id = #{record.id,jdbcType=BIGINT},
organization_id = #{record.organizationId,jdbcType=VARCHAR},
company_name = #{record.companyName,jdbcType=VARCHAR},
period = #{record.period,jdbcType=INTEGER},
seq_no = #{record.seqNo,jdbcType=VARCHAR},
tax_return_group = #{record.taxReturnGroup,jdbcType=VARCHAR},
tax_return_amount = #{record.taxReturnAmount,jdbcType=DECIMAL},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturn">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
update analysis_actual_tax_return
<set>
<if test="organizationId != null">
organization_id = #{organizationId,jdbcType=VARCHAR},
</if>
<if test="companyName != null">
company_name = #{companyName,jdbcType=VARCHAR},
</if>
<if test="period != null">
period = #{period,jdbcType=INTEGER},
</if>
<if test="seqNo != null">
seq_no = #{seqNo,jdbcType=VARCHAR},
</if>
<if test="taxReturnGroup != null">
tax_return_group = #{taxReturnGroup,jdbcType=VARCHAR},
</if>
<if test="taxReturnAmount != null">
tax_return_amount = #{taxReturnAmount,jdbcType=DECIMAL},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturn">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
update analysis_actual_tax_return
set organization_id = #{organizationId,jdbcType=VARCHAR},
company_name = #{companyName,jdbcType=VARCHAR},
period = #{period,jdbcType=INTEGER},
seq_no = #{seqNo,jdbcType=VARCHAR},
tax_return_group = #{taxReturnGroup,jdbcType=VARCHAR},
tax_return_amount = #{taxReturnAmount,jdbcType=DECIMAL},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectByExampleWithRowbounds" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisActualTaxReturnExample" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from analysis_actual_tax_return
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -11,6 +11,7 @@
<result column="full_time_amount" jdbcType="DECIMAL" property="fullTimeAmount" />
<result column="intern_amount" jdbcType="DECIMAL" property="internAmount" />
<result column="vendor_amount" jdbcType="DECIMAL" property="vendorAmount" />
<result column="total_amount" jdbcType="DECIMAL" property="totalAmount" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
......@@ -88,8 +89,8 @@
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, seq_no, full_time_amount, intern_amount, vendor_amount, create_time, update_time,
organization_id, company_name, period
id, seq_no, full_time_amount, intern_amount, vendor_amount, total_amount, create_time,
update_time, organization_id, company_name, period
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisEmployeeNumExample" resultMap="BaseResultMap">
<!--
......@@ -143,13 +144,13 @@
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into analysis_employee_num (id, seq_no, full_time_amount,
intern_amount, vendor_amount, create_time,
update_time, organization_id, company_name,
period)
intern_amount, vendor_amount, total_amount,
create_time, update_time, organization_id,
company_name, period)
values (#{id,jdbcType=BIGINT}, #{seqNo,jdbcType=VARCHAR}, #{fullTimeAmount,jdbcType=DECIMAL},
#{internAmount,jdbcType=DECIMAL}, #{vendorAmount,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{organizationId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR},
#{period,jdbcType=INTEGER})
#{internAmount,jdbcType=DECIMAL}, #{vendorAmount,jdbcType=DECIMAL}, #{totalAmount,jdbcType=DECIMAL},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{organizationId,jdbcType=VARCHAR},
#{companyName,jdbcType=VARCHAR}, #{period,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisEmployeeNum">
<!--
......@@ -173,6 +174,9 @@
<if test="vendorAmount != null">
vendor_amount,
</if>
<if test="totalAmount != null">
total_amount,
</if>
<if test="createTime != null">
create_time,
</if>
......@@ -205,6 +209,9 @@
<if test="vendorAmount != null">
#{vendorAmount,jdbcType=DECIMAL},
</if>
<if test="totalAmount != null">
#{totalAmount,jdbcType=DECIMAL},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -254,6 +261,9 @@
<if test="record.vendorAmount != null">
vendor_amount = #{record.vendorAmount,jdbcType=DECIMAL},
</if>
<if test="record.totalAmount != null">
total_amount = #{record.totalAmount,jdbcType=DECIMAL},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
......@@ -285,6 +295,7 @@
full_time_amount = #{record.fullTimeAmount,jdbcType=DECIMAL},
intern_amount = #{record.internAmount,jdbcType=DECIMAL},
vendor_amount = #{record.vendorAmount,jdbcType=DECIMAL},
total_amount = #{record.totalAmount,jdbcType=DECIMAL},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
organization_id = #{record.organizationId,jdbcType=VARCHAR},
......@@ -313,6 +324,9 @@
<if test="vendorAmount != null">
vendor_amount = #{vendorAmount,jdbcType=DECIMAL},
</if>
<if test="totalAmount != null">
total_amount = #{totalAmount,jdbcType=DECIMAL},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -341,6 +355,7 @@
full_time_amount = #{fullTimeAmount,jdbcType=DECIMAL},
intern_amount = #{internAmount,jdbcType=DECIMAL},
vendor_amount = #{vendorAmount,jdbcType=DECIMAL},
total_amount = #{totalAmount,jdbcType=DECIMAL},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
organization_id = #{organizationId,jdbcType=VARCHAR},
......
......@@ -14,11 +14,13 @@
<result column="subsidy_c" jdbcType="DECIMAL" property="subsidyC" />
<result column="revenue" jdbcType="DECIMAL" property="revenue" />
<result column="profit" jdbcType="DECIMAL" property="profit" />
<result column="exchange_rate" jdbcType="DECIMAL" property="exchangeRate" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
<result column="company_name" jdbcType="VARCHAR" property="companyName" />
<result column="period" jdbcType="INTEGER" property="period" />
<result column="country" jdbcType="VARCHAR" property="country" />
</resultMap>
<sql id="Example_Where_Clause">
<!--
......@@ -91,8 +93,8 @@
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, seq_no, gmv, trips, subsidy_b, subsidy_c, revenue, profit, create_time, update_time,
organization_id, company_name, period
id, seq_no, gmv, trips, subsidy_b, subsidy_c, revenue, profit, exchange_rate, create_time,
update_time, organization_id, company_name, period, country
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalBusinessDataExample" resultMap="BaseResultMap">
<!--
......@@ -147,14 +149,16 @@
-->
insert into analysis_international_business_data (id, seq_no, gmv,
trips, subsidy_b, subsidy_c,
revenue, profit, create_time,
update_time, organization_id, company_name,
period)
revenue, profit, exchange_rate,
create_time, update_time, organization_id,
company_name, period, country
)
values (#{id,jdbcType=BIGINT}, #{seqNo,jdbcType=VARCHAR}, #{gmv,jdbcType=DECIMAL},
#{trips,jdbcType=DECIMAL}, #{subsidyB,jdbcType=DECIMAL}, #{subsidyC,jdbcType=DECIMAL},
#{revenue,jdbcType=DECIMAL}, #{profit,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{organizationId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR},
#{period,jdbcType=INTEGER})
#{revenue,jdbcType=DECIMAL}, #{profit,jdbcType=DECIMAL}, #{exchangeRate,jdbcType=DECIMAL},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{organizationId,jdbcType=VARCHAR},
#{companyName,jdbcType=VARCHAR}, #{period,jdbcType=INTEGER}, #{country,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalBusinessData">
<!--
......@@ -187,6 +191,9 @@
<if test="profit != null">
profit,
</if>
<if test="exchangeRate != null">
exchange_rate,
</if>
<if test="createTime != null">
create_time,
</if>
......@@ -202,6 +209,9 @@
<if test="period != null">
period,
</if>
<if test="country != null">
country,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
......@@ -228,6 +238,9 @@
<if test="profit != null">
#{profit,jdbcType=DECIMAL},
</if>
<if test="exchangeRate != null">
#{exchangeRate,jdbcType=DECIMAL},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -243,6 +256,9 @@
<if test="period != null">
#{period,jdbcType=INTEGER},
</if>
<if test="country != null">
#{country,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalBusinessDataExample" resultType="java.lang.Long">
......@@ -286,6 +302,9 @@
<if test="record.profit != null">
profit = #{record.profit,jdbcType=DECIMAL},
</if>
<if test="record.exchangeRate != null">
exchange_rate = #{record.exchangeRate,jdbcType=DECIMAL},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
......@@ -301,6 +320,9 @@
<if test="record.period != null">
period = #{record.period,jdbcType=INTEGER},
</if>
<if test="record.country != null">
country = #{record.country,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
......@@ -320,11 +342,13 @@
subsidy_c = #{record.subsidyC,jdbcType=DECIMAL},
revenue = #{record.revenue,jdbcType=DECIMAL},
profit = #{record.profit,jdbcType=DECIMAL},
exchange_rate = #{record.exchangeRate,jdbcType=DECIMAL},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
organization_id = #{record.organizationId,jdbcType=VARCHAR},
company_name = #{record.companyName,jdbcType=VARCHAR},
period = #{record.period,jdbcType=INTEGER}
period = #{record.period,jdbcType=INTEGER},
country = #{record.country,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
......@@ -357,6 +381,9 @@
<if test="profit != null">
profit = #{profit,jdbcType=DECIMAL},
</if>
<if test="exchangeRate != null">
exchange_rate = #{exchangeRate,jdbcType=DECIMAL},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -372,6 +399,9 @@
<if test="period != null">
period = #{period,jdbcType=INTEGER},
</if>
<if test="country != null">
country = #{country,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
......@@ -388,11 +418,13 @@
subsidy_c = #{subsidyC,jdbcType=DECIMAL},
revenue = #{revenue,jdbcType=DECIMAL},
profit = #{profit,jdbcType=DECIMAL},
exchange_rate = #{exchangeRate,jdbcType=DECIMAL},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
organization_id = #{organizationId,jdbcType=VARCHAR},
company_name = #{companyName,jdbcType=VARCHAR},
period = #{period,jdbcType=INTEGER}
period = #{period,jdbcType=INTEGER},
country = #{country,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectByExampleWithRowbounds" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalBusinessDataExample" resultMap="BaseResultMap">
......
......@@ -16,6 +16,7 @@
<result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
<result column="company_name" jdbcType="VARCHAR" property="companyName" />
<result column="period" jdbcType="INTEGER" property="period" />
<result column="country" jdbcType="VARCHAR" property="country" />
</resultMap>
<sql id="Example_Where_Clause">
<!--
......@@ -89,7 +90,7 @@
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, seq_no, tax_category, tax_type, tax_amount, create_time, update_time, organization_id,
company_name, period
company_name, period, country
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalTaxDataExample" resultMap="BaseResultMap">
<!--
......@@ -145,11 +146,11 @@
insert into analysis_international_tax_data (id, seq_no, tax_category,
tax_type, tax_amount, create_time,
update_time, organization_id, company_name,
period)
period, country)
values (#{id,jdbcType=BIGINT}, #{seqNo,jdbcType=VARCHAR}, #{taxCategory,jdbcType=VARCHAR},
#{taxType,jdbcType=VARCHAR}, #{taxAmount,jdbcType=DECIMAL}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{organizationId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR},
#{period,jdbcType=INTEGER})
#{period,jdbcType=INTEGER}, #{country,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalTaxData">
<!--
......@@ -188,6 +189,9 @@
<if test="period != null">
period,
</if>
<if test="country != null">
country,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
......@@ -220,6 +224,9 @@
<if test="period != null">
#{period,jdbcType=INTEGER},
</if>
<if test="country != null">
#{country,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalTaxDataExample" resultType="java.lang.Long">
......@@ -269,6 +276,9 @@
<if test="record.period != null">
period = #{record.period,jdbcType=INTEGER},
</if>
<if test="record.country != null">
country = #{record.country,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
......@@ -289,7 +299,8 @@
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
organization_id = #{record.organizationId,jdbcType=VARCHAR},
company_name = #{record.companyName,jdbcType=VARCHAR},
period = #{record.period,jdbcType=INTEGER}
period = #{record.period,jdbcType=INTEGER},
country = #{record.country,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
......@@ -328,6 +339,9 @@
<if test="period != null">
period = #{period,jdbcType=INTEGER},
</if>
<if test="country != null">
country = #{country,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
......@@ -345,7 +359,8 @@
update_time = #{updateTime,jdbcType=TIMESTAMP},
organization_id = #{organizationId,jdbcType=VARCHAR},
company_name = #{companyName,jdbcType=VARCHAR},
period = #{period,jdbcType=INTEGER}
period = #{period,jdbcType=INTEGER},
country = #{country,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectByExampleWithRowbounds" parameterType="pwc.taxtech.atms.analysis.entity.AnalysisInternationalTaxDataExample" resultMap="BaseResultMap">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pwc.taxtech.atms.analysis.dao.AnalysisInternationalBusinessDataMapper">
<select id="selectCompanyList" parameterType="java.lang.Integer" resultType="java.lang.String">
select DISTINCT company_name
FROM analysis_international_business_data aibd
WHERE
period = #{period,jdbcType=INTEGER}
</select>
<select id="selectCountryList" parameterType="java.lang.Integer" resultType="java.lang.String">
select DISTINCT country
FROM analysis_international_business_data aibd
WHERE
period = #{period,jdbcType=INTEGER}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pwc.taxtech.atms.analysis.dao.AnalysisInternationalTaxDataMapper">
<select id="selectCompanyList" parameterType="java.lang.Integer" resultType="java.lang.String">
select DISTINCT company_name
FROM analysis_international_tax_data aitd
WHERE
aitd.period = #{period,jdbcType=INTEGER}
</select>
<select id="selectCountryList" parameterType="java.lang.Integer" resultType="java.lang.String">
select DISTINCT country
FROM analysis_international_tax_data aitd
WHERE
aitd.period = #{period,jdbcType=INTEGER}
</select>
</mapper>
\ No newline at end of file
......@@ -1901,6 +1901,39 @@
"GMVSubsidy": "GMV and Subsidy",
"EmployeeNum": "Employee Num",
"DriverNum": "Driver Num",
"BUData": "业务数据",
"TaxData": "税务数据",
"FullTimeAmount": "Full Time Amount",
"InternAmount": "Intern Amount",
"VendorAmount": "Vendor Amount",
"EmployeeTotalAmount": "Total Amount",
"BusinessLine": "Business Line",
"OrderChainRatio": "Order Chain Ratio",
"GmvChainRatio": "GMV Chain Ratio",
"BSubsidyRate": "B Subsidy Rate",
"BEndLinkRatio": "B End Link Ratio",
"CSubsidyRate": "C Subsidy Rate",
"CEndLinkRatio": "C End Link Ratio",
"BuildingTax": "Building Tax",
"EducationSurcharge": "Education Surcharge",
"UrbanEducationSurcharge": "Urban Education Surcharge",
"EmployeeTax": "Employee Tax",
"DriverTax": "Driver Tax",
"StampDuty": "Stamp Duty",
"VATRefund": "VAT Refund",
"UrbanConstructionTaxRefund": "UrbanConstruction Tax Refund",
"EducationFeeSurcharge": "Education Fee Surcharge",
"LocalEducationFeeSurcharge": "Local Education Fee Surcharge",
"PersonalIncomeTaxReturn": "Personal Income Tax Return",
"Country": "Country",
"Company": "Company",
"CompanySimpleName": "Company Simple Name",
"~MustBeEndOneApp": "I Must be the End One, please!"
}
\ No newline at end of file
......@@ -2237,6 +2237,39 @@
"GMVSubsidy": "业务线GMV及补贴统计",
"EmployeeNum": "职工人数",
"DriverNum": "司机人数",
"BUData": "业务数据",
"TaxData": "税务数据",
"FullTimeAmount": "正式员工",
"InternAmount": "实习生",
"VendorAmount": "外包",
"EmployeeTotalAmount": "合计",
"BusinessLine": "业务线",
"OrderChainRatio": "订单环比",
"GmvChainRatio": "GMV环比",
"BSubsidyRate": "B端补贴率",
"BEndLinkRatio": "B端环比",
"CSubsidyRate": "C端补贴率",
"CEndLinkRatio": "C端环比",
"BuildingTax": "城建税",
"EducationSurcharge": "教育费附加",
"UrbanEducationSurcharge": "城市教育费附加",
"EmployeeTax": "员工个税",
"DriverTax": "司机个税",
"StampDuty": "印花税",
"VATRefund": "增值税返还",
"UrbanConstructionTaxRefund": "城建税返还",
"EducationFeeSurcharge": "教育费附加返还",
"LocalEducationFeeSurcharge": "地方教育费附加返还",
"PersonalIncomeTaxReturn": "个人所得税返还",
"Country": "国家",
"Company": "公司",
"CompanySimpleName": "公司简称",
"~MustBeEndOneApp": "我必须是最后一个!"
}
......@@ -30,11 +30,11 @@
$scope.showTotalSecondRow = false;
$scope.importExcelFileUrlList = {
taxData : apiInterceptor.webApiHostUrl + '/DataImport/Analysis/DomesitcExcelFile',
returnTax : apiInterceptor.webApiHostUrl + '/DataImport/Analysis/DomesitcExcelFile',
gmvSubsidy : apiInterceptor.webApiHostUrl + '/DataImport/Analysis/DomesitcExcelFile',
employeeNum : apiInterceptor.webApiHostUrl + '/DataImport/Analysis/DomesitcExcelFile',
driverNum : apiInterceptor.webApiHostUrl + '/DataImport/Analysis/DomesitcExcelFile'
taxData : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
returnTax : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
gmvSubsidy : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
employeeNum : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
driverNum : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile'
};
$scope.maxTitleLength = constant.maxButtonTitleLength;
......@@ -57,14 +57,18 @@
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth()+1;
$scope.selectedDate = new Date(year,month,1);
$scope.selectedDate = new Date(year,date.getMonth(),1);
$scope.startDate = new Date(year - 20, 1, 1);
$scope.endDate = new Date(year + 20, 1, 1);
$scope.viewMode = 1;
$scope.dateFormat = $translate.instant('dateFormat4YearMonth');
$scope.importExcelFile = null;
$scope.UploadPeriodTime = year+"-"+month;
if(month.length<2){
$scope.UploadPeriodTime = year+" - 0"+month;
}else{
$scope.UploadPeriodTime = year+" - "+month;
}
//写日志
var logDto = {
......@@ -117,16 +121,20 @@
};
var downloadTemplate = function () {
templateService.downloadAnalysisTemplate($scope.importType).success(function (data, status, headers,request) {
debugger;
var fileName = request.getResponseHeader("fileName");
templateService.downloadAnalysisTemplate($scope.importType).success(function (data, status, headers) {
var fileName = '';
constant.anlTemplateNameList.forEach(function (m) {
if (m.code === $scope.importType) {
fileName = m.name;
}
});
var octetStreamMime = 'application/octet-stream';
var contentType = headers('content-type') || octetStreamMime;
if (window.navigator.msSaveBlob) {
var blob = new Blob([data], {
type: contentType
});
navigator.msSaveBlob(blob, $scope.selectType);
navigator.msSaveBlob(blob, fileName);
} else {
var urlCreator = window.URL || window.webkitURL || window.mozURL || window.msURL;
if (urlCreator) {
......@@ -137,7 +145,7 @@
var url = urlCreator.createObjectURL(blob);
a.href = url;
a.target = '_blank';
a.download = $scope.selectType+".xlsx";
a.download = fileName+".xlsx";
document.body.appendChild(a);
a.click();
}
......@@ -277,54 +285,44 @@
},
showBorders: true,
columns: [{
dataField: "id",
visible: false,
allowHeaderFiltering: false,
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '15%',
dataField: "companyName",
width: '28%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
caption: $translate.instant('CompanySimpleName')
}, {
dataField: "companyCode",
dataField: "segment1",
allowHeaderFiltering: false,
caption: $translate.instant('CompanyCode'),
width: '15%'
caption: $translate.instant('BuildingTax'),
width: '12%'
}, {
dataField: "companyName",
dataField: "segment2",
allowHeaderFiltering: false,
width: '27%',
caption: $translate.instant('CompanyName')
width: '12%',
caption: $translate.instant('EducationSurcharge')
}, {
dataField: "periodYear",
dataField: "segment3",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('YearPeriod')
width: '12%',
caption: $translate.instant('UrbanEducationSurcharge')
}, {
dataField: "periodMonth",
dataField: "segment4",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('TMSPeriod')
width: '12%',
caption: $translate.instant('EmployeeTax')
}, {
dataField: "periodMonth",
dataField: "segment5",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
width: '12%',
caption: $translate.instant('DriverTax')
}, {
dataField: "recordSize",
dataField: "segment6",
allowHeaderFiltering: false,
width: '8%',
caption: $translate.instant('RecordSize')
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('Status')
width: '12%',
caption: $translate.instant('StampDuty')
}
],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
$scope.taxInstance = e.component;
var totalCount = e.component.totalCount();
if (totalCount > 0) {
$scope.totalCount = totalCount;
......@@ -371,7 +369,7 @@
var getImportTax = function () {
vatImportService.displayAnalysisImportData($scope.importType,$scope.UploadPeriodTime).success(function (data) {
if (data.data) {
$scope.taxGridSource = data.data;
$scope.taxGridSource = data.data[0];
}else {
SweetAlert.error($translate.instant('SystemError'));
}
......@@ -385,52 +383,36 @@
},
showBorders: true,
columns: [{
dataField: "id",
visible: false,
allowHeaderFiltering: false,
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
}, {
dataField: "companyCode",
allowHeaderFiltering: false,
caption: $translate.instant('CompanyCode'),
width: '15%'
}, {
dataField: "companyName",
width: '25%',
allowHeaderFiltering: false,
width: '27%',
caption: $translate.instant('CompanyName')
caption: $translate.instant('CompanySimpleName')
}, {
dataField: "periodYear",
dataField: "segment1",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('YearPeriod')
caption: $translate.instant('VATRefund'),
width: '15%'
}, {
dataField: "periodMonth",
dataField: "segment2",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('TMSPeriod')
width: '15%',
caption: $translate.instant('UrbanConstructionTaxRefund')
}, {
dataField: "periodMonth",
dataField: "segment3",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
width: '15%',
caption: $translate.instant('EducationFeeSurcharge')
}, {
dataField: "recordSize",
dataField: "segment4",
allowHeaderFiltering: false,
width: '8%',
caption: $translate.instant('RecordSize')
width: '15%',
caption: $translate.instant('LocalEducationFeeSurcharge')
}, {
dataField: "errorMsg",
dataField: "segment5",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('Status')
}
],
caption: $translate.instant('PersonalIncomeTaxReturn')
}],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
var totalCount = e.component.totalCount();
......@@ -479,7 +461,7 @@
var getImportReturnTax = function () {
vatImportService.displayAnalysisImportData($scope.importType,$scope.UploadPeriodTime).success(function (data) {
if (data.data) {
$scope.returnTaxGridSource = data.data;
$scope.returnTaxGridSource = data.data[0];
}else {
SweetAlert.error($translate.instant('SystemError'));
}
......@@ -493,54 +475,43 @@
},
showBorders: true,
columns: [{
dataField: "id",
visible: false,
dataField: "businessLine",
width: '28%',
allowHeaderFiltering: false,
caption: $translate.instant('id')
caption: $translate.instant('BusinessLine')
}, {
dataField: "taxpayerIdNum",
width: '15%',
dataField: "segment1",
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
caption: $translate.instant('OrderChainRatio'),
width: '12%'
}, {
dataField: "companyCode",
dataField: "segment2",
allowHeaderFiltering: false,
caption: $translate.instant('CompanyCode'),
width: '15%'
width: '12%',
caption: $translate.instant('GmvChainRatio')
}, {
dataField: "companyName",
dataField: "segment3",
allowHeaderFiltering: false,
width: '27%',
caption: $translate.instant('CompanyName')
}, {
dataField: "periodYear",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('TMSPeriod')
width: '12%',
caption: $translate.instant('BSubsidyRate')
}, {
dataField: "periodMonth",
dataField: "segment4",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
width: '12%',
caption: $translate.instant('BEndLinkRatio')
}, {
dataField: "recordSize",
dataField: "segment5",
allowHeaderFiltering: false,
width: '8%',
caption: $translate.instant('RecordSize')
width: '12%',
caption: $translate.instant('CSubsidyRate')
}, {
dataField: "errorMsg",
dataField: "segment6",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('Status')
}
],
width: '12%',
caption: $translate.instant('CEndLinkRatio')
}],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
$scope.GMVSubsidyInstance = e.component;
var totalCount = e.component.totalCount();
if (totalCount > 0) {
$scope.totalCount = totalCount;
......@@ -587,7 +558,7 @@
var getImportGMVSubsidy = function () {
vatImportService.displayAnalysisImportData($scope.importType,$scope.UploadPeriodTime).success(function (data) {
if (data.data) {
$scope.GMVSubsidyGridSource = data.data;
$scope.GMVSubsidyGridSource = data.data[0];
}else {
SweetAlert.error($translate.instant('SystemError'));
}
......@@ -605,50 +576,34 @@
visible: false,
allowHeaderFiltering: false,
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
}, {
dataField: "companyCode",
allowHeaderFiltering: false,
caption: $translate.instant('CompanyCode'),
width: '15%'
}, {
dataField: "companyName",
allowHeaderFiltering: false,
width: '27%',
width: '40%',
caption: $translate.instant('CompanyName')
}, {
dataField: "periodYear",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "periodMonth",
dataField: "fullTimeAmount",
width: '15%',
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('TMSPeriod')
caption: $translate.instant('FullTimeAmount')
}, {
dataField: "periodMonth",
dataField: "internAmount",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
caption: $translate.instant('InternAmount'),
width: '15%'
}, {
dataField: "recordSize",
dataField: "vendorAmount",
allowHeaderFiltering: false,
width: '8%',
caption: $translate.instant('RecordSize')
width: '15%',
caption: $translate.instant('VendorAmount')
}, {
dataField: "errorMsg",
dataField: "totalAmount",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('Status')
}
],
caption: $translate.instant('EmployeeTotalAmount')
}],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
$scope.employeeNumInstance = e.component;
var totalCount = e.component.totalCount();
if (totalCount > 0) {
$scope.totalCount = totalCount;
......
......@@ -27,7 +27,7 @@
</li>
</ul>
</div>
<span class="text-bold" translate="InvoiceQJ"></span>:
<span class="text-bold" translate="Period"></span>:
<div class="period-picker" style="margin-left:10px">
<input type="text" id="periodDatepicker" class="datepicker imp-subheader" style="width:120px;"
readonly="readonly" ng-model="UploadPeriodTime"/>
......
......@@ -29,7 +29,13 @@
$scope.selectedPeriod = null;
$scope.showTotalSecondRow = false;
$scope.importPLExcelFile = apiInterceptor.webApiHostUrl + '/DataImport/PLExcelFile';
$scope.importExcelFileUrlList = {
taxData : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
returnTax : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
gmvSubsidy : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
employeeNum : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile',
driverNum : apiInterceptor.webApiHostUrl + '/Analysis/DomesitcExcelFile'
};
$scope.maxTitleLength = constant.maxButtonTitleLength;
$scope.companyList = [];
......@@ -37,19 +43,36 @@
$scope.checkedCompanyCodeList = [];
$scope.checkedCompanyTypeList = "";
$scope.showInternationalBUDataGrid = false;
$scope.showInternationalTaxDataGrid = false;
$scope.importType = 100;
$scope.selectType;
$scope.selectCompany = '';
$scope.selectCountry = '';
$scope.internationalDataList = constant.internationalDataList;
$scope.countryList = [];
$scope.companyList = [];
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth();
$scope.selectedDate = new Date(vatSessionService.year, vatSessionService.month - 1, 1);
var month = date.getMonth()+1;
$scope.selectedDate = new Date(year,date.getMonth(),1);
$scope.startDate = new Date(year - 20, 1, 1);
$scope.endDate = new Date(year + 20, 1, 1);
$scope.viewMode = 1;
$scope.dateFormat = $translate.instant('dateFormat4YearMonth');
$scope.importExcelFile = null;
$scope.UploadPeriodTime = null;
if(month.length<2){
$scope.UploadPeriodTime = year+" - 0"+month;
}else{
$scope.UploadPeriodTime = year+" - "+month;
}
$scope.importExcelFile = null;
$scope.country = '';
$scope.companyName = '';
//写日志
var logDto = {
......@@ -64,7 +87,14 @@
CreatorID: vatSessionService.logUser.ID,
Comment: comment,
IP: '',
Period: $scope.period,
Period: $scope.period
};
var param = {
type : $scope.importType,
period : $scope.UploadPeriodTime,
country : $scope.selectCountry,
companyName : $scope.selectCountry
};
//初始化ack-pagination
......@@ -102,14 +132,20 @@
};
var downloadTemplate = function () {
templateService.downloadTemplate(constant.importFileType.profitLoss).success(function (data, status, headers) {
templateService.downloadAnalysisTemplate($scope.importType).success(function (data, status, headers) {
var fileName = '';
constant.anlTemplateNameList.forEach(function (m) {
if (m.code === $scope.importType) {
fileName = m.name;
}
});
var octetStreamMime = 'application/octet-stream';
var contentType = headers('content-type') || octetStreamMime;
if (window.navigator.msSaveBlob) {
var blob = new Blob([data], {
type: contentType
});
navigator.msSaveBlob(blob, "ProfitLoss");
navigator.msSaveBlob(blob, fileName);
} else {
var urlCreator = window.URL || window.webkitURL || window.mozURL || window.msURL;
if (urlCreator) {
......@@ -120,7 +156,7 @@
var url = urlCreator.createObjectURL(blob);
a.href = url;
a.target = '_blank';
a.download = "ProfitLoss.xlsx";
a.download = fileName+".xlsx";
document.body.appendChild(a);
a.click();
}
......@@ -130,51 +166,32 @@
});
};
var doExport = function () {
};
//导入事件
var doUploadPL = function (importType) {
var doUpload = function () {
var impExl = $scope.importExcelFile;
var deferred = $q.defer();
var token = $('input[name="__RequestVerificationToken"]').val();
if (!impExl) {
SweetAlert.warning($translate.instant('PleaseSelectFileFirst'));
return;
}
//列名对应验证
/*if (validationColumnMapping()) {
//数据类型验证
validationTbData().then(function (isSuccess) {
if (isSuccess) {
});
}*/
logDto.ID = PWC.newGuid();
logDto.CreateTime = new Date();
logDto.UpdateTime = new Date();
logDto.OperationContent = $scope.fileName;
if (importType === $scope.importEnum.Import) {
logDto.OperationName = $translate.instant('ImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.Import;
} else if (importType === $scope.importEnum.CoverImport) {
logDto.OperationName = $translate.instant('CoverImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.CoverImport;
} else if (importType === $scope.importEnum.AddImport) {
logDto.OperationName = $translate.instant('AddImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
var url = getUploadUrl();
var period = $scope.UploadPeriodTime;
var orgIds = JSON.stringify($scope.checkedCompanyCodeList);
Upload.upload({
url: $scope.importPLExcelFile,
url: url,
data: {
orgIds : orgIds,
periodDate : period,
importType : importType
period: period,
type: $scope.importType
},
file: impExl,
headers: {
......@@ -199,11 +216,8 @@
}else{
SweetAlert.error($translate.instant('ImportFailed'));
}
logDto.UpdateState = $translate.instant('ImportFail');
vatOperationLogService.addOperationLog(logDto);
}
getImportPLStatus();
refreshGrid();
}, function(resp) {
deferred.resolve();
if (resp.statusText === 'HttpRequestValidationException') {
......@@ -211,8 +225,6 @@
} else {
SweetAlert.warning('SaveFail');
}
logDto.UpdateState = $translate.instant('ImportFail');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.error($translate.instant('ImportFail'));
console.log('Error status: ' + resp.status);
}, function(evt) {
......@@ -222,6 +234,38 @@
});
};
var getUploadUrl = function(){
var url = "";
switch ($scope.importType) {
case 100:
url = $scope.importExcelFileUrlList.taxData;
break;
case 101:
url = $scope.importExcelFileUrlList.returnTax;
break;
default:
break;
}
return url;
};
var refreshGrid = function () {
param.companyName = $scope.selectCompany;
param.country = $scope.selectCountry;
param.type = $scope.importType;
param.period = $scope.UploadPeriodTime;
switch ($scope.importType) {
case 100:
getImportInternationalBUData();
break;
case 101:
getImportInternationalTaxData();
break;
default:
break;
}
};
var getGridHeight = function () {
if ($scope.isLoadComplete) {
return { height: ($('.balance-ouput-grid-wrapper').height()) + "px" };
......@@ -231,62 +275,109 @@
}
};
var loadImportPLStatusInfoDatagrid = function () {
$scope.importPLStatusGridOptions = {
var loadinternationalBUDatagrid = function () {
$scope.internationalBUDataGridOptions = {
bindingOptions: {
dataSource: 'ImportPLStatusGridSource'
dataSource: 'internationalBUDataGridSource'
},
showBorders: true,
columns: [{
dataField: "id",
visible: false,
allowHeaderFiltering: false,
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
}, {
dataField: "companyCode",
columns: [
{
dataField: "category",
width: '40%',
allowHeaderFiltering: false,
caption: $translate.instant('CompanyCode'),
width: '15%'
caption: 'Category'
}, {
dataField: "companyName",
dataField: "name",
allowHeaderFiltering: false,
width: '27%',
caption: $translate.instant('CompanyName')
caption: 'Name',
width: '30%'
}, {
dataField: "periodYear",
dataField: "amount",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
width: '30%',
caption: 'Amount'
}],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
var totalCount = e.component.totalCount();
if (totalCount > 0) {
$scope.totalCount = totalCount;
}
},
loadPanel: {
enabled: false
},
selection: {
mode: "single"
},
grouping: {
autoExpandAll: false
},
allowColumnResizing: true,
allowColumnReordering:true,
columnAutoWidth: true,
showRowLines: true,
showColumnLines: true,
rowAlternationEnabled: true, //单双行颜色
noDataText: $translate.instant('NoDataText'),
selectAllText: $translate.instant('SelectAll'),
headerFilter: {
visible: false,
texts: {
cancel: $translate.instant('Cancel'),
ok: $translate.instant('Confirm'),
emptyValue: $translate.instant('Empty'),
selectAllText: $translate.instant('SelectAll')
}
},
paging: {
pageSize: constant.page.pageSize
},
pager: {
showPageSizeSelector: true,
allowedPageSizes: constant.page.pageSizeArrary,
showInfo: true
}
};
getImportInternationalBUData();
};
var getImportInternationalBUData = function () {
vatImportService.displayAnalysisInternationalImportData(param).success(function (data) {
if (data.data) {
$scope.internationalBUDataGridSource = data.data;
}else {
SweetAlert.error($translate.instant('SystemError'));
}
});
};
var loadInternationalTaxDataGrid = function () {
$scope.internationalTaxDataGridOptions = {
bindingOptions: {
dataSource: 'internationalTaxDataGridSource'
},
showBorders: true,
columns: [
{
dataField: "taxCategory",
width: '40%',
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
caption: 'Tax Category'
}, {
dataField: "recordSize",
dataField: "taxType",
allowHeaderFiltering: false,
width: '8%',
caption: $translate.instant('RecordSize')
caption: 'Tax Type',
width: '30%'
}, {
dataField: "errorMsg",
dataField: "taxAmount",
allowHeaderFiltering: false,
width: '15%',
caption: $translate.instant('Status')
}
],
width: '30%',
caption: 'Tax Amount'
}],
onContentReady: function (e) {
$scope.accountingRateListInstance = e.component;
$scope.internationalTaxDataInstance = e.component;
var totalCount = e.component.totalCount();
if (totalCount > 0) {
$scope.totalCount = totalCount;
......@@ -302,6 +393,7 @@
autoExpandAll: false
},
allowColumnResizing: true,
allowColumnReordering:true,
columnAutoWidth: true,
showRowLines: true,
showColumnLines: true,
......@@ -316,27 +408,29 @@
emptyValue: $translate.instant('Empty'),
selectAllText: $translate.instant('SelectAll')
}
},
paging: {
pageSize: constant.page.pageSize
},
pager: {
showPageSizeSelector: true,
allowedPageSizes: constant.page.pageSizeArrary,
showInfo: true
}
};
getImportPLStatus();
getImportInternationalTaxData();
};
var getImportPLStatus = function () {
vatImportService.displayImportLog($scope.pagingOptions,constant.importFileType.profitLoss).success(function (data) {
if (data && data.list) {
$scope.ImportPLStatusGridSource = data.list;
$scope.pagingOptions.totalItems = data.pageInfo.totalCount;
var getImportInternationalTaxData = function () {
vatImportService.displayAnalysisInternationalImportData(param).success(function (data) {
if (data.data) {
$scope.internationalTaxDataGridSource = data.data;
}else {
SweetAlert.error($translate.instant('SystemError'));
}
});
};
//刷新页面
$scope.refreshConfigGrid = function () {
getImportPLStatus();
};
//加载文档后操作
var initImportFile = function (fileName) {
var arr = fileName.name.split('.');
......@@ -420,7 +514,8 @@
};
var initParam = function () {
$scope.doUploadPL = doUploadPL;
$scope.doUpload = doUpload;
$scope.doExport = doExport;
$scope.downloadTemplate = downloadTemplate;
$scope.initPagingControl = initPagingControl;
$scope.setButtonWrapStyle = setButtonWrapStyle;
......@@ -430,13 +525,30 @@
};
var initCompanyList = function () {
orgService.getOrgListByUserId().success(function (data) {
vatImportService.getAnalysisInternationalCompanyList($scope.importType,$scope.UploadPeriodTime).success(function (data) {
if (data) {
$scope.companyList = data;
}
});
};
var initCountryList = function () {
vatImportService.getAnalysisInternationalCountryList($scope.importType,$scope.UploadPeriodTime).success(function (data) {
if (data) {
$scope.countryList = data;
}
});
};
$scope.selectCompanyEvent = function(company){
$scope.selectCompany=company;
refreshGrid();
};
$scope.selectCountryEvent = function(country){
$scope.selectCountry=country;
refreshGrid();
};
$scope.selectOne = function () {
$scope.checkedCompanyList = [];
......@@ -484,16 +596,38 @@
console.log($scope.checkedCompanyList);
};
$scope.changeTab = function(i){
$scope.importType = i.code;
$scope.selectType = i.type;
$scope.showInternationalBUDataGrid = false;
$scope.showInternationalTaxDataGrid = false;
switch (i.code) {
case 100:
$scope.showInternationalBUDataGrid = true;
loadinternationalBUDatagrid();
$scope.selectCountry='';
$scope.selectCompany='';
break;
case 101:
$scope.showInternationalTaxDataGrid = true;
loadInternationalTaxDataGrid();
$scope.selectCountry='';
$scope.selectCompany='';
break;
default:
break;
}
initCompanyList();
initCountryList();
};
//开始
(function initialize() {
$log.debug('ImportTBController.ctor()...');
$log.debug('internationalDataImportController.ctor()...');
initParam();
checkUserOrganizationPermissionList();
getUserPermission();
loadImportPLStatusInfoDatagrid();
initDatePicker();
initCompanyList();
$scope.$watch('importExcelFile', function (newValue, oldValue) {
if (newValue !== null && newValue !== oldValue) {
......@@ -501,6 +635,10 @@
}
});
$scope.$watch('UploadPeriodTime', function (newValue, oldValue) {
refreshGrid();
});
$timeout(function () {
$scope.isLoadComplete = true;
}, 500);
......
<div class="international-data-import">
<!--标题-->
<div class="nav-wrapper">
<div class="nav-header" translate="InternationalDataImport"></div>
<!--<div class="nav-header" translate="DomesticDataImport"></div>-->
<div class="nav-header">{{selectType ? ((selectType)|translate):('InternationalDataImport' | translate)}}</div>
<div class="alert alert-warning" style="width:400px;margin-bottom:5px;" ng-show="ImportErrorTab" ng-click="toggleErrorTab()">
<i class="fa fa-exclamation-circle" aria-hidden="true"></i>{{errorMsg}}
</div>
......@@ -11,82 +12,90 @@
<form class="form-inline" id="navigationForm" name="navigationForm">
<div class="form-group" ng-style="setButtonWrapStyle()">
<div class="import-wrapper">
<span class="text-bold" translate="SelectedOrganization"></span>:
<span class="text-bold" translate="SelectedImportType"></span>:
<div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 250px;">
{{checkedCompanyTypeList ? ((checkedCompanyTypeList)|limitString:maxTitleLength):('PleaseSelect' | translate)}}
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 120px;">
{{selectType ? ((selectType)|translate):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span>
</button>
<ul class="dropdown-menu" style="width: 250px;" aria-labelledby="dropdownMenu1">
<li><input type="checkbox" ng-model="selectedAll" ng-change="selectAll()"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px" checked>
<span style="margin-left:5px;float: left;">全选</span></li>
<li role="separator" class="divider" style="height: 1px;margin: 9px 0;
overflow: hidden;background-color: #e5e5e5;"></li>
<li ng-repeat="i in companyList">
<ul class="dropdown-menu" style="width: 120px;" aria-labelledby="dropdownMenu2">
<li ng-repeat="i in internationalDataList" ng-click="changeTab(i)">
<div class="checkbox-custom checkbox-default">
<input type="checkbox" ng-model="i.checked" ng-change="selectOne()"
ng-checked="selectedOne"
style="float: left;margin-left: 10px; margin-top: 7px; width: 15px">
<span style="margin-left:5px;text-align: left;float: left;">{{i.name}}</span>
<span style="margin-left:15px; float: left;">{{(i.type)|translate}}</span>
</div>
</li>
</ul>
</div>
<span class="text-bold" translate="InvoiceQJ"></span>:
<span class="text-bold" translate="Period"></span>:
<div class="period-picker" style="margin-left:10px">
<input type="text" id="periodDatepicker" class="datepicker imp-subheader" style="width:120px;"
readonly="readonly" ng-model="UploadPeriodTime"/>
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
<div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>
<span class="text-bold" translate="Country"></span>:
<div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu3"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 120px;">
{{selectCountry ? ((selectCountry)|translate):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span>
</button>
<ul class="dropdown-menu" style="width: 120px;" aria-labelledby="dropdownMenu3">
<li ng-repeat="i in countryList" ng-click="selectCountryEvent(i)">
<div class="checkbox-custom checkbox-default">
<span style="margin-left:15px; float: left;">{{i}}</span>
</div>
</li>
</ul>
</div>
<span class="text-bold" translate="Company"></span>:
<div class="dropdown" style="margin-left:10px">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu4"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="width: 120px;">
{{selectCompany ? ((selectCompany)|translate):('PleaseSelect' | translate)}}
<span class="caret" style="float: right "></span>
</button>
<ul class="dropdown-menu" style="width: 120px;" aria-labelledby="dropdownMenu4">
<li ng-repeat="i in companyList" ng-click="selectCompanyEvent(i)">
<div class="checkbox-custom checkbox-default">
<span style="margin-left:15px; float: left;">{{i}}</span>
</div>
</li>
</ul>
</div>
<button type="button" atms-permission permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
<button type="button"
ngf-select="" type="file" ng-model="importExcelFile" ngf-drag-over-class="'dragover'" accept=".xls,.xlsx" ngf-multiple="false"
ngf-allow-dir="false" class="btn btn-vat-third" style="margin-right:10px;margin-left:30px">
{{'SelectFile' | translate}}
ngf-allow-dir="false" class="btn btn-vat-third" style="margin-right:10px;margin-left:10px">
{{fileName ? ((fileName)|limitString:maxTitleLength):'SelectFile' | translate}}
</button>
<button type="button" atms-permission permission-control-type="ngIf"
<button type="button" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
class="btn btn-vat-primary" style="float:right; margin-right: 10px;margin-left: 30px;margin-top: 8px;"
translate="TemplateBtn"
ng-click="downloadTemplate()"></button>
translate="ExportBtn"
ng-click="doExport()"></button>
<button type="button" atms-permission permission-control-type="ngIf"
class="btn btn-vat-primary" style="float:right; margin-right: 10px;margin-left: 30px;margin-top: 8px;"
translate="AddImportBtn"
ng-click="doUploadPL(importEnum.AddImport)"></button>
translate="ImportBtn"
ng-click="doUpload()"></button>
<button type="button" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
<button type="button" atms-permission permission-control-type="ngIf"
class="btn btn-vat-primary" style="float:right; margin-right: 10px;margin-left: 30px;margin-top: 8px;"
translate="CoverImportBtn"
ng-click="doUploadPL(importEnum.CoverImport)"></button>
<div class="btn-wrapper" ng-if="!isShowImportTotalBtn">
<button class="btn btn-vat-primary" atms-permission permission-control-type="ngIf"
permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
translate="ConverImportBtn"
ng-click="doUploadTbResult(importEnum.CoverImport)"></button>|
<button class="btn btn-vat-primary" atms-permission permission-control-type="ngIf"
permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
translate="AddImportBtn" ng-click="doUploadTbResult(importEnum.AddImport)"></button>
</div>
translate="TemplateBtn"
ng-click="downloadTemplate()"></button>
</div>
</div>
</form>
<div class="dt-init-wrapper">
<div class="dx-viewport grid-container">
<div id="importPLStatusGridContainer" dx-data-grid="importPLStatusGridOptions"
style="margin-top: 30px;">
<div id="internationalBUDataGridContainer" dx-data-grid="internationalBUDataGridOptions"
style="margin-top: 30px;" ng-show="showInternationalBUDataGrid">
</div>
<div id="internationalTaxDataGridContainer" dx-data-grid="internationalTaxDataGridOptions"
style="margin-top: 30px;" ng-show="showInternationalTaxDataGrid">
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
refresh-table="refreshConfigGrid()"></ack-pagination>
</div>
</div>
</div>
......
......@@ -187,17 +187,6 @@
color: #F85550;
}
}
.importPLStatusGridContainer {
height: calc(~'100% - 30px');
overflow: hidden;
position: absolute;
top: 0;
bottom: 136px; /* 130 + 6 */
left: 0;
right: 0;
background-color: #FFF;
}
}
.error-info-wrapper {
......
......@@ -1491,8 +1491,8 @@ constant.domesticDataList = [
];
constant.internationalDataList = [
{code:100,type:"业务数据"},
{code:101,type:"税务数据"}
{code:100,type:"BUData"},
{code:101,type:"TaxData"}
];
constant.NationalEconomicIndustryList =[
......@@ -1529,7 +1529,15 @@ constant.exportExcelFileName = {
};
constant.anlTemplateNameList = [
{code:0,name:"各税种税额 _所属期间_模版"},
{code:1,name:"实际返还税额 _所属期间_模版"},
{code:2,name:"業務線_所属期间_模版"},
{code:3,name:"职工人数_所属期间_模版"},
{code:4,name:"司機人數_所属期间_模版"},
{code:100,name:"国际税业务数据_国家_公司_所属期间_模版"},
{code:101,name:"国际税税务数据_国家_公司_所属期间_模版"}
];
......
......@@ -407,7 +407,16 @@
return $http.post('/DataImport/displayProcessLog', queryParams, apiConfig.create());
},
displayAnalysisImportData: function (type, period) {
return $http.get('/DataImport/displayAnalysisImportData?type=' + type + '&period=' + period, apiConfig.create());
return $http.get('/Analysis/displayAnalysisImportData?type=' + type + '&period=' + period, apiConfig.create());
},
displayAnalysisInternationalImportData: function (param) {
return $http.post('/Analysis/displayAnalysisInternationalImportData',param,apiConfig.create());
},
getAnalysisInternationalCompanyList: function (type,period) {
return $http.get('/Analysis/getAnalysisInternationalCompanyList?type=' + type + '&period=' + period, apiConfig.create());
},
getAnalysisInternationalCountryList: function (type,period) {
return $http.get('/Analysis/getAnalysisInternationalCountryList?type=' + type + '&period=' + period, apiConfig.create());
}
/***************************************批量数据导入服务(真) end**************************************************************/
......
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