Commit 705fa1c9 authored by neo.wang's avatar neo.wang

Merge branch 'dev_oracle_neo' into 'dev_oracle'

Dev oracle neo

See merge request root/atms!132
parents db1e59fc 5e27a921
......@@ -69,6 +69,7 @@ public class ReportGeneratorImpl extends VatAbstractService implements ReportGen
int period = periodParam != null ? periodParam : 0;
Project project = projectMapper.selectByPrimaryKey(projectId);
if(templateIds.isEmpty())templateIds.add(Long.MAX_VALUE);
PeriodTemplateExample periodTemplateExample = new PeriodTemplateExample();
periodTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andIdIn(templateIds);
......@@ -80,6 +81,7 @@ public class ReportGeneratorImpl extends VatAbstractService implements ReportGen
Long templateGroupId = periodTemplateList.size() > 0 ? periodTemplateList.get(0).getTemplateGroupId() : 0;
PeriodCellTemplateExample periodCellTemplateExample = new PeriodCellTemplateExample();
if(periodTemplateIdList.isEmpty())periodTemplateIdList.add(Long.MAX_VALUE);
periodCellTemplateExample.createCriteria().andReportTemplateIdIn(periodTemplateIdList).andPeriodEqualTo(period);
List<PeriodCellTemplate> periodCellTemplateList = periodCellTemplateMapper.selectByExample(periodCellTemplateExample);
......
package pwc.taxtech.atms.vat.service.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.util.SpringContextUtil;
......@@ -25,6 +27,8 @@ import pwc.taxtech.atms.dto.vatdto.VatEnterpriseAccountResultDto;
import pwc.taxtech.atms.entity.*;
import pwc.taxtech.atms.exception.NotSupportedException;
import pwc.taxtech.atms.service.impl.CellConfigTranslater;
import pwc.taxtech.atms.vat.dao.PeriodTaxPayerReportRuleMapper;
import pwc.taxtech.atms.vat.dao.PeriodTaxRuleSettingMapper;
import pwc.taxtech.atms.vat.dpo.DataSourceCellDataDto;
import pwc.taxtech.atms.vat.dpo.DataSourceExtendDto;
import pwc.taxtech.atms.vat.dpo.InputVATInvoiceItemExtendDto;
......@@ -44,10 +48,13 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static pwc.taxtech.atms.common.util.SpringContextUtil.periodEnterpriseAccountMapper;
@Component
public class ReportServiceImpl extends VatAbstractService implements ReportService {
@Autowired
private PeriodTaxRuleSettingMapper periodTaxRuleSettingMapper;
@Autowired
private PeriodTaxPayerReportRuleMapper periodTaxPayerReportRuleMapper;
@Override
public OperationResultDto<List<ReportDto>> getReportTemplate(String projectId, EnumServiceType serviceType, Integer periodParam) {
int period = periodParam != null ? periodParam : 0;
......@@ -116,6 +123,63 @@ public class ReportServiceImpl extends VatAbstractService implements ReportServi
return operationResult;
}
private void clearPeriodData(String projectId, Integer period, List<Long> templateIds) {
if (templateIds.isEmpty()) templateIds.add(Long.MAX_VALUE);
PeriodFormulaBlockExample periodFormulaBlockExample = new PeriodFormulaBlockExample();
periodFormulaBlockExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodFormulaBlockMapper.deleteByExample(periodFormulaBlockExample);
PeriodTaxRuleSettingExample periodTaxRuleSettingExample = new PeriodTaxRuleSettingExample();
periodTaxRuleSettingExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodTaxRuleSettingMapper.deleteByExample(periodTaxRuleSettingExample);
PeriodCellTemplateExample periodCellTemplateExample = new PeriodCellTemplateExample();
periodCellTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andReportTemplateIdIn(templateIds);
periodCellTemplateMapper.deleteByExample(periodCellTemplateExample);
PeriodCellTemplateConfigExample periodCellTemplateConfigExample = new PeriodCellTemplateConfigExample();
periodCellTemplateConfigExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andReportTemplateIdIn(templateIds);
periodCellTemplateConfigMapper.deleteByExample(periodCellTemplateConfigExample);
PeriodTemplateExample periodTemplateExample = new PeriodTemplateExample();
periodTemplateExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andTemplateIdIn(templateIds);
periodTemplateMapper.deleteByExample(periodTemplateExample);
PeriodTaxPayerReportRuleExample periodTaxPayerReportRuleExample = new PeriodTaxPayerReportRuleExample();
periodTaxPayerReportRuleExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
periodTaxPayerReportRuleMapper.deleteByExample(periodTaxPayerReportRuleExample);
PeriodDataSourceExample periodDataSourceExample = new PeriodDataSourceExample();
periodDataSourceExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
List<PeriodDataSource> periodDataSources = periodDataSourceMapper.selectByExample(periodDataSourceExample);
List<Long> periodDsIds = Lists.newArrayList(Long.MAX_VALUE);
periodDsIds.addAll(periodDataSources.stream().map(m -> m.getId()).collect(Collectors.toList()));
PeriodDataSourceDetailExample periodDataSourceDetailExample = new PeriodDataSourceDetailExample();
periodDataSourceDetailExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period)
.andDataSourceIdIn(periodDsIds);
periodDataSourceDetailMapper.deleteByExample(periodDataSourceDetailExample);
PeriodCellDataSourceExample periodCellDataSourceExample = new PeriodCellDataSourceExample();
periodCellDataSourceExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period)
.andDataSourceIdIn(periodDsIds);
periodCellDataSourceMapper.deleteByExample(periodCellDataSourceExample);
periodDataSourceMapper.deleteByExample(periodDataSourceExample);
PeriodReportExample periodReportExample = new PeriodReportExample();
periodReportExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period);
List<PeriodReport> reports = periodReportMapper.selectByExample(periodReportExample);
List<Long> reportIds = Lists.newArrayList(Long.MAX_VALUE);
reportIds.addAll(reports.stream().map(m -> m.getId()).collect(Collectors.toList()));
PeriodCellDataExample periodCellDataExample = new PeriodCellDataExample();
periodCellDataExample.createCriteria().andProjectIdEqualTo(projectId).andPeriodEqualTo(period).andReportIdIn(
reportIds);
periodCellDataMapper.deleteByExample(periodCellDataExample);
periodReportMapper.deleteByExample(periodReportExample);
}
@Override
public OperationResultDto updateConfig(String projectId, Integer period, Boolean ifDeleteManualDataSource, String generator) {
OperationResultDto result = new OperationResultDto();
......@@ -157,7 +221,8 @@ public class ReportServiceImpl extends VatAbstractService implements ReportServi
// dataSourceMapper.clearDataSourceWithPeriod(period);
// dataSourceMapper.clearCellDataWithPeriod(strExceptTemplateIds, period);
// dataSourceMapper.clearReportWithPeriod(period);
periodDataSourceMapper.clearDataWithPeriod(strExceptTemplateIds, period);
clearPeriodData(projectId, period, exceptTemplateIds);
// 根据templategroupid 把 template 插入到 periodTemplate
TemplateExample example = new TemplateExample();
example.createCriteria().andTemplateGroupIdEqualTo(templateGroupId);
......@@ -248,7 +313,7 @@ public class ReportServiceImpl extends VatAbstractService implements ReportServi
// periodCellTemplateConfig.setReportTemplateId(cellTemplateConfig.getReportTemplateId());
// periodCellTemplateConfig.setDataSourceType(cellTemplateConfig.getDataSourceType());
// periodCellTemplateConfig.setFormula(cellTemplateConfig.getFormula());
periodCellTemplateConfig.setParsedFormula(StringUtils.EMPTY);
periodCellTemplateConfig.setParsedFormula(null);
// periodCellTemplateConfig.setFormulaDescription(cellTemplateConfig.getFormulaDescription());
// periodCellTemplateConfig.setAccountCodes(cellTemplateConfig.getAccountCodes());
// periodCellTemplateConfig.setInvoiceType(cellTemplateConfig.getInvoiceType());
......@@ -262,13 +327,13 @@ public class ReportServiceImpl extends VatAbstractService implements ReportServi
// periodCellTemplateConfig.setInvoiceCategory(cellTemplateConfig.getInvoiceCategory());
// periodCellTemplateConfig.setFormulaDataSource(cellTemplateConfig.getFormulaDataSource());
// periodCellTemplateConfig.setValidation(cellTemplateConfig.getValidation());
periodCellTemplateConfig.setParsedValidation(StringUtils.EMPTY);
periodCellTemplateConfig.setParsedValidation(null);
// periodCellTemplateConfig.setValidationDescription(cellTemplateConfig.getValidationDescription());
// periodCellTemplateConfig.setVoucherKeyword(cellTemplateConfig.getVoucherKeyword());
periodCellTemplateConfig.setCellTemplateConfigId(cellTemplateConfig.getId());
periodCellTemplateConfig.setKeyValueParsedFormula(StringUtils.EMPTY);
periodCellTemplateConfig.setKeyValueParsedFormula(null);
periodCellTemplateConfig.setProjectId(projectId);
if (cellTemplateConfig.getFormula().contains("@")) {
if (cellTemplateConfig.getFormula() != null && cellTemplateConfig.getFormula().contains("@")) {
String regex = "@[0-9A-Z.]+";
Pattern pp = Pattern.compile(regex);
Matcher mm = pp.matcher(cellTemplateConfig.getFormula());
......
......@@ -2,68 +2,146 @@
<!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.PeriodCellTemplateConfigMapper">
<insert id="batchInsert">
INSERT INTO
PERIOD_CELL_TEMPLATE_CONFIG (
ID,
PERIOD,
CELL_TEMPLATE_ID,
REPORT_TEMPLATE_ID,
DATA_SOURCE_TYPE,
FORMULA,
PARSED_FORMULA,
FORMULA_DESCRIPTION,
ACCOUNT_CODES,
INVOICE_TYPE,
TAX_RATE,
INVOICE_AMOUNT_TYPE,
MODEL_IDS,
CREATE_BY,
CREATE_TIME,
UPDATE_BY,
UPDATE_TIME,
INVOICE_CATEGORY,
FORMULA_DATA_SOURCE,
VALIDATION,
PARSED_VALIDATION,
VALIDATION_DESCRIPTION,
VOUCHER_KEYWORD,
CELL_TEMPLATE_CONFIG_ID,
KEY_VALUE_PARSED_FORMULA
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id,jdbcType=INTEGER},
#{item.period,jdbcType=INTEGER},
#{item.cellTemplateId,jdbcType=INTEGER},
#{item.reportTemplateId,jdbcType=INTEGER},
#{item.dataSourceType,jdbcType=INTEGER},
#{item.formula,jdbcType=VARCHAR},
#{item.parsedFormula,jdbcType=VARCHAR},
#{item.formulaDescription,jdbcType=VARCHAR},
#{item.accountCodes,jdbcType=VARCHAR},
#{item.invoiceType,jdbcType=INTEGER},
#{item.taxRate,jdbcType=VARCHAR},
#{item.invoiceAmountType,jdbcType=INTEGER},
#{item.modelIds,jdbcType=VARCHAR},
#{item.createBy,jdbcType=VARCHAR},
#{item.createTime,jdbcType=TIMESTAMP},
#{item.updateBy,jdbcType=VARCHAR},
#{item.updateTime,jdbcType=TIMESTAMP},
#{item.invoiceCategory,jdbcType=VARCHAR},
#{item.formulaDataSource,jdbcType=VARCHAR},
#{item.validation,jdbcType=VARCHAR},
#{item.parsedValidation,jdbcType=VARCHAR},
#{item.validationDescription,jdbcType=VARCHAR},
#{item.voucherKeyword,jdbcType=VARCHAR},
#{item.cellTemplateConfigId,jdbcType=INTEGER},
#{item.keyValueParsedFormula,jdbcType=VARCHAR}
)
<insert id="batchInsert" parameterType="pwc.taxtech.atms.vat.entity.PeriodCellTemplateConfig">
INSERT ALL
<foreach collection="list" item="item">
INTO PERIOD_CELL_TEMPLATE_CONFIG (
ID,
PERIOD,
CELL_TEMPLATE_ID,
REPORT_TEMPLATE_ID,
DATA_SOURCE_TYPE,
FORMULA,
PARSED_FORMULA,
FORMULA_DESCRIPTION,
ACCOUNT_CODES,
INVOICE_TYPE,
TAX_RATE,
INVOICE_AMOUNT_TYPE,
MODEL_IDS,
CREATE_BY,
CREATE_TIME,
UPDATE_BY,
UPDATE_TIME,
INVOICE_CATEGORY,
FORMULA_DATA_SOURCE,
VALIDATION,
PARSED_VALIDATION,
VALIDATION_DESCRIPTION,
VOUCHER_KEYWORD,
CELL_TEMPLATE_CONFIG_ID,
KEY_VALUE_PARSED_FORMULA
) VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null">#{item.id,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.period != null">#{item.period,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.cellTemplateId != null">#{item.cellTemplateId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.reportTemplateId != null">#{item.reportTemplateId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.dataSourceType != null">#{item.dataSourceType,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.formula != null">#{item.formula,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.parsedFormula != null">#{item.parsedFormula,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.formulaDescription != null">#{item.formulaDescription,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.accountCodes != null">#{item.accountCodes,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.invoiceType != null">#{item.invoiceType,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.taxRate != null">#{item.taxRate,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.invoiceAmountType != null">#{item.invoiceAmountType,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.modelIds != null">#{item.modelIds,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.createBy != null">#{item.createBy,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.createTime != null">#{item.createTime,jdbcType=TIMESTAMP},</when>
<otherwise>to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'),</otherwise>
</choose>
<choose>
<when test="item.updateBy != null">#{item.updateBy,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.updateTime != null">#{item.updateTime,jdbcType=TIMESTAMP},</when>
<otherwise>to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'),</otherwise>
</choose>
<choose>
<when test="item.invoiceCategory != null">#{item.invoiceCategory,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.formulaDataSource != null">#{item.formulaDataSource,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.validation != null">#{item.validation,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.parsedValidation != null">#{item.parsedValidation,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.validationDescription != null">#{item.validationDescription,jdbcType=VARCHAR},
</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.voucherKeyword != null">#{item.voucherKeyword,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.cellTemplateConfigId != null">#{item.cellTemplateConfigId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.keyValueParsedFormula != null">#{item.keyValueParsedFormula,jdbcType=VARCHAR}
</when>
<otherwise>' ',</otherwise>
</choose>
</trim>
</foreach>
SELECT 1 FROM DUAL
</insert>
<resultMap extends="BaseResultMap" id="periodCellTemplateConfigExtendDtoMap" type="pwc.taxtech.atms.vat.dpo.PeriodCellTemplateConfigExtendDto">
<resultMap extends="BaseResultMap" id="periodCellTemplateConfigExtendDtoMap"
type="pwc.taxtech.atms.vat.dpo.PeriodCellTemplateConfigExtendDto">
<result column="COLUMN_INDEX" jdbcType="INTEGER" property="columnIndex"/>
<result column="ROW_INDEX" jdbcType="INTEGER" property="rowIndex"/>
<result column="COLUMN_NAME" jdbcType="VARCHAR" property="columnName"/>
......
......@@ -2,47 +2,95 @@
<!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.PeriodCellTemplateMapper">
<insert id="batchInsert">
INSERT INTO
PERIOD_CELL_TEMPLATE (
ID,
PERIOD,
REPORT_TEMPLATE_ID,
ROW_INDEX,
ROW_NAME,
COLUMN_INDEX,
`COLUMN_NAME`,
`COMMENT`,
CREATE_TIME,
UPDATE_TIME,
CELL_TEMPLATE_ID,
DATA_TYPE,
IS_READ_ONLY,
COPY_FROM_ID,
CREATE_BY,
UPDATE_BY
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id,jdbcType=INTEGER},
#{item.period,jdbcType=INTEGER},
#{item.reportTemplateId,jdbcType=INTEGER},
#{item.rowIndex,jdbcType=INTEGER},
#{item.rowName,jdbcType=VARCHAR},
#{item.columnIndex,jdbcType=INTEGER},
#{item.columnName,jdbcType=VARCHAR},
#{item.comment,jdbcType=VARCHAR},
#{item.createTime,jdbcType=TIMESTAMP},
#{item.updateTime,jdbcType=TIMESTAMP},
#{item.cellTemplateId,jdbcType=INTEGER},
#{item.dataType,jdbcType=INTEGER},
#{item.isReadOnly,jdbcType=INTEGER},
#{item.copyFromId,jdbcType=INTEGER},
#{item.createBy,jdbcType=VARCHAR},
#{item.updateBy,jdbcType=VARCHAR}
)
<insert id="batchInsert" parameterType="pwc.taxtech.atms.vat.entity.PeriodCellTemplate">
INSERT ALL
<foreach collection="list" item="item">
INTO PERIOD_CELL_TEMPLATE (
ID,
PERIOD,
REPORT_TEMPLATE_ID,
ROW_INDEX,
ROW_NAME,
COLUMN_INDEX,
"COLUMN_NAME",
"COMMENT",
CREATE_TIME,
UPDATE_TIME,
CELL_TEMPLATE_ID,
DATA_TYPE,
IS_READ_ONLY,
COPY_FROM_ID,
CREATE_BY,
UPDATE_BY
) VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null">#{item.id,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.period != null">#{item.period,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.reportTemplateId != null">#{item.reportTemplateId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.rowIndex != null">#{item.rowIndex,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.rowName != null">#{item.rowName,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.columnIndex != null">#{item.columnIndex,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.columnName != null">#{item.columnName,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.comment != null">#{item.comment,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.createTime != null">#{item.createTime,jdbcType=TIMESTAMP},</when>
<otherwise>to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'),</otherwise>
</choose>
<choose>
<when test="item.updateTime != null">#{item.updateTime,jdbcType=TIMESTAMP},</when>
<otherwise>to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'),</otherwise>
</choose>
<choose>
<when test="item.cellTemplateId != null">#{item.cellTemplateId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.dataType != null">#{item.dataType,jdbcType=INTEGER},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.isReadOnly != null">#{item.isReadOnly,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.copyFromId != null">#{item.copyFromId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.createBy != null">#{item.createBy,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.updateBy != null">#{item.updateBy,jdbcType=VARCHAR}</when>
<otherwise>' ',</otherwise>
</choose>
</trim>
</foreach>
SELECT 1 FROM DUAL
</insert>
<select id="getCellTemplateIdWithMap" resultType="java.lang.Long">
......
<?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.PeriodTemplateMapper">
<insert id="batchInsert">
INSERT INTO
PERIOD_TEMPLATE (
ID,
PERIOD,
`NAME`,
`CODE`,
PATH,
REPORT_TYPE,
TEMPLATE_GROUP_ID,
ORDER_INDEX,
CREATE_TIME,
UPDATE_TIME,
IS_SYSTEM_TYPE,
IS_ACTIVE_ASSOCIATION,
PARENT_ID,
TEMPLATE_ID,
CREATE_BY,
UPDATE_BY
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id,jdbcType=INTEGER},
#{item.period,jdbcType=INTEGER},
#{item.name,jdbcType=VARCHAR},
#{item.code,jdbcType=VARCHAR},
#{item.path,jdbcType=VARCHAR},
#{item.reportType,jdbcType=INTEGER},
#{item.templateGroupId,jdbcType=INTEGER},
#{item.orderIndex,jdbcType=INTEGER},
#{item.createTime,jdbcType=TIMESTAMP},
#{item.updateTime,jdbcType=TIMESTAMP},
#{item.isSystemType,jdbcType=INTEGER},
#{item.isActiveAssociation,jdbcType=INTEGER},
#{item.parentId,jdbcType=VARCHAR},
#{item.templateId,jdbcType=INTEGER},
#{item.createBy,jdbcType=VARCHAR},
#{item.updateBy,jdbcType=VARCHAR}
)
<insert id="batchInsert" parameterType="pwc.taxtech.atms.vat.entity.PeriodTemplate">
INSERT ALL
<foreach collection="list" item="item">
INTO PERIOD_TEMPLATE (
ID,
PERIOD,
"NAME",
"CODE",
PATH,
REPORT_TYPE,
TEMPLATE_GROUP_ID,
ORDER_INDEX,
CREATE_TIME,
UPDATE_TIME,
IS_SYSTEM_TYPE,
IS_ACTIVE_ASSOCIATION,
PARENT_ID,
TEMPLATE_ID,
CREATE_BY,
UPDATE_BY
) VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null">#{item.id,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.period != null">#{item.period,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.name != null">#{item.name,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.code != null">#{item.code,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.path != null">#{item.path,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.reportType != null">#{item.reportType,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.templateGroupId != null">#{item.templateGroupId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.orderIndex != null">#{item.orderIndex,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.createTime != null">#{item.createTime,jdbcType=TIMESTAMP},</when>
<otherwise>to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'),</otherwise>
</choose>
<choose>
<when test="item.updateTime != null">#{item.updateTime,jdbcType=TIMESTAMP},</when>
<otherwise>to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'),</otherwise>
</choose>
<choose>
<when test="item.isSystemType != null">#{item.isSystemType,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.isActiveAssociation != null">#{item.isActiveAssociation,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.parentId != null">#{item.parentId,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.templateId != null">#{item.templateId,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.createBy != null">#{item.createBy,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
<choose>
<when test="item.updateBy != null">#{item.updateBy,jdbcType=VARCHAR},</when>
<otherwise>' ',</otherwise>
</choose>
</trim>
</foreach>
SELECT 1 FROM DUAL
</insert>
<resultMap id="cellTemplatePerGroupDto" type="pwc.taxtech.atms.dpo.CellTemplatePerGroupDto">
......@@ -55,7 +102,7 @@
TEMPLATE.TEMPLATE_GROUP_ID AS REPORT_TEMPLATE_GROUP_ID,
IFNULL (
CELLTEMPLATECONFIG.FORMULA,
''
' '
)
AS FORMULA,
CELLTEMPLATE.ROW_INDEX AS ROW_INDEX,
......@@ -83,4 +130,4 @@
AND TEMPLATE.IS_ACTIVE_ASSOCIATION=1
</select>
</mapper>
\ No newline at end of file
</mapper>
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