Commit 57228a73 authored by gary's avatar gary

1、红字信息表、调整表 excel导入

parent 906776ce
......@@ -4,6 +4,7 @@ public class ErrorMessageCN {
public static final String NoCompanyError = "未映射到主体";
public static final String ExistDataPeriodsError = "存在非选择期间数据";
public static final String InconsistentPeriod = "单表中期间不一致";
public static final String DONOTSELECTPERIOD = "未选择期间";
}
......@@ -109,6 +109,32 @@ public class DateUtils {
return dateString;
}
/**
* 将短时间格式字符串转换为区间格式 yyyyMM
*
* @param dateDate
* @return
*/
public static Integer dateToPeriod(java.util.Date dateDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMM");
Integer period = Integer.valueOf(formatter.format(dateDate));
return period;
}
/**
* 将yyyy-mm yyyy - mm等字符串转换为区间格式 yyyyMM
*
* @param dateStr
* @return
*/
public static Integer strToPeriod(String dateStr) {
dateStr = dateStr.replace(" ","");
Integer period = Integer.valueOf(dateStr.substring(0, 4) + dateStr.substring(5, 7));
return period;
}
/**
* 将短时间格式字符串转换为时间 yyyy-MM-dd
*
......
......@@ -3,7 +3,10 @@ package pwc.taxtech.atms.constant.enums;
public enum EnumImportType {
Undefined(0),
ProfitLoss(1),
BalanceSheet(2);
BalanceSheet(2),
RedLetterInfoTable(3),
AdjustmentTable(4)
;
private Integer code;
......
......@@ -55,14 +55,13 @@ public class DataImportController extends BaseController {
if (null == file) {
return OperationResultDto.error(ErrorMessage.NoFile);
}
dataImportService.importPLExcelFile(file, periodDate,importType);
return OperationResultDto.success();
return dataImportService.importPLExcelFile(file, periodDate,importType);
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("importTemplateGroupExcelFile error.", e);
logger.error("importPLExcelFile error.", e);
return OperationResultDto.error(ErrorMessage.SystemError);
}
return OperationResultDto.error(ErrorMessage.SystemError);
}
@ResponseBody
......@@ -76,9 +75,41 @@ public class DataImportController extends BaseController {
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("importTemplateGroupExcelFile error.", e);
logger.error("importBSExcelFile error.", e);
return OperationResultDto.error(ErrorMessage.SystemError);
}
}
@ResponseBody
@RequestMapping(value = "RLITExcelFile", method = RequestMethod.POST)
public OperationResultDto importRLITExcelFile(@RequestParam MultipartFile file,@RequestParam String periodDate,@RequestParam Integer importType) {
try {
if (null == file) {
return OperationResultDto.error(ErrorMessage.NoFile);
}
return dataImportService.importRLITExcelFile(file, periodDate,importType);
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("importRLITExcelFile error.", e);
return OperationResultDto.error(ErrorMessage.SystemError);
}
}
@ResponseBody
@RequestMapping(value = "ATExcelFile", method = RequestMethod.POST)
public OperationResultDto importATExcelFile(@RequestParam MultipartFile file,@RequestParam String periodDate,@RequestParam Integer importType) {
try {
if (null == file) {
return OperationResultDto.error(ErrorMessage.NoFile);
}
return dataImportService.importATExcelFile(file, periodDate,importType);
} catch (ServiceException e) {
return OperationResultDto.error(e.getMessage());
} catch (Exception e) {
logger.error("importATExcelFile error.", e);
return OperationResultDto.error(ErrorMessage.SystemError);
}
return OperationResultDto.error(ErrorMessage.SystemError);
}
@ResponseBody
......
......@@ -38,6 +38,17 @@ public class DataImportLogDto implements Serializable {
*/
private String organizationId;
/**
* Database Column Remarks:
* 纳税人识别号
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column data_import_log.taxpayer_id_num
*
* @mbg.generated
*/
private String taxpayerIdNum;
/**
* Database Column Remarks:
* 导入类型。0-未定义,1-利润表,2-资产负债表
......@@ -170,6 +181,18 @@ public class DataImportLogDto implements Serializable {
*/
private String errorMsg;
/**
* Database Column Remarks:
* 记录条数
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column data_import_log.record_size
*
* @mbg.generated
*/
private Integer recordSize;
/**
* Database Column Remarks:
* 创建时间
......@@ -584,6 +607,22 @@ public class DataImportLogDto implements Serializable {
this.updateTime = updateTime;
}
public String getTaxpayerIdNum() {
return taxpayerIdNum;
}
public void setTaxpayerIdNum(String taxpayerIdNum) {
this.taxpayerIdNum = taxpayerIdNum;
}
public Integer getRecordSize() {
return recordSize;
}
public void setRecordSize(Integer recordSize) {
this.recordSize = recordSize;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
......
......@@ -41,7 +41,17 @@
<property name="rootInterface" value="pwc.taxtech.atms.MyVatMapper" />
</javaClientGenerator>
<!--<table tableName="profit_loss_statement_manual" domainObjectName="ProfitLossStatementManual">
<table tableName="red_letter_info_table" domainObjectName="RedLetterInfoTable">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>
<!--<table tableName="adjustment_table" domainObjectName="AdjustmentTable">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>
<table tableName="profit_loss_statement_manual" domainObjectName="ProfitLossStatementManual">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>
......@@ -54,14 +64,14 @@
<table tableName="profit_loss_statement_final" domainObjectName="ProfitLossStatementFinal">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>-->
</table>
<table tableName="balance_sheet_final" domainObjectName="BalanceSheetFinal">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>
<!--<table tableName="profit_loss_statement" domainObjectName="ProfitLossStatement">
<table tableName="profit_loss_statement" domainObjectName="ProfitLossStatement">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>
......
......@@ -105,4 +105,6 @@ public interface DataImportLogMapper extends MyMapper {
* @mbg.generated
*/
int updateByPrimaryKey(DataImportLog record);
int displayOld(@Param("type") Integer type);
}
\ No newline at end of file
......@@ -33,6 +33,17 @@ public class DataImportLog extends BaseEntity implements Serializable {
*/
private String organizationId;
/**
* Database Column Remarks:
* 纳税人识别号
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column data_import_log.taxpayer_id_num
*
* @mbg.generated
*/
private String taxpayerIdNum;
/**
* Database Column Remarks:
* 导入类型。0-未定义,1-利润表,2-资产负债表
......@@ -165,6 +176,28 @@ public class DataImportLog extends BaseEntity implements Serializable {
*/
private String errorMsg;
/**
* Database Column Remarks:
* 记录条数
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column data_import_log.record_size
*
* @mbg.generated
*/
private Integer recordSize;
/**
* Database Column Remarks:
* 是否为最新导入记录。0-不是,1-是 。写入新提交记录时更新旧的为0
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column data_import_log.display
*
* @mbg.generated
*/
private Boolean display;
/**
* Database Column Remarks:
* 创建时间
......@@ -243,6 +276,30 @@ public class DataImportLog extends BaseEntity implements Serializable {
this.organizationId = organizationId == null ? null : organizationId.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column data_import_log.taxpayer_id_num
*
* @return the value of data_import_log.taxpayer_id_num
*
* @mbg.generated
*/
public String getTaxpayerIdNum() {
return taxpayerIdNum;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column data_import_log.taxpayer_id_num
*
* @param taxpayerIdNum the value for data_import_log.taxpayer_id_num
*
* @mbg.generated
*/
public void setTaxpayerIdNum(String taxpayerIdNum) {
this.taxpayerIdNum = taxpayerIdNum == null ? null : taxpayerIdNum.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column data_import_log.type
......@@ -531,6 +588,54 @@ public class DataImportLog extends BaseEntity implements Serializable {
this.errorMsg = errorMsg == null ? null : errorMsg.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column data_import_log.record_size
*
* @return the value of data_import_log.record_size
*
* @mbg.generated
*/
public Integer getRecordSize() {
return recordSize;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column data_import_log.record_size
*
* @param recordSize the value for data_import_log.record_size
*
* @mbg.generated
*/
public void setRecordSize(Integer recordSize) {
this.recordSize = recordSize;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column data_import_log.display
*
* @return the value of data_import_log.display
*
* @mbg.generated
*/
public Boolean getDisplay() {
return display;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column data_import_log.display
*
* @param display the value for data_import_log.display
*
* @mbg.generated
*/
public void setDisplay(Boolean display) {
this.display = display;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column data_import_log.create_time
......@@ -593,6 +698,7 @@ public class DataImportLog extends BaseEntity implements Serializable {
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", organizationId=").append(organizationId);
sb.append(", taxpayerIdNum=").append(taxpayerIdNum);
sb.append(", type=").append(type);
sb.append(", companyCode=").append(companyCode);
sb.append(", companyName=").append(companyName);
......@@ -605,6 +711,8 @@ public class DataImportLog extends BaseEntity implements Serializable {
sb.append(", operateTime=").append(operateTime);
sb.append(", importResult=").append(importResult);
sb.append(", errorMsg=").append(errorMsg);
sb.append(", recordSize=").append(recordSize);
sb.append(", display=").append(display);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append("]");
......
......@@ -325,6 +325,76 @@ public class DataImportLogExample {
return (Criteria) this;
}
public Criteria andTaxpayerIdNumIsNull() {
addCriterion("taxpayer_id_num is null");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumIsNotNull() {
addCriterion("taxpayer_id_num is not null");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumEqualTo(String value) {
addCriterion("taxpayer_id_num =", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumNotEqualTo(String value) {
addCriterion("taxpayer_id_num <>", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumGreaterThan(String value) {
addCriterion("taxpayer_id_num >", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumGreaterThanOrEqualTo(String value) {
addCriterion("taxpayer_id_num >=", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumLessThan(String value) {
addCriterion("taxpayer_id_num <", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumLessThanOrEqualTo(String value) {
addCriterion("taxpayer_id_num <=", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumLike(String value) {
addCriterion("taxpayer_id_num like", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumNotLike(String value) {
addCriterion("taxpayer_id_num not like", value, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumIn(List<String> values) {
addCriterion("taxpayer_id_num in", values, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumNotIn(List<String> values) {
addCriterion("taxpayer_id_num not in", values, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumBetween(String value1, String value2) {
addCriterion("taxpayer_id_num between", value1, value2, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTaxpayerIdNumNotBetween(String value1, String value2) {
addCriterion("taxpayer_id_num not between", value1, value2, "taxpayerIdNum");
return (Criteria) this;
}
public Criteria andTypeIsNull() {
addCriterion("type is null");
return (Criteria) this;
......@@ -1105,6 +1175,126 @@ public class DataImportLogExample {
return (Criteria) this;
}
public Criteria andRecordSizeIsNull() {
addCriterion("record_size is null");
return (Criteria) this;
}
public Criteria andRecordSizeIsNotNull() {
addCriterion("record_size is not null");
return (Criteria) this;
}
public Criteria andRecordSizeEqualTo(Integer value) {
addCriterion("record_size =", value, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeNotEqualTo(Integer value) {
addCriterion("record_size <>", value, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeGreaterThan(Integer value) {
addCriterion("record_size >", value, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeGreaterThanOrEqualTo(Integer value) {
addCriterion("record_size >=", value, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeLessThan(Integer value) {
addCriterion("record_size <", value, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeLessThanOrEqualTo(Integer value) {
addCriterion("record_size <=", value, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeIn(List<Integer> values) {
addCriterion("record_size in", values, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeNotIn(List<Integer> values) {
addCriterion("record_size not in", values, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeBetween(Integer value1, Integer value2) {
addCriterion("record_size between", value1, value2, "recordSize");
return (Criteria) this;
}
public Criteria andRecordSizeNotBetween(Integer value1, Integer value2) {
addCriterion("record_size not between", value1, value2, "recordSize");
return (Criteria) this;
}
public Criteria andDisplayIsNull() {
addCriterion("display is null");
return (Criteria) this;
}
public Criteria andDisplayIsNotNull() {
addCriterion("display is not null");
return (Criteria) this;
}
public Criteria andDisplayEqualTo(Boolean value) {
addCriterion("display =", value, "display");
return (Criteria) this;
}
public Criteria andDisplayNotEqualTo(Boolean value) {
addCriterion("display <>", value, "display");
return (Criteria) this;
}
public Criteria andDisplayGreaterThan(Boolean value) {
addCriterion("display >", value, "display");
return (Criteria) this;
}
public Criteria andDisplayGreaterThanOrEqualTo(Boolean value) {
addCriterion("display >=", value, "display");
return (Criteria) this;
}
public Criteria andDisplayLessThan(Boolean value) {
addCriterion("display <", value, "display");
return (Criteria) this;
}
public Criteria andDisplayLessThanOrEqualTo(Boolean value) {
addCriterion("display <=", value, "display");
return (Criteria) this;
}
public Criteria andDisplayIn(List<Boolean> values) {
addCriterion("display in", values, "display");
return (Criteria) this;
}
public Criteria andDisplayNotIn(List<Boolean> values) {
addCriterion("display not in", values, "display");
return (Criteria) this;
}
public Criteria andDisplayBetween(Boolean value1, Boolean value2) {
addCriterion("display between", value1, value2, "display");
return (Criteria) this;
}
public Criteria andDisplayNotBetween(Boolean value1, Boolean value2) {
addCriterion("display not between", value1, value2, "display");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
......
......@@ -8,6 +8,7 @@
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="organization_id" jdbcType="VARCHAR" property="organizationId" />
<result column="taxpayer_id_num" jdbcType="VARCHAR" property="taxpayerIdNum" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="company_code" jdbcType="VARCHAR" property="companyCode" />
<result column="company_name" jdbcType="VARCHAR" property="companyName" />
......@@ -20,6 +21,8 @@
<result column="operate_time" jdbcType="TIMESTAMP" property="operateTime" />
<result column="import_result" jdbcType="BIT" property="importResult" />
<result column="error_msg" jdbcType="VARCHAR" property="errorMsg" />
<result column="record_size" jdbcType="INTEGER" property="recordSize" />
<result column="display" jdbcType="BIT" property="display" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
......@@ -94,9 +97,9 @@
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
id, organization_id, type, company_code, company_name, file_type, period_year, tms_period_month,
period_month, period_status, operator, operate_time, import_result, error_msg, create_time,
update_time
id, organization_id, taxpayer_id_num, type, company_code, company_name, file_type,
period_year, tms_period_month, period_month, period_status, operator, operate_time,
import_result, error_msg, record_size, display, create_time, update_time
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.entity.DataImportLogExample" resultMap="BaseResultMap">
<!--
......@@ -149,17 +152,19 @@
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into data_import_log (id, organization_id, type,
company_code, company_name, file_type,
period_year, tms_period_month, period_month,
period_status, operator, operate_time,
import_result, error_msg, create_time,
insert into data_import_log (id, organization_id, taxpayer_id_num,
type, company_code, company_name,
file_type, period_year, tms_period_month,
period_month, period_status, operator,
operate_time, import_result, error_msg,
record_size, display, create_time,
update_time)
values (#{id,jdbcType=BIGINT}, #{organizationId,jdbcType=VARCHAR}, #{type,jdbcType=TINYINT},
#{companyCode,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR},
#{periodYear,jdbcType=INTEGER}, #{tmsPeriodMonth,jdbcType=TINYINT}, #{periodMonth,jdbcType=TINYINT},
#{periodStatus,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, #{operateTime,jdbcType=TIMESTAMP},
#{importResult,jdbcType=BIT}, #{errorMsg,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
values (#{id,jdbcType=BIGINT}, #{organizationId,jdbcType=VARCHAR}, #{taxpayerIdNum,jdbcType=VARCHAR},
#{type,jdbcType=TINYINT}, #{companyCode,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR},
#{fileType,jdbcType=VARCHAR}, #{periodYear,jdbcType=INTEGER}, #{tmsPeriodMonth,jdbcType=TINYINT},
#{periodMonth,jdbcType=TINYINT}, #{periodStatus,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR},
#{operateTime,jdbcType=TIMESTAMP}, #{importResult,jdbcType=BIT}, #{errorMsg,jdbcType=VARCHAR},
#{recordSize,jdbcType=INTEGER}, #{display,jdbcType=BIT}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.entity.DataImportLog">
......@@ -175,6 +180,9 @@
<if test="organizationId != null">
organization_id,
</if>
<if test="taxpayerIdNum != null">
taxpayer_id_num,
</if>
<if test="type != null">
type,
</if>
......@@ -211,6 +219,12 @@
<if test="errorMsg != null">
error_msg,
</if>
<if test="recordSize != null">
record_size,
</if>
<if test="display != null">
display,
</if>
<if test="createTime != null">
create_time,
</if>
......@@ -225,6 +239,9 @@
<if test="organizationId != null">
#{organizationId,jdbcType=VARCHAR},
</if>
<if test="taxpayerIdNum != null">
#{taxpayerIdNum,jdbcType=VARCHAR},
</if>
<if test="type != null">
#{type,jdbcType=TINYINT},
</if>
......@@ -261,6 +278,12 @@
<if test="errorMsg != null">
#{errorMsg,jdbcType=VARCHAR},
</if>
<if test="recordSize != null">
#{recordSize,jdbcType=INTEGER},
</if>
<if test="display != null">
#{display,jdbcType=BIT},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -292,6 +315,9 @@
<if test="record.organizationId != null">
organization_id = #{record.organizationId,jdbcType=VARCHAR},
</if>
<if test="record.taxpayerIdNum != null">
taxpayer_id_num = #{record.taxpayerIdNum,jdbcType=VARCHAR},
</if>
<if test="record.type != null">
type = #{record.type,jdbcType=TINYINT},
</if>
......@@ -328,6 +354,12 @@
<if test="record.errorMsg != null">
error_msg = #{record.errorMsg,jdbcType=VARCHAR},
</if>
<if test="record.recordSize != null">
record_size = #{record.recordSize,jdbcType=INTEGER},
</if>
<if test="record.display != null">
display = #{record.display,jdbcType=BIT},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
......@@ -347,6 +379,7 @@
update data_import_log
set id = #{record.id,jdbcType=BIGINT},
organization_id = #{record.organizationId,jdbcType=VARCHAR},
taxpayer_id_num = #{record.taxpayerIdNum,jdbcType=VARCHAR},
type = #{record.type,jdbcType=TINYINT},
company_code = #{record.companyCode,jdbcType=VARCHAR},
company_name = #{record.companyName,jdbcType=VARCHAR},
......@@ -359,6 +392,8 @@
operate_time = #{record.operateTime,jdbcType=TIMESTAMP},
import_result = #{record.importResult,jdbcType=BIT},
error_msg = #{record.errorMsg,jdbcType=VARCHAR},
record_size = #{record.recordSize,jdbcType=INTEGER},
display = #{record.display,jdbcType=BIT},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
......@@ -375,6 +410,9 @@
<if test="organizationId != null">
organization_id = #{organizationId,jdbcType=VARCHAR},
</if>
<if test="taxpayerIdNum != null">
taxpayer_id_num = #{taxpayerIdNum,jdbcType=VARCHAR},
</if>
<if test="type != null">
type = #{type,jdbcType=TINYINT},
</if>
......@@ -411,6 +449,12 @@
<if test="errorMsg != null">
error_msg = #{errorMsg,jdbcType=VARCHAR},
</if>
<if test="recordSize != null">
record_size = #{recordSize,jdbcType=INTEGER},
</if>
<if test="display != null">
display = #{display,jdbcType=BIT},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
......@@ -427,6 +471,7 @@
-->
update data_import_log
set organization_id = #{organizationId,jdbcType=VARCHAR},
taxpayer_id_num = #{taxpayerIdNum,jdbcType=VARCHAR},
type = #{type,jdbcType=TINYINT},
company_code = #{companyCode,jdbcType=VARCHAR},
company_name = #{companyName,jdbcType=VARCHAR},
......@@ -439,6 +484,8 @@
operate_time = #{operateTime,jdbcType=TIMESTAMP},
import_result = #{importResult,jdbcType=BIT},
error_msg = #{errorMsg,jdbcType=VARCHAR},
record_size = #{recordSize,jdbcType=INTEGER},
display = #{display,jdbcType=BIT},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
......
<?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.dao.DataImportLogMapper">
<update id="displayOld" parameterType="java.lang.Integer">
update data_import_log
set display = 0
where
type = #{type,jdbcType=TINYINT}
and display = 1
</update>
</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.vat.dao.AdjustmentTableMapper">
<insert id="insertBatch" parameterType="java.util.List">
insert into adjustment_table
(<include refid="Base_Column_List"/>)
values
<foreach collection="list" item="item" index="index" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null">#{item.id,jdbcType=BIGINT},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.organizationId != null">#{item.organizationId,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.projectId != null">#{item.projectId,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.period != null">#{item.period,jdbcType=INTEGER},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.segment1 != null">#{item.segment1,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment2 != null">#{item.segment2,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment3 != null">#{item.segment3,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment4 != null">#{item.segment4,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment5 != null">#{item.segment5,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment6 != null">#{item.segment6,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment7 != null">#{item.segment7,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment8 != null">#{item.segment8,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment9 != null">#{item.segment9,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment10 != null">#{item.segment10,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment1Name != null">#{item.segment1Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment2Name != null">#{item.segment2Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment3Name != null">#{item.segment3Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment4Name != null">#{item.segment4Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment5Name != null">#{item.segment5Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment6Name != null">#{item.segment6Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment7Name != null">#{item.segment7Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment8Name != null">#{item.segment8Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment9Name != null">#{item.segment9Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.segment10Name != null">#{item.segment10Name,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.periodDrBeq != null">#{item.periodDrBeq,jdbcType=DECIMAL},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.periodCrBeq != null">#{item.periodCrBeq,jdbcType=DECIMAL},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.endBalBeq != null">#{item.endBalBeq,jdbcType=VARCHAR},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.createTime != null">#{item.createTime,jdbcType=TIMESTAMP},</when>
<otherwise>CURRENT_TIMESTAMP,</otherwise>
</choose>
<choose>
<when test="item.updateTime != null">#{item.updateTime,jdbcType=TIMESTAMP},</when>
<otherwise>CURRENT_TIMESTAMP,</otherwise>
</choose>
</trim>
</foreach>;
SELECT 1 FROM DUAL;
</insert>
</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.vat.dao.RedLetterInfoTableMapper">
<insert id="insertBatch" parameterType="java.util.List">
insert into red_letter_info_table
(<include refid="Base_Column_List"/>)
values
<foreach collection="list" item="item" index="index" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
<choose>
<when test="item.id != null">#{item.id,jdbcType=BIGINT},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.organizationId != null">#{item.organizationId,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.projectId != null">#{item.projectId,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.subjectNum != null">#{item.subjectNum,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.subjectName != null">#{item.subjectName,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.redLetterInvoiceInfoTableNum != null">#{item.redLetterInvoiceInfoTableNum,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.fillInDate != null">#{item.fillInDate,jdbcType=TIMESTAMP},</when>
<otherwise>CURRENT_TIMESTAMP,</otherwise>
</choose>
<choose>
<when test="item.salesTaxNumber != null">#{item.salesTaxNumber,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.salespersonName != null">#{item.salespersonName,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.totalAmount != null">#{item.totalAmount,jdbcType=DECIMAL},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.totalTaxAmount != null">#{item.totalTaxAmount,jdbcType=DECIMAL},</when>
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.applicationDescription != null">#{item.applicationDescription,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.applicantManager != null">#{item.applicantManager,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.invoiceCode != null">#{item.invoiceCode,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.invoiceNumber != null">#{item.invoiceNumber,jdbcType=VARCHAR},</when>
<otherwise>'',</otherwise>
</choose>
<choose>
<when test="item.createTime != null">#{item.createTime,jdbcType=TIMESTAMP},</when>
<otherwise>CURRENT_TIMESTAMP,</otherwise>
</choose>
<choose>
<when test="item.updateTime != null">#{item.updateTime,jdbcType=TIMESTAMP},</when>
<otherwise>CURRENT_TIMESTAMP,</otherwise>
</choose>
</trim>
</foreach>;
SELECT 1 FROM DUAL;
</insert>
</mapper>
\ No newline at end of file
......@@ -31,7 +31,7 @@
"BusinessUnitID": "Business Unit",
"BusinessUnitLog": "日志-事业部",
"ByYear": "By Year",
"YearPeriod": "年度",
"YearPeriod": "Year Period",
"Cancel": "Cancel",
"CancelMapping": "Cancel mapping",
"CellPosition": "Cell at: ",
......@@ -302,7 +302,7 @@
"modifyReason": "Modification Reason",
"originalAmount": "Orginal Amount",
"settings": "Configurations management",
"RecordSize": "记录条数",
"RecordSize": "Record Size",
"TaxPayerIdNum": "纳税人识别号",
......
......@@ -356,8 +356,8 @@
"ComfirmToReMap": "该企业科目已对应了标准科目,确定要重新对应并覆盖已有对应关系吗?",
"CommissionableStore": "Commissionable Store",
"CommonFail": "System error, please contact system administrator",
"CompanyCode": "公司代码",
"CompanyName": "公司名称",
"CompanyCode": "Company Code",
"CompanyName": "Company Name",
"CompanyTaxID": "Company Tax ID",
"CompanyVATIDTaxIDPlaceholder": "Please Input Seven-Digit Tax Identification Number",
"CompanyVATIDTaxIDRequire": "Please Input Company VAT ID!",
......@@ -1819,7 +1819,7 @@
"ImportBalanceSheet": "Import BS",
"CoverImportBalanceSheet": "Overwrite import BS",
"AddImportBalanceSheet": "Expand import BS",
"TMSPeriod": "TMS Period",
"~MustBeEndOneApp": "I Must be the End One, please!"
}
\ No newline at end of file
......@@ -2064,6 +2064,7 @@
"ImportBalanceSheet": "导入资产负债表",
"CoverImportBalanceSheet": "覆盖导入资产负债表",
"AddImportBalanceSheet": "追加导入资产负债表",
"TMSPeriod": "税务系统期间",
"~MustBeEndOneApp": "我必须是最后一个!"
......
commonModule.directive('importAdjustmentTable', ['$log',
function ($log) {
'use strict';
return {
restrict: 'E',
templateUrl: '/app/common/controls/import/import-adjust-table/import-adjust-table.html' + '?_=' + Math.random(),
scope: {
serviceTypeId: "=?",
periodId: "=?"
},
controller: 'importATController',
link: function (scope, element) {
$('.main-contents')[0].style.width = "260px";
$('.main-contents')[0].style.float = "left";
$('.main-contents')[0].style.styleFloat = "left";
$('.main-contents')[0].style.cssFloat = "left";
}
};
}
]);
\ No newline at end of file
@import "~/app-resources/less/theme.less";
.import-adjust-table {
/*background-color: @color-white;*/
padding-left: 20px;
/*min-height: 800px;*/
height: 96%;
.nav-wrapper {
/*padding-bottom: 5px;
border-bottom: 1px solid #DBD8D3;*/
.nav-header {
height: 54px;
line-height: 54px;
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular", "Microsoft YaHei";
font-weight: 700;
font-style: normal;
font-size: 15px;
color: #333;
display: inline-block;
}
.nav-tab {
span {
display: inline-block;
height: 34px;
line-height: 34px;
padding: 0 10px;
background-color: #B90808;
color: #FFF;
font-family: "Microsoft YaHei";
font-weight: 400;
font-style: normal;
font-size: 14px;
cursor: pointer;
}
.active {
background-color: #F91000;
}
}
.alert-warning {
background-color: #FDE2DE;
cursor: pointer;
}
.alert {
color: #CF2D1B;
font-weight: bold;
display: inline-block;
padding: 5px;
margin-left: 60px;
margin-bottom: 0px;
i {
font-size: 20px;
vertical-align: middle;
margin-right: 5px;
}
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
span {
cursor: pointer;
}
}
}
.dropdown-common() {
display: inline-block;
.select-button {
background-color: #F5F5F5;
padding: 6px 0;
width: 100px;
}
.caret {
margin-top: 8px;
}
.dropdown-menu {
min-width: 100px;
li {
text-align: center;
min-height: 0px;
height: 30px;
line-height: 30px;
color: #000;
font-weight: normal;
&:hover {
background-color: #F91000;
color: #FFF;
}
}
}
}
#tab_total {
display: block;
height: calc(~'100% - 40px');
position: relative;
.import-wrapper {
span {
margin-left: 10px;
color: #333;
font-family: "Microsoft YaHei";
font-style: normal;
font-size: 14px;
font-weight: bold;
}
.period-picker {
width: 150px;
border: 1px solid #c7c5c0;
display: inline-block;
line-height: 20px;
margin-top: 7px;
}
.imp-subheader {
display: inline-block;
font-size: 15px;
height: 30px;
line-height: 30px;
vertical-align: middle;
border: none;
select {
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
background: transparent;
}
}
.dropdown {
.dropdown-common();
}
input {
width: 50px;
outline: none;
border-radius: 3px;
border: 1px solid #3c3a36;
padding: 2px;
text-align: center;
}
> button:last-child {
float: right;
margin-right: 20px;
}
.btn-wrapper {
border-radius: 5px;
background-color: #e0301e;
color: #FFF;
display: inline-block;
float: right;
margin-right: 10px;
.btn-vat-primary {
min-width: 80px;
}
}
}
.dt-init-wrapper {
margin: 60px 0;
max-width: 99%;
height: calc(~'100% - 25px');
position: relative;
.dropdown {
.dropdown-common();
i {
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 {
position: absolute;
height: 150px;
bottom: 0;
left: 0;
right: 0;
overflow: hidden;
background-color: #FFF;
margin-left: -40px;
}
#content-resizer {
width: 110%;
position: absolute;
height: 4px;
bottom: 150px;
left: 0;
right: 0;
background-color: red;
cursor: n-resize;
margin-left: -40px;
#topIcon {
cursor: pointer;
margin-top: -19px;
width: 38px;
margin-left: 46%;
z-index: 999;
bottom: -381px;
text-align: center;
display: block !important;
}
}
.dt-import-wrapper {
margin: 60px 0;
max-width: 99%;
overflow: auto;
height: calc(~"100% - 35px");
.dropdown {
.dropdown-common();
i {
color: #F85550;
}
}
}
}
.error-list-modal {
.modal-title {
color: #FF0000;
}
.modal-body {
max-height: 300px;
overflow-y: auto;
table {
border: 1px solid #CCC;
thead tr th {
height: 30px;
border: 1px solid #CCC;
}
tbody tr td {
height: 25px;
border: 1px solid #CCC;
}
}
}
.modal-footer {
text-align: center;
}
}
#tab_detail {
display: none;
}
/*覆写ack-pagination.less中:.page-size, .pagination 中的margin演示 */
.page-form-group{
float:right;
.page-size{
margin:0;
}
.pagination {
margin:0;
}
}
}
.tb-model-period-dropdow-popup {
width: 400px;
height: 500px;
position: fixed;
top: 25%;
left: 40%;
.modal-dialog {
width: 100%;
height: 90%;
margin: 20px auto;
.modal-content {
width: 100%;
.modal-body {
height: 90%;
}
}
}
}
#totalWrapper {
margin: 5px 10px 10px -10px;
width: 100%;
padding-left: 10px;
font-family: Microsoft YaHei;
font-size: 13px;
float:right;
.total_span{
color: #B4122A !important;
background-color:#ddd !important;
font-size: 12px !important;
font-weight:bold !important;
border-radius:10px !important;
padding-left: 8px !important;
padding-right: 8px !important;
}
.total-column{
width:15%;
float:left;
padding-left: 15px;
}
}
\ No newline at end of file
......@@ -729,12 +729,9 @@
$('#busy-indicator-container').hide();
deferred.resolve();
if (ret.result) {
// 导入成功
// todo ImportPLStatusGridSource Change
logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.error($translate.instant('ImportSuccess'));
SweetAlert.success($translate.instant('ImportSuccess'));
} else {
if (ret.resultMsg && ret.resultMsg.length > 0) {
SweetAlert.warning($translate.instant(ret.resultMsg));
......@@ -744,7 +741,7 @@
logDto.UpdateState = $translate.instant('ImportFail');
vatOperationLogService.addOperationLog(logDto);
}
getImportBSStatus();
}, function(resp) {
deferred.resolve();
if (resp.statusText === 'HttpRequestValidationException') {
......@@ -829,7 +826,7 @@
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '10%',
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
}, {
......@@ -840,27 +837,32 @@
}, {
dataField: "companyName",
allowHeaderFiltering: false,
width: '15%',
width: '27%',
caption: $translate.instant('CompanyName')
}, {
dataField: "yearPeriod",
dataField: "periodYear",
allowHeaderFiltering: false,
width: '20%',
width: '7%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "period",
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '20%',
width: '8%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
}, {
dataField: "recordSize",
allowHeaderFiltering: false,
width: '10%',
width: '8%',
caption: $translate.instant('RecordSize')
}, {
dataField: "status",
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '10%',
width: '15%',
caption: $translate.instant('Status')
}
],
......@@ -897,10 +899,11 @@
}
}
};
getImportBSStatus();
};
var getImportPLStatus = function () {
orgExtraService.getAccountingRateListByOrgId(orgId).success(function (data) {
var getImportBSStatus = function () {
vatImportService.displayImportLog(constant.importFileType.balanceSheet).success(function (data) {
if (data) {
$scope.ImportPLStatusGridSource = data;
for (var i = 1; i <= $scope.AccountingRateGridSource.length; i++) {
......@@ -911,7 +914,7 @@
};
var initImportPLStatusFromDB = function () {
getImportPLStatus();
getImportBSStatus();
};
//获取验证信息
......@@ -1222,7 +1225,7 @@
loadImportPLStatusInfoDatagrid();
initDatePicker();
$scope.$watch('fileNameWrapper', function (newValue, oldValue) {
$scope.$watch('importExcelFile', function (newValue, oldValue) {
if (newValue !== null && newValue !== oldValue) {
initImportFile(newValue);
}
......
<div class="import-balance-sheet">
<!--标题-->
<div class="nav-wrapper">
<div class="nav-header" ="OffBalanceSheetTitle"></div>
<div class="nav-header" translate="OffBalanceSheetTitle"></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>
<div class="pull-right operation-wrapper">
<span ng-click="refreshTbData()" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}" ng-if="showInitTable"><i class="fa fa-refresh" aria-hidden="true"></i>{{'Refresh' | translate}}</span>&nbsp;&nbsp;
<span ng-click="clearTbData()" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}" ng-if="showInitTable && hasImportPermission"><i class="fa fa-trash-o" aria-hidden="true"></i>{{'ClearAll' | translate}}</span>&nbsp;&nbsp;
<span ng-click="showOperateLogPop()"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'Remarks' | translate}}</span>
</div>
</div>
<!--导航栏-->
<div id="tab_total">
<form class="form-inline" id="navigationForm" name="navigationForm">
<div class="form-group" ng-style="setButtonWrapStyle()">
<div class="import-wrapper">
<span class="text-bold" translate="InvoiceQJ"></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>
</div>
<button type="button" atms-permission permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
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}}
</button>
<div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="WorkSheet"></span>
<div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
<ui-select-match placeholder="{{'SelectASheet' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="sheetName in sheetData.sheetNameList | propsFilter: {name: $select.search}">
<div title="{{sheetName.name}}" ng-bind-html="sheetName.name | limitString:9"></div>
</ui-select-choices>
</ui-select>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="StartRowNum"></span>
<input id="StartRowNum" ng-model="startRowNum" type="text" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />
</div>
<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="TemplateBtn"
......
......@@ -729,9 +729,6 @@
$('#busy-indicator-container').hide();
deferred.resolve();
if (ret.result) {
// 导入成功
// todo ImportPLStatusGridSource Change
logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.success($translate.instant('ImportSuccess'));
......@@ -744,6 +741,7 @@
logDto.UpdateState = $translate.instant('ImportFail');
vatOperationLogService.addOperationLog(logDto);
}
getImportPLStatus();
}, function(resp) {
deferred.resolve();
......@@ -829,7 +827,7 @@
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '10%',
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
}, {
......@@ -840,27 +838,32 @@
}, {
dataField: "companyName",
allowHeaderFiltering: false,
width: '15%',
width: '27%',
caption: $translate.instant('CompanyName')
}, {
dataField: "yearPeriod",
dataField: "periodYear",
allowHeaderFiltering: false,
width: '20%',
width: '5%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "period",
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '5%',
caption: $translate.instant('Period')
}, {
dataField: "recordSize",
allowHeaderFiltering: false,
width: '10%',
width: '8%',
caption: $translate.instant('RecordSize')
}, {
dataField: "status",
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '10%',
width: '15%',
caption: $translate.instant('Status')
}
],
......@@ -897,14 +900,15 @@
}
}
};
getImportPLStatus();
};
var getImportPLStatus = function () {
vatImportService.displayImportLog(constant.importFileType.profitLoss).success(function (data) {
if (data) {
$scope.ImportPLStatusGridSource = data;
for (var i = 1; i <= $scope.AccountingRateGridSource.length; i++) {
$scope.AccountingRateGridSource[i - 1].index = i;
for (var i = 1; i <= $scope.ImportPLStatusGridSource.length; i++) {
$scope.ImportPLStatusGridSource[i - 1].index = i;
}
}
});
......@@ -1222,7 +1226,7 @@
loadImportPLStatusInfoDatagrid();
initDatePicker();
$scope.$watch('fileNameWrapper', function (newValue, oldValue) {
$scope.$watch('importExcelFile', function (newValue, oldValue) {
if (newValue !== null && newValue !== oldValue) {
initImportFile(newValue);
}
......
......@@ -5,49 +5,26 @@
<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>
<div class="pull-right operation-wrapper">
<span ng-click="refreshTbData()" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}" ng-if="showInitTable"><i class="fa fa-refresh" aria-hidden="true"></i>{{'Refresh' | translate}}</span>&nbsp;&nbsp;
<span ng-click="clearTbData()" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}" ng-if="showInitTable && hasImportPermission"><i class="fa fa-trash-o" aria-hidden="true"></i>{{'ClearAll' | translate}}</span>&nbsp;&nbsp;
<span ng-click="showOperateLogPop()"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'Remarks' | translate}}</span>
</div>
</div>
<!--导航栏-->
<div id="tab_total">
<form class="form-inline" id="navigationForm" name="navigationForm">
<div class="form-group" ng-style="setButtonWrapStyle()">
<div class="import-wrapper">
<span class="text-bold" translate="InvoiceQJ"></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>
</div>
<button type="button" atms-permission permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
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}}
</button>
<div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="WorkSheet"></span>
<div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
<ui-select-match placeholder="{{'SelectASheet' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="sheetName in sheetData.sheetNameList | propsFilter: {name: $select.search}">
<div title="{{sheetName.name}}" ng-bind-html="sheetName.name | limitString:9"></div>
</ui-select-choices>
</ui-select>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="StartRowNum"></span>
<input id="StartRowNum" ng-model="startRowNum" type="text" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />
</div>
<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="TemplateBtn"
......
......@@ -19,7 +19,7 @@
$scope.success = false;
$scope.showErrorTable = false;
$scope.showInitTable = false;
$scope.showImportTable = false
$scope.showImportTable = false;
$scope.isSelectPeriod = true;
$scope.isShowImportTotalBtn = true;
$scope.projectID = vatSessionService.project.id;
......@@ -33,7 +33,7 @@
$scope.selectedPeriod = null;
$scope.showTotalSecondRow = false;
$scope.importPLExcelFile = apiInterceptor.webApiHostUrl + '/DataImport/PLExcelFile';
$scope.importRLITExcelFile = apiInterceptor.webApiHostUrl + '/DataImport/RLITExcelFile';
var date = new Date();
......@@ -55,7 +55,7 @@
ID: '',
OperationName: '',
ModuleID: $scope.moduleid,
OperationObject: $translate.instant('ProfitAndLossStatement'),
OperationObject: $translate.instant('redLetterInformationTable'),
OperationType: '',
OperationContent: '',
OriginalState: '',
......@@ -672,13 +672,10 @@
//导入事件
var doUploadPL = function (importType) {
debugger;
var impExl = $scope.importExcelFile;
var deferred = $q.defer();
var token = $('input[name="__RequestVerificationToken"]').val();
if (!impExl) {
SweetAlert.warning($translate.instant('PleaseSelectFileFirst'));
return;
......@@ -697,24 +694,23 @@
logDto.UpdateTime = new Date();
logDto.OperationContent = $scope.fileName;
if (importType === $scope.importEnum.Import) {
logDto.OperationName = $translate.instant('ImportTrialBalance');
logDto.OperationName = $translate.instant('ImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.Import;
}
else if (importType === $scope.importEnum.CoverImport) {
logDto.OperationName = $translate.instant('CoverImportTrialBalance');
} 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('AddImportTrialBalance');
} else if (importType === $scope.importEnum.AddImport) {
logDto.OperationName = $translate.instant('AddImportProfitLoss');
logDto.OperationType = enums.vatLogOperationTypeEnum.AddImport;
}
var period = $scope.UploadPeriodTime;
Upload.upload({
url: $scope.importPLExcelFile,
url: $scope.importRLITExcelFile,
data: {
periodDate : period
periodDate : period,
importType : importType
},
file: impExl,
headers: {
......@@ -730,17 +726,19 @@
$('#busy-indicator-container').hide();
deferred.resolve();
if (ret.result) {
// 导入成功
// todo ImportPLStatusGridSource Change
logDto.UpdateState = $translate.instant('ImportSuccess');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.error($translate.instant('ImportFail'));
SweetAlert.success($translate.instant('ImportSuccess'));
} else {
if (ret.resultMsg && ret.resultMsg.length > 0) {
SweetAlert.warning($translate.instant(ret.resultMsg));
}else{
SweetAlert.error($translate.instant('ImportFailed'));
}
logDto.UpdateState = $translate.instant('ImportFail');
vatOperationLogService.addOperationLog(logDto);
SweetAlert.error($translate.instant('ImportFail'));
}
getImportRLITStatus();
}, function(resp) {
deferred.resolve();
......@@ -812,11 +810,11 @@
return {};
};
var loadImportPLStatusInfoDatagrid = function () {
var loadImportRLITStatusInfoDatagrid = function () {
$scope.importPLStatusGridOptions = {
$scope.importRLITStatusGridOptions = {
bindingOptions: {
dataSource: 'ImportPLStatusGridSource'
dataSource: 'ImportRLITStatusGridSource'
},
showBorders: true,
columns: [{
......@@ -826,7 +824,7 @@
caption: $translate.instant('id')
}, {
dataField: "taxpayerIdNum",
width: '10%',
width: '15%',
allowHeaderFiltering: false,
caption: $translate.instant('TaxpayerIdNum')
}, {
......@@ -837,27 +835,32 @@
}, {
dataField: "companyName",
allowHeaderFiltering: false,
width: '15%',
width: '27%',
caption: $translate.instant('CompanyName')
}, {
dataField: "yearPeriod",
dataField: "periodYear",
allowHeaderFiltering: false,
width: '20%',
width: '5%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "period",
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '20%',
width: '5%',
caption: $translate.instant('Period')
}, {
dataField: "recordSize",
allowHeaderFiltering: false,
width: '10%',
width: '8%',
caption: $translate.instant('RecordSize')
}, {
dataField: "status",
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '10%',
width: '15%',
caption: $translate.instant('Status')
}
],
......@@ -894,21 +897,22 @@
}
}
};
getImportRLITStatus();
};
var getImportPLStatus = function () {
orgExtraService.getAccountingRateListByOrgId(orgId).success(function (data) {
var getImportRLITStatus = function () {
vatImportService.displayImportLog(constant.importFileType.redLetterInfoTable).success(function (data) {
if (data) {
$scope.ImportPLStatusGridSource = data;
for (var i = 1; i <= $scope.AccountingRateGridSource.length; i++) {
$scope.AccountingRateGridSource[i - 1].index = i;
$scope.ImportRLITStatusGridSource = data;
for (var i = 1; i <= $scope.ImportRLITStatusGridSource.length; i++) {
$scope.ImportRLITStatusGridSource[i - 1].index = i;
}
}
});
};
var initImportPLStatusFromDB = function () {
getImportPLStatus();
getImportRLITStatus();
};
//获取验证信息
......@@ -1216,10 +1220,10 @@
getUserPermission();
loadImportPLStatusInfoDatagrid();
loadImportRLITStatusInfoDatagrid();
initDatePicker();
$scope.$watch('fileNameWrapper', function (newValue, oldValue) {
$scope.$watch('importExcelFile', function (newValue, oldValue) {
if (newValue !== null && newValue !== oldValue) {
initImportFile(newValue);
}
......
......@@ -5,49 +5,26 @@
<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>
<div class="pull-right operation-wrapper">
<span ng-click="refreshTbData()" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}" ng-if="showInitTable"><i class="fa fa-refresh" aria-hidden="true"></i>{{'Refresh' | translate}}</span>&nbsp;&nbsp;
<span ng-click="clearTbData()" atms-permission permission-control-type="ngIf" permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}" ng-if="showInitTable && hasImportPermission"><i class="fa fa-trash-o" aria-hidden="true"></i>{{'ClearAll' | translate}}</span>&nbsp;&nbsp;
<span ng-click="showOperateLogPop()"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'Remarks' | translate}}</span>
</div>
</div>
<!--导航栏-->
<div id="tab_total">
<form class="form-inline" id="navigationForm" name="navigationForm">
<div class="form-group" ng-style="setButtonWrapStyle()">
<div class="import-wrapper">
<span class="text-bold" translate="InvoiceQJ"></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>
</div>
<button type="button" atms-permission permission-code="{{$root.vatPermission.dataImport.balanceSheet.importCode}}"
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}}
</button>
<div ng-show="fileName" style="display:inline-block">
<span title="{{fileName}}">{{'FileName' | translate}}{{fileName | limitString:10}}</span>&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="WorkSheet"></span>
<div class="ui-select-no-border">
<ui-select ng-model="sheetInfo.selectedSheetName" on-select="changeSheet($item)" search-enabled="false" style="width:120px;">
<ui-select-match placeholder="{{'SelectASheet' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="sheetName in sheetData.sheetNameList | propsFilter: {name: $select.search}">
<div title="{{sheetName.name}}" ng-bind-html="sheetName.name | limitString:9"></div>
</ui-select-choices>
</ui-select>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;|
<span translate="StartRowNum"></span>
<input id="StartRowNum" ng-model="startRowNum" type="text" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" />
</div>
<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="TemplateBtn"
......@@ -87,7 +64,7 @@
<div class="dt-init-wrapper">
<div class="dx-viewport grid-container">
<div id="importPLStatusGridContainer" dx-data-grid="importPLStatusGridOptions"
<div id="importRLITStatusGridContainer" dx-data-grid="importRLITStatusGridOptions"
style="margin-top: 30px;">
</div>
</div>
......
......@@ -188,7 +188,7 @@
}
}
.importPLStatusGridContainer {
.importRLITStatusGridContainer {
height: calc(~'100% - 30px');
overflow: hidden;
position: absolute;
......
......@@ -1410,7 +1410,9 @@ constant.DepreciationMethodList = [
constant.importFileType = {
undefined: 0,
profitLoss: 1,
balanceSheet: 2
balanceSheet: 2,
redLetterInfoTable: 3,
adjustmentTable: 4
}
......
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