Commit 62c08f39 authored by neo's avatar neo

[DEV] clearTableByPeriods api impl

parent 39048226
package pwc.taxtech.atms.constant;
public class VatErpImportValidation {
public static final String CompanyBalanceTbName = "CompanyBalance";
public static final String CustBalanceTb = "CustBalance";
public static final String BalanceTb = "Balance";
public static final String AccountRemapTb = "AccountRemap";
public static final String VoucherTbName = "Voucher";
}
package pwc.taxtech.atms.dao;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import pwc.taxtech.atms.constant.VatErpImportValidation;
@Mapper
public interface CitTBDataImportMapper {
@Delete("<script>" +
"<if test=\"tbName =='"+VatErpImportValidation.CompanyBalanceTbName+"' \">" +
" DELETE FROM #{tbName} WHERE PeriodId = #{period}" +
"</if>" +
"<if test=\"tbName =='"+VatErpImportValidation.CustBalanceTb+"' \">" +
" DELETE FROM #{tbName} WHERE PeriodId >= #{period}" +
"</if>" +
"</script>")
Integer deleteByPeriod(@Param("period") Integer period, @Param("tbName") String tbName);
@Delete("<script>DELETE FROM #{tbName} <if test=\"period != null\"> WHERE Period =#{period} </if></script>")
Integer deleteByNameAndPeriod(@Param("tbName") String tbName,@Param("period") Integer period);
}
......@@ -4,6 +4,14 @@ import java.util.Map;
public class OperationResultDto<T> extends OperationResultBase {
public static final OperationResultDto<Boolean> SUCCESS_EMPTY = new OperationResultDto<>();
static {
SUCCESS_EMPTY.setResult(true);
SUCCESS_EMPTY.setData(true);
SUCCESS_EMPTY.setResultMsg("");
}
private Map<String, String> errors;
private T data;
......@@ -21,7 +29,7 @@ public class OperationResultDto<T> extends OperationResultBase {
this.setResult(result);
this.setResultMsg(resultMsg);
}
public OperationResultDto(Boolean result, String resultMsg, T data) {
super();
this.setResult(result);
......@@ -29,7 +37,7 @@ public class OperationResultDto<T> extends OperationResultBase {
this.setData(data);
}
public static OperationResultDto<?> success() {
return new OperationResultDto<>(true);
}
......@@ -65,4 +73,12 @@ public class OperationResultDto<T> extends OperationResultBase {
this.data = data;
}
public static OperationResultDto<Boolean> errorFor(String reason) {
OperationResultDto<Boolean> resultDto = new OperationResultDto<>();
resultDto.setResult(false);
resultDto.setData(false);
resultDto.setResultMsg(reason);
return resultDto;
}
}
package pwc.taxtech.atms.service.impl;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.vat.CompanyBalanceDto;
import pwc.taxtech.atms.service.DataImportService;
import java.util.List;
public class DataImportServiceImpl implements DataImportService {
@Override
public OperationResultDto importTrialBalance(List<CompanyBalanceDto> balanceList, Integer importType, Integer serviceTypeId, String id) {
return null;
}
}
package pwc.taxtech.atms.service.impl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pwc.taxtech.atms.constant.VatErpImportValidation;
import pwc.taxtech.atms.dao.CitTBDataImportMapper;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.service.ICitTBDataImportService;
import java.util.List;
@Service
public class ICitTBDataImportServiceImpl implements ICitTBDataImportService {
private static Logger LOGGER = LoggerFactory.getLogger(ICitTBDataImportServiceImpl.class);
@Autowired
CitTBDataImportMapper citTBDataImportMapper;
@Override
public OperationResultDto<Boolean> clearTableByPeriods(List<Integer> periods) {
return clearTableByPeriods(periods, true);
}
public OperationResultDto<Boolean> clearTableByPeriods(List<Integer> periods, Boolean isClearTb) {
try {
periods.forEach(period -> {
clearCustTable(period, VatErpImportValidation.CompanyBalanceTbName);
if (isClearTb) {
clearCustTable(period, VatErpImportValidation.CustBalanceTb);
}
clearCustTable(period, VatErpImportValidation.BalanceTb);
clearVoucherTable(period);
clearRemapTable(period);
});
return OperationResultDto.SUCCESS_EMPTY;
}catch (Exception e){
LOGGER.error("ClearTableByPeriods method error",e);
return OperationResultDto.errorFor(e.getMessage());
}
}
private void clearRemapTable(Integer period) {
citTBDataImportMapper.deleteByNameAndPeriod(VatErpImportValidation.AccountRemapTb, isImportByPeriod(period) ? period : null);
}
private void clearVoucherTable(Integer period) {
citTBDataImportMapper.deleteByNameAndPeriod(VatErpImportValidation.VoucherTbName, isImportByPeriod(period) ? period : null);
}
//清除试算平衡相关的Table
private void clearCustTable(Integer period, String tbName) {
if (isImportByPeriod(period) && !tbName.equals(VatErpImportValidation.BalanceTb))
if (tbName.equals(VatErpImportValidation.CompanyBalanceTbName) || tbName.equals(VatErpImportValidation.CustBalanceTb))
citTBDataImportMapper.deleteByPeriod(period, tbName);
else citTBDataImportMapper.deleteByNameAndPeriod(tbName, null);
}
private Boolean isImportByPeriod(int period) {
return period >= 0;
}
}
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