Commit d78e0abc authored by zhkwei's avatar zhkwei

CIT所得税分配表

parent ad252e85
......@@ -9,10 +9,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import pwc.taxtech.atms.constant.enums.EnumServiceType;
import pwc.taxtech.atms.dpo.ReportDto;
import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.dto.CitAssetsListDto;
import pwc.taxtech.atms.dto.CitJournalAdjustDto;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.*;
import pwc.taxtech.atms.dto.vatdto.ManualDataSourceDto;
import pwc.taxtech.atms.dto.vatdto.PeriodJobDto;
import pwc.taxtech.atms.dto.vatdto.ReportDataDto;
......@@ -69,6 +66,28 @@ public class CitReportController {
return ResponseEntity.ok(citReportService.generateCitData(projectId, EnumServiceType.CIT, mergeManual,0,null, generator));
}
/**
* 生成CIT总分机构分配表
* @param projectId
* @return
*/
@RequestMapping(value = "generateDistributionTable/{projectId}", method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ApiResultDto generateDistributionTable(@PathVariable String projectId) {
ApiResultDto apiResultDto = new ApiResultDto();
try{
apiResultDto.setCode(1);
apiResultDto.setMessage("生成成功");
apiResultDto.setData(citReportService.generateTotalBranchOrgDisTable(projectId));
return apiResultDto;
}catch(Exception e){
e.printStackTrace();
apiResultDto.setCode(0);
apiResultDto.setMessage("生成失败");
return apiResultDto;
}
}
/**
* 获取当前卡片所拥有的模板
* @param projectId
......@@ -140,18 +159,18 @@ public class CitReportController {
/**
* 获取 企业所得税汇总纳税分支机构所得税分配表(A202000)
* @param citAssetsListDto
* @param citDistributionDto
* @return
*/
@RequestMapping(value = "/getCitDistribution", method = RequestMethod.POST)
@RequestMapping(value = "/getDistributionTables", method = RequestMethod.POST)
public @ResponseBody
ApiResultDto getCitDistribution(@RequestBody CitAssetsListDto citAssetsListDto){
ApiResultDto getCitDistribution(@RequestBody CitDistributionDto citDistributionDto){
logger.info("获取 企业所得税汇总纳税分支机构所得税分配表 的数据");
ApiResultDto apiResultDto = new ApiResultDto();
try{
apiResultDto.setCode(1);
apiResultDto.setMessage("获取成功");
apiResultDto.setData(citReportService.getAssetEamMappingPage(citAssetsListDto));
apiResultDto.setData(citReportService.getCitDistribution(citDistributionDto));
return apiResultDto;
}catch(Exception e){
e.printStackTrace();
......
......@@ -1019,7 +1019,7 @@ init-row="initRow" init-col="initCol" service-type="\'6\'" is-document-list="tru
function ($scope, $stateParams, appTranslation) {
appTranslation.load([appTranslation.cit]);
}],
template: '<cit-asset-eam-mapping></cit-asset-eam-mapping>',
template: '<cit-distribution-table></cit-distribution-table>',
}
},
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.cit),
......
......@@ -1141,5 +1141,12 @@
"DisposalProfitAndLoss": "Disposal Profit And Loss",
"TaxNetValue": "Tax Net Value",
"DisposalTaxBenefit": "Disposal Tax Benefit",
"DistributionTable" : "Distribution Table"
"DistributionTable" : "Distribution Table",
"OrgName": "Organization Name",
"BusinessIncome": "Business Income",
"EmployeeRemuneration": "Employee Remuneration",
"TotalAssets": "Total Assets",
"DistributionRatio": "Distribution Ratio",
"DistributionAmount": "Distribution Amount",
"Subtotal": "Total"
}
\ No newline at end of file
......@@ -1195,7 +1195,13 @@
"DisposalTaxBenefit": "处置的税收损益",
"BackAdjustAmount" : "调整后金额",
"OperateDate" : "操作日期",
"DistributionTable" : "总分机构分配表"
"DistributionTable" : "总分机构分配表",
"OrgName": "机构名称",
"BusinessIncome": "营业收入",
"EmployeeRemuneration": "职工薪酬",
"TotalAssets": "资产总额",
"DistributionRatio": "分配比例",
"DistributionAmount": "分配税额"
......
......@@ -3,7 +3,7 @@
<span translate="JournalTitle" class="text-bold"></span> &nbsp;&nbsp;|&nbsp;&nbsp;
<span class="text-bold" translate="InvoiceQJ" style="display: none"></span>
<input type="text" class="form-control input-width-middle periodInput" style="position: relative; top: -30px; left: 180px;display: none" id="input-invoice-period-picker" />
<span ng-click="downloadJE()" style="position: relative; top: -61px; left: 95%;"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'ExportBtn' | translate}}</span>
<span ng-click="downloadJE()" style="float:right"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'ExportBtn' | translate}}</span>
</div>
<!--<div style="margin-bottom: 8px;margin-left: 30px">-->
......
<div class="cit-distribution-table" id="mainPreviewDiv">
<div class="nav-wrapper">
<div class="nav-header">{{'DistributionTable' | translate}}</div>
<div class="nav-tab">
<span style="width: auto" ng-click="startCalculateData()">{{'startCaculateData' | translate}}</span>
<span ng-click="downloadJE()" style="position: relative; top: -61px; left: 95%;"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'ExportBtn' | translate}}</span>
</div>
</div>
<!--<div class="top-area-wrapper" style="margin-top: 10px">-->
<!--<span translate="DistributionTable" class="text-bold"></span> &nbsp;&nbsp;|&nbsp;&nbsp;-->
<!--<span class="text-bold" translate="InvoiceQJ" style="display: none"></span>-->
<!--<input type="text" class="form-control input-width-middle periodInput" style="position: relative; top: -30px; left: 180px;display: none" id="input-invoice-period-picker" />-->
<!--<span ng-click="downloadJE()" style="position: relative; top: -61px; left: 95%;"><i class="fa fa-file-excel-o" aria-hidden="true"></i>{{'ExportBtn' | translate}}</span>-->
<!--</div>-->
<!--<div style="margin-bottom: 8px;margin-left: 30px">-->
<!--{{'EnterpriseAccountSetName' | translate}}<span class="numAmount">{{ledgerName}}</span>&nbsp;&nbsp;&nbsp;-->
<!--{{'EnterpriseAccountSetCurrency' | translate}}<span class="numAmount">{{currencyCode}}</span>&nbsp;&nbsp;&nbsp;-->
<!--{{'IsCloseAccount' | translate}}<span class="numAmount">{{status}}</span>-->
<!--{{'ImportTime' | translate}}<span class="numAmount">{{importDate| date:'yyyy-MM-dd hh:mm:ss'}}</span>-->
<!--</div>-->
<div id="filterCriteriaDiv" style="max-width:98%;margin-bottom:2px;" ng-show="criteriaList.length>0">
<span class="text-bold margin-left20" translate="FilterCriteriaTags"></span>:
<span class="tag label label-default" ng-repeat="criteria in criteriaListFirstRow">
<span title="{{criteria.fullName}}">
{{criteria.name}}
</span>
<a><i class="remove glyphicon glyphicon-remove-sign glyphicon-white" ng-click="doDataFilter(criteria.propertyName)"></i></a>
</span>
<span ng-if="criteriaList.length>6"><br /></span>
<span ng-if="criteriaList.length>6" style="margin-left: 81px; margin-top: 19px; display: inline-block;"></span>
<span ng-if="criteriaList.length>6" class="tag label label-default" ng-repeat="criteria in criteriaListSecondRow">
<span title="{{criteria.fullName}}">
{{criteria.name}}
</span>
<a><i class="remove glyphicon glyphicon-remove-sign glyphicon-white" ng-click="doDataFilter(criteria.propertyName)"></i></a>
</span>
</div>
<div id="mainAreaDiv" class="main-area">
<div class="inputInvoiceGrid" ui-grid="gridOptions">
<div class="watermark" ng-show="!gridOptions.data.length"><span translate="NoDataAvailable"></span></div>
</div>
<div class="pagination-container">
<span>本页{{curPageItemCount}}条记录,共{{queryJournalEntryResult.pageInfo.total}}条记录</span>
<div id="totalInvoicePage" class="common-pagination" style="display:none;">
</div>
</div>
</div>
</div>
citModule.directive('citDistributionTable', ['$log',
function ($log) {
$log.debug('citDistributionTable.ctor()...');
return {
restrict: 'E',
templateUrl: '/app/cit/reduction/cit-distribution-table/cit-distribution-table.html' + '?_=' + Math.random(),
scope: {},
controller: 'citDistributionTableController',
link: function ($scope, element) {
}
};
}
]);
@import "~/app-resources/less/theme.less";
.cit-distribution-table {
background-color: white;
height: 100%;
.numAmount {
padding: 0 3px;
height: 21px;
margin-left: 5px;
/* font-family: 'Arial'; */
font-weight: 600;
border-radius: 2px;
font-style: normal;
outline: none;
border: none;
min-width: 20px;
background-color: #DDDDDD;
color: #AA0000;
}
.top-area-wrapper {
height: 60px;
width: 98%;
margin: 0 20px;
.filter-button {
width: 30px;
margin-top: 16px;
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
span {
cursor: pointer;
}
}
}
.filter-popup-wrapper {
display: none;
}
.margin-left20 {
margin-left: 20px;
}
/*******************************************/
/*Filter Criteria tags:*/
.tag {
font-size: 12px;
padding: .3em .4em .4em;
margin: 0 .1em;
a {
color: #bbb;
cursor: pointer;
opacity: 0.6;
margin: 0 0 0 .3em;
&:hover {
opacity: 1.0;
}
.glyphicon-white {
color: #fff;
margin-bottom: 2px;
}
}
.remove {
vertical-align: bottom;
top: 0;
}
}
/*Filter Criteria tags:*/
/*******************************************/
.main-area {
height: 100%;
//margin: 0 20px;
.watermark {
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: .25;
font-size: 3em;
width: 100%;
text-align: center;
z-index: 1000;
}
.inputInvoiceGrid {
width: 100%;
height: calc(~'100% - 158px');
.ui-grid-header-cell-wrapper .ui-grid-header-cell-row .ui-grid-cell-contents {
height: 40px;
i {
display: none;
}
}
}
}
.form-control {
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-middle {
width: 217px;
}
}
.popover {
min-width: 370px;
left: 119px !important;
.arrow {
left: 5% !important;
}
}
.popover-content {
td {
text-align: right;
padding: 6px;
span {
float: left;
}
}
.form-control {
display: inline-block;
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-small {
width: 100px;
}
.input-width-middle {
width: 217px;
}
}
.nav-wrapper {
padding-bottom: 10px;
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;
}
.nav-tab {
/*display: inline-block;*/
span {
display: inline-block;
height: 34px;
width: 80px;
text-align: center;
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;
}
}
}
\ No newline at end of file
......@@ -225,7 +225,18 @@
initExportAEMData: function (citAssetsListDto) {
return $http.post('/citReport/exportAEMData', citAssetsListDto, apiConfig.create({ responseType: 'arraybuffer' }));
},
/**
获取所得税分配表的数据
*/
getDistributionTables : function(citAssetsListDto){
return $http.post('/citReport/getDistributionTables', citAssetsListDto, apiConfig.create());
},
/**
生成所得税分配表的
*/
generateDistributionTable : function(projectId){
return $http.post('/citReport/generateDistributionTable/' + projectId, apiConfig.create());
},
};
}]);
\ No newline at end of file
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