Commit b1ffe129 authored by chase's avatar chase

新增公式

parent 86e861e2
...@@ -62,7 +62,7 @@ public class SpringContextUtil implements ApplicationContextAware { ...@@ -62,7 +62,7 @@ public class SpringContextUtil implements ApplicationContextAware {
public static RevenueTypeMappingMapper revenueTypeMappingMapper; public static RevenueTypeMappingMapper revenueTypeMappingMapper;
public static InvoiceRecordMapper invoiceRecordMapper; public static InvoiceRecordMapper invoiceRecordMapper;
public static CertifiedInvoicesListMapper certifiedInvoicesListMapper; public static CertifiedInvoicesListMapper certifiedInvoicesListMapper;
public static TrialBalanceMappingMapper trialBalanceMappingMapper;
public static CashFlowMapper cashFlowMapper; public static CashFlowMapper cashFlowMapper;
...@@ -147,6 +147,7 @@ public class SpringContextUtil implements ApplicationContextAware { ...@@ -147,6 +147,7 @@ public class SpringContextUtil implements ApplicationContextAware {
revenueTypeMappingMapper = webApplicationContext.getBean(RevenueTypeMappingMapper.class); revenueTypeMappingMapper = webApplicationContext.getBean(RevenueTypeMappingMapper.class);
invoiceRecordMapper = webApplicationContext.getBean(InvoiceRecordMapper.class); invoiceRecordMapper = webApplicationContext.getBean(InvoiceRecordMapper.class);
certifiedInvoicesListMapper = webApplicationContext.getBean(CertifiedInvoicesListMapper.class); certifiedInvoicesListMapper = webApplicationContext.getBean(CertifiedInvoicesListMapper.class);
trialBalanceMappingMapper = webApplicationContext.getBean(TrialBalanceMappingMapper.class);
/* map.put("balance_sheet", balanceMapper); /* map.put("balance_sheet", balanceMapper);
map.put("profit_loss_statement",profitLossStatementMapper); map.put("profit_loss_statement",profitLossStatementMapper);
map.put("cash_flow", cashFlowMapper); map.put("cash_flow", cashFlowMapper);
......
...@@ -596,7 +596,7 @@ public class ReportGeneratorImpl { ...@@ -596,7 +596,7 @@ public class ReportGeneratorImpl {
new BB(formulaContext), new XXFP(formulaContext), new GZSD(formulaContext), new PC(formulaContext) new BB(formulaContext), new XXFP(formulaContext), new GZSD(formulaContext), new PC(formulaContext)
, new JXFPMX(formulaContext), new JXFP(formulaContext), new PSUM(formulaContext), new DFFS(formulaContext), , new JXFPMX(formulaContext), new JXFP(formulaContext), new PSUM(formulaContext), new DFFS(formulaContext),
new JFFS(formulaContext), new WPSR(formulaContext), new WPNAME(formulaContext), new WPTYPE(formulaContext), new JFFS(formulaContext), new WPSR(formulaContext), new WPNAME(formulaContext), new WPTYPE(formulaContext),
new SUM2(formulaContext), new RSUMIF(formulaContext), new SUM(formulaContext),new KPSR(formulaContext)}; new SUM2(formulaContext), new RSUMIF(formulaContext), new SUM(formulaContext),new KPSR(formulaContext),new TBM(formulaContext)};
UDFFinder udfs = new DefaultUDFFinder(functions, functionImpls); UDFFinder udfs = new DefaultUDFFinder(functions, functionImpls);
UDFFinder udfToolpack = new AggregatingUDFFinder(udfs); UDFFinder udfToolpack = new AggregatingUDFFinder(udfs);
workbook.addToolPack(udfToolpack); workbook.addToolPack(udfToolpack);
......
...@@ -67,7 +67,7 @@ public class ReportServiceImpl extends BaseService { ...@@ -67,7 +67,7 @@ public class ReportServiceImpl extends BaseService {
private final static Logger logger = LoggerFactory.getLogger(ReportServiceImpl.class); private final static Logger logger = LoggerFactory.getLogger(ReportServiceImpl.class);
private BlockingQueue<PeriodJob> queue = new LinkedBlockingQueue<>(); private BlockingQueue<PeriodJob> queue = new LinkedBlockingQueue<>();
private final static String[] functions = {"SGSR", "FSJZ", "ND", "BB", "XXFP", "GZSD", "PC", "JXFPMX", private final static String[] functions = {"SGSR", "FSJZ", "ND", "BB", "XXFP", "GZSD", "PC", "JXFPMX",
"JXFP", "PSUM", "DFFS", "JFFS", "WPSR", "WPNAME", "WPTYPE", "SUM2", "RSUMIF", "SUM", "KPSR"}; "JXFP", "PSUM", "DFFS", "JFFS", "WPSR", "WPNAME", "WPTYPE", "SUM2", "RSUMIF", "SUM", "KPSR","TBM"};
@Autowired @Autowired
private ReportGeneratorImpl reportGenerator; private ReportGeneratorImpl reportGenerator;
......
package pwc.taxtech.atms.vat.service.impl.report.functions;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.poi.ss.formula.OperationEvaluationContext;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.formula.functions.FreeRefFunction;
import pwc.taxtech.atms.common.util.SpringContextUtil;
import pwc.taxtech.atms.constant.Constant;
import pwc.taxtech.atms.constant.enums.FormulaDataSourceDetailType;
import pwc.taxtech.atms.constant.enums.FormulaDataSourceType;
import pwc.taxtech.atms.dto.vatdto.ReportCellDataSourceDto;
import pwc.taxtech.atms.entity.Organization;
import pwc.taxtech.atms.vat.entity.*;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* 根据报表项目与科目映射取出科目代码,再通过入参进行TB表数据计算
*/
public class TBM extends FunctionBase implements FreeRefFunction {
public TBM(FormulaContext formulaContext) {
super(formulaContext);
}
@Override
public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {
if (args.length < 4) {
return null;
}
int evenType = getIntParam(args[0], ec);//事件类型,1:利润映射,2:资产映射
String mappingName = getStringParam(args[1], ec);//映射名称
int calculateType = getIntParam(args[2], ec);//计算类型,当取利润时候,1:贷方-借方,2:借方-贷方。当取资产时,1:正数,2:负数
int sourceDataType = getIntParam(args[3], ec);//取值数据源
String formulaExpression = "TBM(" + evenType + ",\""+mappingName+ "\","+calculateType+","+sourceDataType+ ")";
List<ReportCellDataSourceDto> dataSource = Lists.newArrayList();
List<String> segment3List = getSegment3List(evenType,mappingName);
if(CollectionUtils.isEmpty(segment3List)){
return NumberEval.ZERO;
}
double result = 0.00;
if (sourceDataType == 1) {
result = countForTrialBalance(evenType,calculateType,segment3List,dataSource,formulaContext.getPeriod(),formulaContext.getYear(),formulaContext.getOrganizationId());
} else if (sourceDataType == 2) {
result = countForAdjBalance(evenType,calculateType,segment3List,dataSource,formulaContext.getPeriod(),formulaContext.getYear(),formulaContext.getOrganizationId());
} else if (sourceDataType == 3) {
result = countForTrialFinalBalance(evenType,calculateType,segment3List,dataSource,formulaContext.getPeriod(),formulaContext.getYear(),formulaContext.getOrganizationId());
} else {
return NumberEval.ZERO;
}
Long dataSoureId = saveDataSource(ec, Collections.singletonList(dataSource),
FormulaDataSourceDetailType.FormulaDataSourceDto,
new BigDecimal(result), formulaContext.getPeriod(), formulaContext.getReportTemplateGroupId(), formulaContext.getProjectId());
saveFormulaBlock(formulaContext.getPeriod(), ec, formulaExpression, new BigDecimal(result), dataSoureId, formulaContext.getProjectId());
return new NumberEval(result);
}
public List<String> getSegment3List(int eventType,String mappingName){
TrialBalanceMappingExample example = new TrialBalanceMappingExample();
if(eventType == 1){
example.createCriteria().andPlTypeEqualTo(mappingName);
}else if(eventType == 2){
example.createCriteria().andBsTypeEqualTo(mappingName);
}
List<TrialBalanceMapping> dataList = SpringContextUtil.trialBalanceMappingMapper.selectByExample(example);
return dataList.stream()
.map(o -> o.getSegment3()).collect(Collectors.toList());
}
private int pardePeriod(int period, int year) {
return Integer.parseInt("" + year + (period > 9 ? period : ("0" + period)));
}
private double countForTrialBalance(int eventType,int calculateType,List<String> segment3List, List<ReportCellDataSourceDto> contain, int period, int year, String orgId) {
Organization organization = SpringContextUtil.organizationMapper.selectByPrimaryKey(orgId);
TrialBalanceExample glBalanceExample = new TrialBalanceExample();
TrialBalanceExample.Criteria c1 = glBalanceExample.createCriteria().andSegment3In(segment3List)
.andPeriodEqualTo(pardePeriod(period, year));
if (organization != null) {
c1.andOrganizationIdEqualTo(organization.getId());
}
List<TrialBalance> list = SpringContextUtil.trialBalanceMapper.selectByExample(glBalanceExample);
if (CollectionUtils.isEmpty(list)) {
return 0.0;
}
BigDecimal amount = new BigDecimal(0);
for (TrialBalance balance : list) {
ReportCellDataSourceDto dto = new ReportCellDataSourceDto();
if(eventType == 1 ){
if(calculateType == 1){
dto.setAmount(balance.getPeriodCrBeq().subtract(balance.getPeriodDrBeq()));
}else if(calculateType == 2){
dto.setAmount(balance.getPeriodDrBeq().subtract(balance.getPeriodCrBeq()));
}
}else if(eventType == 2){
if(calculateType == 1){
dto.setAmount(balance.getEndBalBeq());
}else if(calculateType == 2){
dto.setAmount(balance.getEndBalBeq().multiply(new BigDecimal(-1)));
}
}
amount = amount.add(dto.getAmount());
dto.setPeriod(period);
dto.setIsOnlyManualInput(Boolean.FALSE);
dto.setName(Constant.DataSourceName.ReportDataSource);
dto.setType(FormulaDataSourceType.TrialBalanceSource.getCode());
contain.add(dto);
}
return amount.doubleValue();
}
private double countForAdjBalance(int eventType,int calculateType,List<String> segment3List, List<ReportCellDataSourceDto> contain, int period, int year, String orgId) {
Organization organization = SpringContextUtil.organizationMapper.selectByPrimaryKey(orgId);
AdjustmentTableExample glBalanceExample = new AdjustmentTableExample();
AdjustmentTableExample.Criteria c1 = glBalanceExample.createCriteria().andSegment3In(segment3List)
.andPeriodEqualTo(pardePeriod(period, year));
if (organization != null) {
c1.andOrganizationIdEqualTo(organization.getId());
}
List<AdjustmentTable> list = SpringContextUtil.adjustmentTableMapper.selectByExample(glBalanceExample);
if (CollectionUtils.isEmpty(list)) {
return 0.0;
}
BigDecimal amount = new BigDecimal(0);
for (AdjustmentTable balance : list) {
ReportCellDataSourceDto dto = new ReportCellDataSourceDto();
if(eventType == 1 ){
if(calculateType == 1){
dto.setAmount(balance.getPeriodCrBeq().subtract(balance.getPeriodDrBeq()));
}else if(calculateType == 2){
dto.setAmount(balance.getPeriodDrBeq().subtract(balance.getPeriodCrBeq()));
}
}else if(eventType == 2){
if(calculateType == 1){
dto.setAmount(balance.getEndBalBeq());
}else if(calculateType == 2){
dto.setAmount(balance.getEndBalBeq().multiply(new BigDecimal(-1)));
}
}
amount.add(dto.getAmount());
dto.setPeriod(period);
dto.setIsOnlyManualInput(Boolean.FALSE);
dto.setName(Constant.DataSourceName.ReportDataSource);
dto.setType(FormulaDataSourceType.TrialBalanceSource.getCode());
contain.add(dto);
}
return amount.doubleValue();
}
private double countForTrialFinalBalance(int eventType,int calculateType,List<String> segment3List, List<ReportCellDataSourceDto> contain, int period, int year, String orgId) {
Organization organization = SpringContextUtil.organizationMapper.selectByPrimaryKey(orgId);
TrialBalanceFinalExample glBalanceExample = new TrialBalanceFinalExample();
TrialBalanceFinalExample.Criteria c1 = glBalanceExample.createCriteria().andSegment3In(segment3List)
.andPeriodEqualTo(pardePeriod(period, year));
if (organization != null) {
c1.andOrganizationIdEqualTo(organization.getId());
}
List<TrialBalanceFinal> list = SpringContextUtil.trialBalanceFinalMapper.selectByExample(glBalanceExample);
if (CollectionUtils.isEmpty(list)) {
return 0.0;
}
BigDecimal amount = new BigDecimal(0);
for (TrialBalanceFinal balance : list) {
ReportCellDataSourceDto dto = new ReportCellDataSourceDto();
if(eventType == 1 ){
if(calculateType == 1){
dto.setAmount(balance.getPeriodCrBeq().subtract(balance.getPeriodDrBeq()));
}else if(calculateType == 2){
dto.setAmount(balance.getPeriodDrBeq().subtract(balance.getPeriodCrBeq()));
}
}else if(eventType == 2){
if(calculateType == 1){
dto.setAmount(balance.getEndBalBeq());
}else if(calculateType == 2){
dto.setAmount(balance.getEndBalBeq().multiply(new BigDecimal(-1)));
}
}
amount.add(dto.getAmount());
dto.setPeriod(period);
dto.setIsOnlyManualInput(Boolean.FALSE);
dto.setName(Constant.DataSourceName.ReportDataSource);
dto.setType(FormulaDataSourceType.TrialBalanceSource.getCode());
contain.add(dto);
}
return amount.doubleValue();
}
}
package pwc.taxtech.atms.vat.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.MyVatMapper;
import pwc.taxtech.atms.vat.entity.TrialBalanceMapping;
import pwc.taxtech.atms.vat.entity.TrialBalanceMappingExample;
@Mapper
public interface TrialBalanceMappingMapper extends MyVatMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
long countByExample(TrialBalanceMappingExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int deleteByExample(TrialBalanceMappingExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int insert(TrialBalanceMapping record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int insertSelective(TrialBalanceMapping record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
List<TrialBalanceMapping> selectByExampleWithRowbounds(TrialBalanceMappingExample example, RowBounds rowBounds);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
List<TrialBalanceMapping> selectByExample(TrialBalanceMappingExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
TrialBalanceMapping selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") TrialBalanceMapping record, @Param("example") TrialBalanceMappingExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int updateByExample(@Param("record") TrialBalanceMapping record, @Param("example") TrialBalanceMappingExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(TrialBalanceMapping record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
int updateByPrimaryKey(TrialBalanceMapping record);
}
\ No newline at end of file
package pwc.taxtech.atms.vat.entity;
import java.io.Serializable;
import pwc.taxtech.atms.entity.BaseEntity;
/**
*
* This class was generated by MyBatis Generator.
* This class corresponds to the database table trial_balance_mapping
*
* @mbg.generated do_not_delete_during_merge
*/
public class TrialBalanceMapping extends BaseEntity implements Serializable {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column trial_balance_mapping.id
*
* @mbg.generated
*/
private Long id;
/**
* Database Column Remarks:
* 科目代码
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column trial_balance_mapping.segment3
*
* @mbg.generated
*/
private String segment3;
/**
* Database Column Remarks:
* 科目名称
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column trial_balance_mapping.segment3_name
*
* @mbg.generated
*/
private String segment3Name;
/**
* Database Column Remarks:
* 资产负债表类型
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column trial_balance_mapping.bs_type
*
* @mbg.generated
*/
private String bsType;
/**
* Database Column Remarks:
* 利润表类型映射
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column trial_balance_mapping.pl_type
*
* @mbg.generated
*/
private String plType;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
private static final long serialVersionUID = 1L;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column trial_balance_mapping.id
*
* @return the value of trial_balance_mapping.id
*
* @mbg.generated
*/
public Long getId() {
return id;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column trial_balance_mapping.id
*
* @param id the value for trial_balance_mapping.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 trial_balance_mapping.segment3
*
* @return the value of trial_balance_mapping.segment3
*
* @mbg.generated
*/
public String getSegment3() {
return segment3;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column trial_balance_mapping.segment3
*
* @param segment3 the value for trial_balance_mapping.segment3
*
* @mbg.generated
*/
public void setSegment3(String segment3) {
this.segment3 = segment3 == null ? null : segment3.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column trial_balance_mapping.segment3_name
*
* @return the value of trial_balance_mapping.segment3_name
*
* @mbg.generated
*/
public String getSegment3Name() {
return segment3Name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column trial_balance_mapping.segment3_name
*
* @param segment3Name the value for trial_balance_mapping.segment3_name
*
* @mbg.generated
*/
public void setSegment3Name(String segment3Name) {
this.segment3Name = segment3Name == null ? null : segment3Name.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column trial_balance_mapping.bs_type
*
* @return the value of trial_balance_mapping.bs_type
*
* @mbg.generated
*/
public String getBsType() {
return bsType;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column trial_balance_mapping.bs_type
*
* @param bsType the value for trial_balance_mapping.bs_type
*
* @mbg.generated
*/
public void setBsType(String bsType) {
this.bsType = bsType == null ? null : bsType.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column trial_balance_mapping.pl_type
*
* @return the value of trial_balance_mapping.pl_type
*
* @mbg.generated
*/
public String getPlType() {
return plType;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column trial_balance_mapping.pl_type
*
* @param plType the value for trial_balance_mapping.pl_type
*
* @mbg.generated
*/
public void setPlType(String plType) {
this.plType = plType == null ? null : plType.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @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(", segment3=").append(segment3);
sb.append(", segment3Name=").append(segment3Name);
sb.append(", bsType=").append(bsType);
sb.append(", plType=").append(plType);
sb.append("]");
return sb.toString();
}
}
\ No newline at end of file
package pwc.taxtech.atms.vat.entity;
import java.util.ArrayList;
import java.util.List;
public class TrialBalanceMappingExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public TrialBalanceMappingExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table trial_balance_mapping
*
* @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 trial_balance_mapping
*
* @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 trial_balance_mapping
*
* @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 trial_balance_mapping
*
* @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 trial_balance_mapping
*
* @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 andSegment3IsNull() {
addCriterion("segment3 is null");
return (Criteria) this;
}
public Criteria andSegment3IsNotNull() {
addCriterion("segment3 is not null");
return (Criteria) this;
}
public Criteria andSegment3EqualTo(String value) {
addCriterion("segment3 =", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3NotEqualTo(String value) {
addCriterion("segment3 <>", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3GreaterThan(String value) {
addCriterion("segment3 >", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3GreaterThanOrEqualTo(String value) {
addCriterion("segment3 >=", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3LessThan(String value) {
addCriterion("segment3 <", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3LessThanOrEqualTo(String value) {
addCriterion("segment3 <=", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3Like(String value) {
addCriterion("segment3 like", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3NotLike(String value) {
addCriterion("segment3 not like", value, "segment3");
return (Criteria) this;
}
public Criteria andSegment3In(List<String> values) {
addCriterion("segment3 in", values, "segment3");
return (Criteria) this;
}
public Criteria andSegment3NotIn(List<String> values) {
addCriterion("segment3 not in", values, "segment3");
return (Criteria) this;
}
public Criteria andSegment3Between(String value1, String value2) {
addCriterion("segment3 between", value1, value2, "segment3");
return (Criteria) this;
}
public Criteria andSegment3NotBetween(String value1, String value2) {
addCriterion("segment3 not between", value1, value2, "segment3");
return (Criteria) this;
}
public Criteria andSegment3NameIsNull() {
addCriterion("segment3_name is null");
return (Criteria) this;
}
public Criteria andSegment3NameIsNotNull() {
addCriterion("segment3_name is not null");
return (Criteria) this;
}
public Criteria andSegment3NameEqualTo(String value) {
addCriterion("segment3_name =", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameNotEqualTo(String value) {
addCriterion("segment3_name <>", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameGreaterThan(String value) {
addCriterion("segment3_name >", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameGreaterThanOrEqualTo(String value) {
addCriterion("segment3_name >=", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameLessThan(String value) {
addCriterion("segment3_name <", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameLessThanOrEqualTo(String value) {
addCriterion("segment3_name <=", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameLike(String value) {
addCriterion("segment3_name like", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameNotLike(String value) {
addCriterion("segment3_name not like", value, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameIn(List<String> values) {
addCriterion("segment3_name in", values, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameNotIn(List<String> values) {
addCriterion("segment3_name not in", values, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameBetween(String value1, String value2) {
addCriterion("segment3_name between", value1, value2, "segment3Name");
return (Criteria) this;
}
public Criteria andSegment3NameNotBetween(String value1, String value2) {
addCriterion("segment3_name not between", value1, value2, "segment3Name");
return (Criteria) this;
}
public Criteria andBsTypeIsNull() {
addCriterion("bs_type is null");
return (Criteria) this;
}
public Criteria andBsTypeIsNotNull() {
addCriterion("bs_type is not null");
return (Criteria) this;
}
public Criteria andBsTypeEqualTo(String value) {
addCriterion("bs_type =", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeNotEqualTo(String value) {
addCriterion("bs_type <>", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeGreaterThan(String value) {
addCriterion("bs_type >", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeGreaterThanOrEqualTo(String value) {
addCriterion("bs_type >=", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeLessThan(String value) {
addCriterion("bs_type <", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeLessThanOrEqualTo(String value) {
addCriterion("bs_type <=", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeLike(String value) {
addCriterion("bs_type like", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeNotLike(String value) {
addCriterion("bs_type not like", value, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeIn(List<String> values) {
addCriterion("bs_type in", values, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeNotIn(List<String> values) {
addCriterion("bs_type not in", values, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeBetween(String value1, String value2) {
addCriterion("bs_type between", value1, value2, "bsType");
return (Criteria) this;
}
public Criteria andBsTypeNotBetween(String value1, String value2) {
addCriterion("bs_type not between", value1, value2, "bsType");
return (Criteria) this;
}
public Criteria andPlTypeIsNull() {
addCriterion("pl_type is null");
return (Criteria) this;
}
public Criteria andPlTypeIsNotNull() {
addCriterion("pl_type is not null");
return (Criteria) this;
}
public Criteria andPlTypeEqualTo(String value) {
addCriterion("pl_type =", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeNotEqualTo(String value) {
addCriterion("pl_type <>", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeGreaterThan(String value) {
addCriterion("pl_type >", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeGreaterThanOrEqualTo(String value) {
addCriterion("pl_type >=", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeLessThan(String value) {
addCriterion("pl_type <", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeLessThanOrEqualTo(String value) {
addCriterion("pl_type <=", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeLike(String value) {
addCriterion("pl_type like", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeNotLike(String value) {
addCriterion("pl_type not like", value, "plType");
return (Criteria) this;
}
public Criteria andPlTypeIn(List<String> values) {
addCriterion("pl_type in", values, "plType");
return (Criteria) this;
}
public Criteria andPlTypeNotIn(List<String> values) {
addCriterion("pl_type not in", values, "plType");
return (Criteria) this;
}
public Criteria andPlTypeBetween(String value1, String value2) {
addCriterion("pl_type between", value1, value2, "plType");
return (Criteria) this;
}
public Criteria andPlTypeNotBetween(String value1, String value2) {
addCriterion("pl_type not between", value1, value2, "plType");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table trial_balance_mapping
*
* @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 trial_balance_mapping
*
* @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
<?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.vat.dao.TrialBalanceMappingMapper">
<resultMap id="BaseResultMap" type="pwc.taxtech.atms.vat.entity.TrialBalanceMapping">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="segment3" jdbcType="VARCHAR" property="segment3" />
<result column="segment3_name" jdbcType="VARCHAR" property="segment3Name" />
<result column="bs_type" jdbcType="VARCHAR" property="bsType" />
<result column="pl_type" jdbcType="VARCHAR" property="plType" />
</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, segment3, segment3_name, bs_type, pl_type
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMappingExample" 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 trial_balance_mapping
<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 trial_balance_mapping
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 trial_balance_mapping
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMappingExample">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
delete from trial_balance_mapping
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMapping">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into trial_balance_mapping (id, segment3, segment3_name,
bs_type, pl_type)
values (#{id,jdbcType=BIGINT}, #{segment3,jdbcType=VARCHAR}, #{segment3Name,jdbcType=VARCHAR},
#{bsType,jdbcType=VARCHAR}, #{plType,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMapping">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into trial_balance_mapping
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="segment3 != null">
segment3,
</if>
<if test="segment3Name != null">
segment3_name,
</if>
<if test="bsType != null">
bs_type,
</if>
<if test="plType != null">
pl_type,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="segment3 != null">
#{segment3,jdbcType=VARCHAR},
</if>
<if test="segment3Name != null">
#{segment3Name,jdbcType=VARCHAR},
</if>
<if test="bsType != null">
#{bsType,jdbcType=VARCHAR},
</if>
<if test="plType != null">
#{plType,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMappingExample" resultType="java.lang.Long">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
select count(*) from trial_balance_mapping
<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 trial_balance_mapping
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.segment3 != null">
segment3 = #{record.segment3,jdbcType=VARCHAR},
</if>
<if test="record.segment3Name != null">
segment3_name = #{record.segment3Name,jdbcType=VARCHAR},
</if>
<if test="record.bsType != null">
bs_type = #{record.bsType,jdbcType=VARCHAR},
</if>
<if test="record.plType != null">
pl_type = #{record.plType,jdbcType=VARCHAR},
</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 trial_balance_mapping
set id = #{record.id,jdbcType=BIGINT},
segment3 = #{record.segment3,jdbcType=VARCHAR},
segment3_name = #{record.segment3Name,jdbcType=VARCHAR},
bs_type = #{record.bsType,jdbcType=VARCHAR},
pl_type = #{record.plType,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMapping">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
update trial_balance_mapping
<set>
<if test="segment3 != null">
segment3 = #{segment3,jdbcType=VARCHAR},
</if>
<if test="segment3Name != null">
segment3_name = #{segment3Name,jdbcType=VARCHAR},
</if>
<if test="bsType != null">
bs_type = #{bsType,jdbcType=VARCHAR},
</if>
<if test="plType != null">
pl_type = #{plType,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMapping">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
update trial_balance_mapping
set segment3 = #{segment3,jdbcType=VARCHAR},
segment3_name = #{segment3Name,jdbcType=VARCHAR},
bs_type = #{bsType,jdbcType=VARCHAR},
pl_type = #{plType,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectByExampleWithRowbounds" parameterType="pwc.taxtech.atms.vat.entity.TrialBalanceMappingExample" 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 trial_balance_mapping
<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
...@@ -703,16 +703,16 @@ ...@@ -703,16 +703,16 @@
if ($scope.detail.dataGridSource && $scope.detail.dataGridSource.length > 0) { if ($scope.detail.dataGridSource && $scope.detail.dataGridSource.length > 0) {
//判断是否是动态生成sheet //判断是否是动态生成sheet
if(new Number($scope.detail.cellTemplateId)<0){ // if(new Number($scope.detail.cellTemplateId)<0){
$("#dataGridFooterSummary").html(""); // $("#dataGridFooterSummary").html("");
}else{ // }else{
evalVal = _.reduce($scope.detail.dataGridSource, function (memo, x) { // evalVal = _.reduce($scope.detail.dataGridSource, function (memo, x) {
return memo + x.cellValue; // return memo + x.cellValue;
}, 0); // }, 0);
$("#dataGridFooterSummary").html($translate.instant('Conclusion') + // $("#dataGridFooterSummary").html($translate.instant('Conclusion') +
'&nbsp;&nbsp;&nbsp;&nbsp;' + evalVal.formatAmount(precition)); // '&nbsp;&nbsp;&nbsp;&nbsp;' + evalVal.formatAmount(precition));
} // }
$("#dataGridFooterSummary").html("");
} }
......
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