Commit 2f69a0c6 authored by zhkwei's avatar zhkwei

Merge remote-tracking branch 'origin/dev_mysql' into dev_mysql

parents 14fafc39 9536f537
......@@ -53,7 +53,9 @@ public class TaxDocumentDto {
private String physicalIndexNumber;//实物索引号
private Integer ownTime;//所属期间
private Integer ownBeginTime;//所属期间
private Integer ownEndTime;//所属期间
private Integer auditStatus;//审核状态
......@@ -215,12 +217,20 @@ public class TaxDocumentDto {
this.companyId = companyId;
}
public Integer getOwnTime() {
return ownTime;
public Integer getOwnBeginTime() {
return ownBeginTime;
}
public void setOwnBeginTime(Integer ownBeginTime) {
this.ownBeginTime = ownBeginTime;
}
public Integer getOwnEndTime() {
return ownEndTime;
}
public void setOwnTime(Integer ownTime) {
this.ownTime = ownTime;
public void setOwnEndTime(Integer ownEndTime) {
this.ownEndTime = ownEndTime;
}
public String getCompanyName() {
......
......@@ -105,9 +105,13 @@ public class TaxDocumentServiceImpl {
if (null != taxDocumentDto.getFileEndTTime()) {
criteria.andFileTimeLessThanOrEqualTo(taxDocumentDto.getFileEndTTime());
}
//所属时间 ownTime
if (null != taxDocumentDto.getOwnTime()) {
criteria.andOwnTimeEqualTo(taxDocumentDto.getOwnTime());
//所属開始时间 ownBeginTime
if (null != taxDocumentDto.getOwnBeginTime()) {
criteria.andOwnTimeGreaterThanOrEqualTo(taxDocumentDto.getOwnBeginTime());
}
//所属結束时间 ownEndTime
if (null != taxDocumentDto.getOwnEndTime()) {
criteria.andOwnTimeLessThanOrEqualTo(taxDocumentDto.getOwnEndTime());
}
//档案名称 fileName
if (StringUtils.isNotBlank(taxDocumentDto.getFileName())) {
......@@ -200,6 +204,7 @@ public class TaxDocumentServiceImpl {
taxDocument.setCreator(authUserHelper.getCurrentAuditor().get());
taxDocument.setCreatorId(authUserHelper.getCurrentUserId());
taxDocument.setUploadTime(new Date());
taxDocument.setAuditStatus(0);
taxDocument.setYearRedundancy(Calendar.getInstance().get(Calendar.YEAR));
//根据公司Id 设置业务线
String businessLine = organizationService.queryBusinessByCompanyId(taxDocument.getCompanyId());
......
......@@ -305,7 +305,7 @@ public class ReportServiceImpl extends BaseService {
private void updateConfig(String projectId, Integer period, Boolean isMergeManualData, List<Template> templates, PeriodJob job) {
List<Long> exceptTemplateIds = templateMapper.getIdsForExceptTemplate();
//根据收入类型映射生成开票记录关联数据
assembleInvoiceRecord(projectId, period,isMergeManualData);
assembleInvoiceRecord(projectId, period, isMergeManualData);
//生成trial_balance_final数据
assembleTrialBalanceFinal(projectId, period);
clearPeriodData(projectId, period, exceptTemplateIds, isMergeManualData);
......@@ -333,7 +333,7 @@ public class ReportServiceImpl extends BaseService {
trialBalanceFinalMapper.generateFinalData(projectId, Integer.valueOf(queryPeriod), lastProject == null ? "0" : lastProject.getId(), Integer.valueOf(lastPeriod));
}
public void assembleInvoiceRecord(String projectId, Integer period,Boolean isMergeManualData) {
public void assembleInvoiceRecord(String projectId, Integer period, Boolean isMergeManualData) {
Project project = projectMapper.selectByPrimaryKey(projectId);
MyAsserts.assertNotNull(project, Exceptions.NOT_FOUND_REPORT_EXCEPTION);
String queryDate = project.getYear() + "-" + (period < 10 ? ("0" + period) : (period + ""));
......@@ -342,17 +342,15 @@ public class ReportServiceImpl extends BaseService {
andStartDateLessThanOrEqualTo(queryDate).andEndDateGreaterThanOrEqualTo(queryDate).
andStatusEqualTo(0);
List<RevenueTypeMapping> mappingList = revenueTypeMappingMapper.selectByExample(mappingExample);
//先清除数据
InvoiceRecord delRecord = new InvoiceRecord();
delRecord.setRevenueCofId(null);
if(!isMergeManualData){
delRecord.setModifyRevenueCofId(null);
}
InvoiceRecordExample delExample = new InvoiceRecordExample();
delExample.createCriteria().andProjectIdEqualTo(projectId)
.andProjectIdEqualTo(projectId).
delExample.createCriteria().andProjectIdEqualTo(projectId).
andPeriodEqualTo(Integer.valueOf(queryDate.replace("-", "")));
invoiceRecordMapper.deleteByExample(delExample);
if (isMergeManualData) {
invoiceRecordMapper.clearRevenueCof(true, false, delExample);
} else {
invoiceRecordMapper.clearRevenueCof(true, true, delExample);
}
Map<String, Long> map = new HashMap<>();
for (RevenueTypeMapping mapping : mappingList) {
if (!map.containsKey(mapping.getContent())) {
......@@ -472,12 +470,14 @@ public class ReportServiceImpl extends BaseService {
for (int r = sheet.getFirstRowNum(); r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
for (int c = row.getFirstCellNum(); c <= row.getLastCellNum(); c++) {
Cell cell = row.getCell(c);
if (cell == null) {
continue;//todo cell == null 如何处理
}
if (r <= addRowIndex + 1) {
if(r == addRowIndex + 1 && c>TaxesCalculateReportEnum.Column.Column_14.getIndex()){
assembleOriginalTemplateData(template,projectId,period,r,c,addRowIndex,cellTemplateList,cellTemplateConfigList);
}else{
String cellId = projectId + template.getId() + period + r + c;
if ((r - 1) >= 0 && (r - 1) < configIds.size()) {
cellId += configIds.get(configIds.size() - r);
......@@ -539,7 +539,26 @@ public class ReportServiceImpl extends BaseService {
if (r > 0 && r <= addRowIndex && hasHandDatas.contains(c)) {
addManualConfig(cellTemplate, cell, now, cellTemplateConfigList);
}
}
} else {
assembleOriginalTemplateData(template,projectId,period,r,c,addRowIndex,cellTemplateList,cellTemplateConfigList);
}
}
}
List<List<PeriodCellTemplate>> tmpList = CommonUtils.subListWithLen(cellTemplateList, CommonUtils.BATCH_NUM);
// tmpList.forEach(list -> cellTemplateMapper.batchInsert2(list));
tmpList.forEach(list -> periodCellTemplateMapper.batchInsert(list));//todo 批量插入优化
List<List<PeriodCellTemplateConfig>> tmpConfigList = CommonUtils.subListWithLen(cellTemplateConfigList, CommonUtils.BATCH_NUM);
tmpConfigList.forEach(list -> periodCellTemplateConfigMapper.batchInsert(list));
} catch (Exception e) {
logger.error("importTemplateExcelFile error.", e);
throw new ServiceException(ErrorMessage.SystemError);
}
}
public void assembleOriginalTemplateData(Template template, String projectId, Integer period,
Integer r, Integer c, Integer addRowIndex,
List<PeriodCellTemplate> cellTemplateList, List<PeriodCellTemplateConfig> cellTemplateConfigList) {
//查询原来行cell是否有CellTemplate
CellTemplateExample cellTemplateExample = new CellTemplateExample();
cellTemplateExample.createCriteria().andReportTemplateIdEqualTo(template.getId()).andRowIndexEqualTo(r - addRowIndex).andColumnIndexEqualTo(c);
......@@ -607,18 +626,6 @@ public class ReportServiceImpl extends BaseService {
}
}
}
}
}
List<List<PeriodCellTemplate>> tmpList = CommonUtils.subListWithLen(cellTemplateList, CommonUtils.BATCH_NUM);
// tmpList.forEach(list -> cellTemplateMapper.batchInsert2(list));
tmpList.forEach(list -> periodCellTemplateMapper.batchInsert(list));//todo 批量插入优化
List<List<PeriodCellTemplateConfig>> tmpConfigList = CommonUtils.subListWithLen(cellTemplateConfigList, CommonUtils.BATCH_NUM);
tmpConfigList.forEach(list -> periodCellTemplateConfigMapper.batchInsert(list));
} catch (Exception e) {
logger.error("importTemplateExcelFile error.", e);
throw new ServiceException(ErrorMessage.SystemError);
}
}
private void addManualConfig(PeriodCellTemplate cellTemplate, Cell cell, Date now, List<PeriodCellTemplateConfig> list) {
PeriodCellTemplateConfig configManual = new PeriodCellTemplateConfig();
......@@ -989,7 +996,7 @@ public class ReportServiceImpl extends BaseService {
Workbook workbook = reportGenerator.createWorkBookByPeriodTemplate(resources.getPeriodTemplates(), genJob);
reportGenerator.addFunctionsAndContext(workbook, functions, reportGenerator.initContext(resources, periodParam),false);
reportGenerator.addFunctionsAndContext(workbook, functions, reportGenerator.initContext(resources, periodParam), false);
reportGenerator.setConfigAndDataToWorkBook(workbook, resources);
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
......@@ -1031,7 +1038,7 @@ public class ReportServiceImpl extends BaseService {
periodCellTemplateConfigDtos.forEach(a -> {
workbook4Validate.getSheetAt(a.getSheetNumber() - 1).getRow(a.getRowNumber()).getCell(a.getColNumber()).setCellFormula(a.getParsedValidation());
});
reportGenerator.addFunctionsAndContext(workbook4Validate, functions, reportGenerator.initContext(resources, periodParam),true);
reportGenerator.addFunctionsAndContext(workbook4Validate, functions, reportGenerator.initContext(resources, periodParam), true);
FormulaEvaluator validateEvaluator = workbook4Validate.getCreationHelper().createFormulaEvaluator();
validateEvaluator.evaluateAll();
//todo: 4.then save the validation result to cellData table
......@@ -2425,7 +2432,7 @@ public class ReportServiceImpl extends BaseService {
}
dataList.add(orgTypeList);
}
if(dataList.size() == 0){
if (dataList.size() == 0) {
throw new Exception("没有可导出的数据");
}
if (template.getIsSystemType()) {
......
......@@ -52,19 +52,19 @@ public class KPSR extends FunctionBase implements FreeRefFunction {
private double assembleData(String revenueTypeName, List<OutputInvoiceDataSourceDto> contain, Integer billType, Integer amountType, OperationEvaluationContext ec) {
String queryDate = formulaContext.getYear() + (formulaContext.getPeriod() < 10 ? ("0" + formulaContext.getPeriod()) : (formulaContext.getPeriod() + ""));
RevenueTypeMappingExample typeMappingExample = new RevenueTypeMappingExample();
typeMappingExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId())
.andRevenueTypeNameEqualTo(revenueTypeName).andStartDateLessThanOrEqualTo(queryDate)
.andEndDateGreaterThanOrEqualTo(queryDate);
List<RevenueTypeMapping> typeMappingList = SpringContextUtil.revenueTypeMappingMapper.selectByExample(typeMappingExample);
if (CollectionUtils.isEmpty(typeMappingList)) {
return 0.0;
}
List<String> revenueTypes = typeMappingList.stream()
.map(o -> o.getRevenueTypeName()).collect(Collectors.toList());
// RevenueTypeMappingExample typeMappingExample = new RevenueTypeMappingExample();
// typeMappingExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId())
// .andRevenueTypeNameEqualTo(revenueTypeName).andStartDateLessThanOrEqualTo(queryDate)
// .andEndDateGreaterThanOrEqualTo(queryDate);
// List<RevenueTypeMapping> typeMappingList = SpringContextUtil.revenueTypeMappingMapper.selectByExample(typeMappingExample);
// if (CollectionUtils.isEmpty(typeMappingList)) {
// return 0.0;
// }
// List<String> revenueTypes = typeMappingList.stream()
// .map(o -> o.getRevenueTypeName()).collect(Collectors.toList());
RevenueConfigExample configExample = new RevenueConfigExample();
configExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId()).andStartDateLessThanOrEqualTo(queryDate)
.andEndDateGreaterThanOrEqualTo(queryDate).andNameIn(revenueTypes);
.andEndDateGreaterThanOrEqualTo(queryDate).andNameEqualTo(revenueTypeName);
List<RevenueConfig> configDatas = SpringContextUtil.revenueConfigMapper.selectByExample(configExample);
if (CollectionUtils.isEmpty(configDatas)) {
return 0.0;
......
......@@ -1916,72 +1916,72 @@ public class TaxDocumentExample {
}
public Criteria andEnableIsNull() {
addCriterion("enable is null");
addCriterion("`enable` is null");
return (Criteria) this;
}
public Criteria andEnableIsNotNull() {
addCriterion("enable is not null");
addCriterion("`enable` is not null");
return (Criteria) this;
}
public Criteria andEnableEqualTo(String value) {
addCriterion("enable =", value, "enable");
addCriterion("`enable` =", value, "enable");
return (Criteria) this;
}
public Criteria andEnableNotEqualTo(String value) {
addCriterion("enable <>", value, "enable");
addCriterion("`enable` <>", value, "enable");
return (Criteria) this;
}
public Criteria andEnableGreaterThan(String value) {
addCriterion("enable >", value, "enable");
addCriterion("`enable` >", value, "enable");
return (Criteria) this;
}
public Criteria andEnableGreaterThanOrEqualTo(String value) {
addCriterion("enable >=", value, "enable");
addCriterion("`enable` >=", value, "enable");
return (Criteria) this;
}
public Criteria andEnableLessThan(String value) {
addCriterion("enable <", value, "enable");
addCriterion("`enable` <", value, "enable");
return (Criteria) this;
}
public Criteria andEnableLessThanOrEqualTo(String value) {
addCriterion("enable <=", value, "enable");
addCriterion("`enable` <=", value, "enable");
return (Criteria) this;
}
public Criteria andEnableLike(String value) {
addCriterion("enable like", value, "enable");
addCriterion("`enable` like", value, "enable");
return (Criteria) this;
}
public Criteria andEnableNotLike(String value) {
addCriterion("enable not like", value, "enable");
addCriterion("`enable` not like", value, "enable");
return (Criteria) this;
}
public Criteria andEnableIn(List<String> values) {
addCriterion("enable in", values, "enable");
addCriterion("`enable` in", values, "enable");
return (Criteria) this;
}
public Criteria andEnableNotIn(List<String> values) {
addCriterion("enable not in", values, "enable");
addCriterion("`enable` not in", values, "enable");
return (Criteria) this;
}
public Criteria andEnableBetween(String value1, String value2) {
addCriterion("enable between", value1, value2, "enable");
addCriterion("`enable` between", value1, value2, "enable");
return (Criteria) this;
}
public Criteria andEnableNotBetween(String value1, String value2) {
addCriterion("enable not between", value1, value2, "enable");
addCriterion("`enable` not between", value1, value2, "enable");
return (Criteria) this;
}
......
......@@ -129,4 +129,6 @@ public interface InvoiceRecordMapper extends MyVatMapper {
List<String> queryBillTypeGroupBy(@Param("projectId") String projectId,
@Param("period") Integer period);
int clearRevenueCof(@Param("clearRevenue") boolean clearRevenue, @Param("clearModifyRevenue") boolean clearModifyRevenue,@Param("example") InvoiceRecordExample example);
}
\ No newline at end of file
......@@ -15,15 +15,17 @@
</if>
</sql>
<select id="selectByCondition" parameterType="pwc.taxtech.atms.vat.dpo.InvoiceRecordCondition" resultMap="BaseResultMap">
<select id="selectByCondition" parameterType="pwc.taxtech.atms.vat.dpo.InvoiceRecordCondition"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from invoice_record
where
<include refid="QueryCondition"/>
</select>
<select id="selectCountByCondition" parameterType="pwc.taxtech.atms.vat.dpo.InvoiceRecordCondition" resultType="Integer">
<select id="selectCountByCondition" parameterType="pwc.taxtech.atms.vat.dpo.InvoiceRecordCondition"
resultType="Integer">
select
count(*)
from invoice_record
......@@ -135,7 +137,8 @@
<otherwise>0,</otherwise>
</choose>
<choose>
<when test="item.customerCompanyTaxNum != null">#{item.customerCompanyTaxNum,jdbcType=VARCHAR},</when>
<when test="item.customerCompanyTaxNum != null">#{item.customerCompanyTaxNum,jdbcType=VARCHAR},
</when>
<otherwise>'',</otherwise>
</choose>
<choose>
......@@ -167,7 +170,8 @@
<otherwise>CURRENT_TIMESTAMP,</otherwise>
</choose>
</trim>
</foreach>;
</foreach>
;
SELECT 1 FROM DUAL;
</insert>
......@@ -210,7 +214,8 @@
and bd.invoice_num like concat('%',#{billNumber},'%')
</if>
<if test="revenueCofId != null">
and if(bd.modify_revenue_cof_id is null,bd.revenue_cof_id = #{revenueCofId},bd.modify_revenue_cof_id = #{revenueCofId})
and if(bd.modify_revenue_cof_id is null,bd.revenue_cof_id = #{revenueCofId},bd.modify_revenue_cof_id =
#{revenueCofId})
</if>
<if test="billContent != null and billContent != ''">
and bd.billing_content like concat('%',#{billContent},'%')
......@@ -238,4 +243,18 @@
group by invoice_type;
</select>
<update id="clearRevenueCof">
update invoice_record
<set>
<if test="clearRevenue">
revenue_cof_id = null,
</if>
<if test="clearModifyRevenue">
modify_revenue_cof_id = null,
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause"/>
</if>
</update>
</mapper>
\ No newline at end of file
package pwc.taxtech.atms.orangeheap.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/OrangeHeap/tableau")
public class OrangeHeapController {
}
package pwc.taxtech.atms.orangeheap.service;
public class OrangeHeapService {
}
......@@ -813,6 +813,7 @@
"dateFormat4YearMonthDayCh": "yyyy-mm-dd",
"RecordSize": "Record Size",
"ExtractFile": "Extract File",
"ExtractTaskId": "任务ID",
"TaxPayerIdNum": "纳税人识别号",
"ExtractDistribution": "Extract Distribution",
......
......@@ -857,6 +857,7 @@
"RecordSize": "记录条数",
"ExtractFile": "抽取类型",
"ExtractTaskId": "任务ID",
"TaxPayerIdNum": "纳税人识别号",
"ExtractDistribution": "抽取分发",
"Log":"日志",
......
......@@ -236,6 +236,7 @@
"MessagePushObject": "消息推送对象",
"WorkFlowCode": "流程编号",
"CreatedTime": "创建时间",
"UpdateTime": "更新时间",
"HighPriority": "高级",
"MediumPriority": "中级",
"LowPriority": "低级",
......
......@@ -52,7 +52,7 @@
"DefaultTaxTypeAndReport": "默认纳税类型及报表:",
"DeleteKeyValueConfiguration": "删除关键数据",
"Description": "描述:",
"DescriptionWithOutColon": "描述",
"DescriptionWithOutColon": "说明",
"DirectionDifferent": "借贷方向不一致",
"EnterpriceAccountMapping": "自动对应",
"EtsSubjectNameCol": "对应企业科目",
......
......@@ -136,9 +136,8 @@
showBorders: true,
columns: [{
dataField: "id",
visible: false,
allowHeaderFiltering: false,
caption: $translate.instant('id')
caption: $translate.instant('ExtractTaskId')
}, {
dataField: "taxpayerIdNum",
width: '15%',
......@@ -195,7 +194,10 @@
dataField: "operateTime",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('LogOperationTime')
caption: $translate.instant('LogOperationTime'),
calculateCellValue: function(data) {
return new Date(data).formatDateTime('yyyy-MM-dd hh:mm:ss');
}
}
],
onContentReady: function (e) {
......
......@@ -418,12 +418,12 @@
<!--ng-model="queryFieldModel.Duration"/>-->
<input type='text' placeholder="From"
date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.ownBeginTime"
data-min-view-mode="0"/>
data-date-format="yyyymm" ng-model="queryFieldModel.ownBeginTime"
data-min-view-mode="1"/>
<input type='text' placeholder="To"
date-time-picker class="form-control TDL-query-val-multi"
data-date-format="yyyy/mm/dd" ng-model="queryFieldModel.ownEndTime"
data-min-view-mode="0"/>
data-date-format="yyyymm" ng-model="queryFieldModel.ownEndTime"
data-min-view-mode="1"/>
<!--<input type="text" class="form-control radius3" id="period-picker2"/>-->
</div>
......@@ -1407,8 +1407,8 @@
<span>{{item.fileName}}</span>
</li>
</ul>
<p ng-if="multiUploadErrorItems.length">{{multiUploadErrorItems.length}}{{'UploadFailCount'|translate}}</p>
<ul>
<p class="text-danger" ng-if="multiUploadErrorItems.length">{{multiUploadErrorItems.length}}{{'UploadFailCount'|translate}}</p>
<ul class="text-danger">
<li ng-repeat="item in multiUploadErrorItems">
<span>{{item.fileName}}</span>
</li>
......
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