Commit 71669dc5 authored by chase's avatar chase

收入明细功能

parent bf945c3a
package pwc.taxtech.atms.controller;
import org.springframework.web.bind.annotation.*;
import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.dto.billDetail.BillDetailParam;
import pwc.taxtech.atms.dto.billDetail.BillDetailResult;
import pwc.taxtech.atms.dto.input.CamelPagingResultDto;
import pwc.taxtech.atms.service.impl.BillDetailService;
import pwc.taxtech.atms.vat.entity.BillDetail;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping(value = "api/v1/billDetail")
public class BillDetailController extends BaseController {
@Resource
private BillDetailService billDetailService;
@PostMapping("queryPage")
public CamelPagingResultDto<BillDetailResult> queryPage(@RequestBody BillDetailParam param) {
return new CamelPagingResultDto<>(billDetailService.queryPage(param));
}
@PostMapping("queryBillTypeGroupBy")
public List<String> queryBillTypeGroupBy( @RequestParam(name = "projectId",required = true) String projectId,
@RequestParam(name = "period",required = true) Integer period) {
return billDetailService.queryBillTypeGroupBy(projectId,period);
}
@PostMapping("update")
public ApiResultDto updateConf(@RequestBody BillDetail billDetail) {
billDetailService.updateBillDetail(billDetail);
return ApiResultDto.success();
}
}
package pwc.taxtech.atms.dto.billDetail;
import pwc.taxtech.atms.dto.input.CamelPagingDto;
import java.io.Serializable;
import java.math.BigDecimal;
public class BillDetailParam implements Serializable {
private static final long serialVersionUID = 3854050681366543422L;
private CamelPagingDto pageInfo;
private String billType;
private String customer;
private String billContent;
private String billDate;
private Long revenueCofId;
private String department;
private BigDecimal billTaxRat;
private String billNumber;
private String projectId;
private Integer period;
private String queryDate;
public String getProjectId() {
return projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public Integer getPeriod() {
return period;
}
public void setPeriod(Integer period) {
this.period = period;
}
public String getQueryDate() {
return queryDate;
}
public void setQueryDate(String queryDate) {
this.queryDate = queryDate;
}
public String getCustomer() {
return customer;
}
public void setCustomer(String customer) {
this.customer = customer;
}
public Long getRevenueCofId() {
return revenueCofId;
}
public void setRevenueCofId(Long revenueCofId) {
this.revenueCofId = revenueCofId;
}
public String getBillType() {
return billType;
}
public void setBillType(String billType) {
this.billType = billType;
}
public String getBillContent() {
return billContent;
}
public void setBillContent(String billContent) {
this.billContent = billContent;
}
public String getBillDate() {
return billDate;
}
public void setBillDate(String billDate) {
this.billDate = billDate;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public BigDecimal getBillTaxRat() {
return billTaxRat;
}
public void setBillTaxRat(BigDecimal billTaxRat) {
this.billTaxRat = billTaxRat;
}
public String getBillNumber() {
return billNumber;
}
public void setBillNumber(String billNumber) {
this.billNumber = billNumber;
}
public CamelPagingDto getPageInfo() {
return this.pageInfo;
}
public void setPageInfo(CamelPagingDto pageInfo) {
this.pageInfo = pageInfo;
}
}
package pwc.taxtech.atms.dto.billDetail;
import java.io.Serializable;
import java.math.BigDecimal;
public class BillDetailResult implements Serializable {
private static final long serialVersionUID = 4342336578709406470L;
private Long id;
private String subject;
private String customer;
private String billType;
private String billContent;
private BigDecimal billAmount;
private BigDecimal billTaxRat;
private BigDecimal billTaxAmount;
private String OANo;
private String department;
private String billDate;
private String billCode;
private String billNumber;
private String revenueConfName;
private Long revenueCofId;
private Integer emptyCode;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getCustomer() {
return customer;
}
public void setCustomer(String customer) {
this.customer = customer;
}
public String getBillType() {
return billType;
}
public void setBillType(String billType) {
this.billType = billType;
}
public String getBillContent() {
return billContent;
}
public void setBillContent(String billContent) {
this.billContent = billContent;
}
public BigDecimal getBillAmount() {
return billAmount;
}
public void setBillAmount(BigDecimal billAmount) {
this.billAmount = billAmount;
}
public BigDecimal getBillTaxRat() {
return billTaxRat;
}
public void setBillTaxRat(BigDecimal billTaxRat) {
this.billTaxRat = billTaxRat;
}
public BigDecimal getBillTaxAmount() {
return billTaxAmount;
}
public void setBillTaxAmount(BigDecimal billTaxAmount) {
this.billTaxAmount = billTaxAmount;
}
public String getOANo() {
return OANo;
}
public void setOANo(String OANo) {
this.OANo = OANo;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getBillDate() {
return billDate;
}
public void setBillDate(String billDate) {
this.billDate = billDate;
}
public String getBillCode() {
return billCode;
}
public void setBillCode(String billCode) {
this.billCode = billCode;
}
public String getBillNumber() {
return billNumber;
}
public void setBillNumber(String billNumber) {
this.billNumber = billNumber;
}
public String getRevenueConfName() {
return revenueConfName;
}
public void setRevenueConfName(String revenueConfName) {
this.revenueConfName = revenueConfName;
}
public Long getRevenueCofId() {
return revenueCofId;
}
public void setRevenueCofId(Long revenueCofId) {
this.revenueCofId = revenueCofId;
}
public Integer getEmptyCode() {
return emptyCode;
}
public void setEmptyCode(Integer emptyCode) {
this.emptyCode = emptyCode;
}
}
......@@ -32,6 +32,17 @@ public class RevenueDetailResult implements Serializable {
private String taxOn;
private Integer emptyCode;
public Integer getEmptyCode() {
return emptyCode;
}
public void setEmptyCode(Integer emptyCode) {
this.emptyCode = emptyCode;
}
public String getSubject() {
return subject;
}
......
package pwc.taxtech.atms.service.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import pwc.taxtech.atms.dpo.BillDetailDto;
import pwc.taxtech.atms.dto.billDetail.BillDetailParam;
import pwc.taxtech.atms.dto.billDetail.BillDetailResult;
import pwc.taxtech.atms.vat.dao.BillDetailMapper;
import pwc.taxtech.atms.vat.entity.BillDetail;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class BillDetailService extends BaseService {
@Resource
private BillDetailMapper billDetailMapper;
public PageInfo<BillDetailResult> queryPage(BillDetailParam param) {
Page page = PageHelper.startPage(param.getPageInfo().getPageIndex(), param.getPageInfo().getPageSize());
List<BillDetailDto> dataList = billDetailMapper.queryBillWithRevenueConf(param.getBillType(), param.getCustomer(), param.getBillNumber(), param.getRevenueCofId(), param.getBillContent(), param.getDepartment(), param.getBillTaxRat(), param.getBillDate(), param.getProjectId(), param.getPeriod(), param.getQueryDate());
PageInfo<BillDetailResult> pageInfo = new PageInfo<>(dataList.stream()
.map(o -> beanUtil.copyProperties(o, new BillDetailResult())).collect(Collectors.toList()));
pageInfo.setTotal(page.getTotal());
return pageInfo;
}
public List<String> queryBillTypeGroupBy(String projectId,Integer period){
return billDetailMapper.queryBillTypeGroupBy(projectId,period);
}
public void updateBillDetail(BillDetail billDetail) {
billDetailMapper.updateByPrimaryKeySelective(billDetail);
}
}
......@@ -46,7 +46,7 @@
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>-->
<table tableName="pwc_report_attach" domainObjectName="PwcReportAttach">
<table tableName="bill_detail" domainObjectName="BillDetail">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
</table>
......
package pwc.taxtech.atms.dpo;
import java.io.Serializable;
import java.math.BigDecimal;
public class BillDetailDto implements Serializable {
private static final long serialVersionUID = 3576219442624663660L;
private Long id;
private String subject;
private String customer;
private String billType;
private String billContent;
private BigDecimal billAmount;
private BigDecimal billTaxRat;
private BigDecimal billTaxAmount;
private String OANo;
private String department;
private String billDate;
private String billCode;
private String billNumber;
private String revenueConfName;
private Long revenueCofId;
private Integer emptyCode;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getCustomer() {
return customer;
}
public void setCustomer(String customer) {
this.customer = customer;
}
public String getBillType() {
return billType;
}
public void setBillType(String billType) {
this.billType = billType;
}
public String getBillContent() {
return billContent;
}
public void setBillContent(String billContent) {
this.billContent = billContent;
}
public BigDecimal getBillAmount() {
return billAmount;
}
public void setBillAmount(BigDecimal billAmount) {
this.billAmount = billAmount;
}
public BigDecimal getBillTaxRat() {
return billTaxRat;
}
public void setBillTaxRat(BigDecimal billTaxRat) {
this.billTaxRat = billTaxRat;
}
public BigDecimal getBillTaxAmount() {
return billTaxAmount;
}
public void setBillTaxAmount(BigDecimal billTaxAmount) {
this.billTaxAmount = billTaxAmount;
}
public String getOANo() {
return OANo;
}
public void setOANo(String OANo) {
this.OANo = OANo;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getBillDate() {
return billDate;
}
public void setBillDate(String billDate) {
this.billDate = billDate;
}
public String getBillCode() {
return billCode;
}
public void setBillCode(String billCode) {
this.billCode = billCode;
}
public String getBillNumber() {
return billNumber;
}
public void setBillNumber(String billNumber) {
this.billNumber = billNumber;
}
public String getRevenueConfName() {
return revenueConfName;
}
public void setRevenueConfName(String revenueConfName) {
this.revenueConfName = revenueConfName;
}
public Long getRevenueCofId() {
return revenueCofId;
}
public void setRevenueCofId(Long revenueCofId) {
this.revenueCofId = revenueCofId;
}
public Integer getEmptyCode() {
return emptyCode;
}
public void setEmptyCode(Integer emptyCode) {
this.emptyCode = emptyCode;
}
}
......@@ -32,6 +32,16 @@ public class RevenueDetailDto implements Serializable {
private String taxOn;
private Integer emptyCode;
public Integer getEmptyCode() {
return emptyCode;
}
public void setEmptyCode(Integer emptyCode) {
this.emptyCode = emptyCode;
}
public String getSubject() {
return subject;
}
......
package pwc.taxtech.atms.vat.dao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyVatMapper;
import pwc.taxtech.atms.dpo.BillDetailDto;
import pwc.taxtech.atms.vat.entity.BillDetail;
import pwc.taxtech.atms.vat.entity.BillDetailExample;
import java.math.BigDecimal;
import java.util.List;
@Mapper
public interface BillDetailMapper extends MyVatMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
long countByExample(BillDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int deleteByExample(BillDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int insert(BillDetail record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int insertSelective(BillDetail record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
List<BillDetail> selectByExampleWithRowbounds(BillDetailExample example, RowBounds rowBounds);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
List<BillDetail> selectByExample(BillDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
BillDetail selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") BillDetail record, @Param("example") BillDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int updateByExample(@Param("record") BillDetail record, @Param("example") BillDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(BillDetail record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table bill_detail
*
* @mbg.generated
*/
int updateByPrimaryKey(BillDetail record);
List<BillDetailDto> queryBillWithRevenueConf(
@Param("billType") String billType,
@Param("customer") String customer,
@Param("billNumber") String billNumber,
@Param("revenueCofId") Long revenueCofId,
@Param("billContent") String billContent,
@Param("department") String department,
@Param("billTaxRat") BigDecimal billTaxRat,
@Param("billDate") String billDate,
@Param("projectId") String projectId,
@Param("period") Integer period,
@Param("queryDate") String queryDate);
List<String> queryBillTypeGroupBy(@Param("projectId") String projectId,
@Param("period") Integer period);
}
\ 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.BillDetailMapper">
<select id="queryBillWithRevenueConf" resultType="pwc.taxtech.atms.dpo.BillDetailDto">
select detail.*
from (select bd.id as id,
bd.subject as subject,
bd.customer as customer,
bd.bill_type as billType,
bd.bill_content as billContent,
bd.bill_amount as billAmount,
bd.tax_rate as billTaxRat,
bd.tax_amount as billTaxAmount,
bd.oa_no as OANo,
bd.department as department,
bd.bill_date as billDate,
bd.bill_code as billCode,
bd.bill_no as billNumber,
bd.revenue_cof_id as revenueCofId,
rc.name as revenueConfName,
case
when rc.id is null then 1
<![CDATA[WHEN rc.id IS NOT NULL and (rc.start_date > #{queryDate} or rc.end_date < #{queryDate}) then 1]]>
<![CDATA[WHEN rc.id IS NOT NULL and rc.start_date <= #{queryDate} and rc.end_date >= #{queryDate} THEN 2]]>
end as emptyCode
from bill_detail as bd
left join revenue_config as rc on rc.org_id = bd.organization_id and rc.id = bd.revenue_cof_id
where bd.project_id = #{projectId}
and bd.period = #{period}
<if test="billType != null and billType != ''">
and bd.bill_type = #{billType}
</if>
<if test="customer != null and customer != ''">
and bd.customer like concat('%',#{customer},'%')
</if>
<if test="billNumber != null and billNumber != ''">
and bd.bill_no like concat('%',#{billNumber},'%')
</if>
<if test="revenueCofId != null">
and bd.revenue_cof_id = #{revenueCofId}
</if>
<if test="billContent != null and billContent != ''">
and bd.bill_content like concat('%',#{billContent},'%')
</if>
<if test="department != null and department != ''">
and bd.department like concat('%',#{department},'%')
</if>
<if test="billTaxRat != null">
and bd.tax_rate = #{billTaxRat}
</if>
<if test="billDate != null and billDate != ''">
and bd.bill_date = #{billDate}
</if>
) as detail
order by detail.emptyCode,detail.billDate desc
</select>
<select id="queryBillTypeGroupBy" resultType="java.lang.String">
select bill_type
from bill_detail
where project_id = #{projectId}
and period = #{period}
group by bill_type;
</select>
</mapper>
\ No newline at end of file
......@@ -26,7 +26,7 @@
when tbf.segment3 like '8002%' and rc.id is null then 1
<![CDATA[WHEN rc.id IS NOT NULL and (rc.start_date > #{queryDate} or rc.end_date < #{queryDate}) then 1]]>
<![CDATA[WHEN rc.id IS NOT NULL and rc.start_date <= #{queryDate} and rc.end_date >= #{queryDate} THEN 2]]>
else 3 end as isEmpty
else 3 end as emptyCode
from trial_balance_final as tbf
left join
revenue_config as rc
......@@ -70,8 +70,8 @@
</if>
) as detail
where
<![CDATA[detail.isEmpty < 3]]>
order by detail.isEmpty
<![CDATA[detail.emptyCode < 3]]>
order by detail.emptyCode
</select>
......
......@@ -982,6 +982,22 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
deepStateRedirect: true,
sticky: true
});
$stateProvider.state({
name: 'vat.reductionData.billDetail',
url: '/billDetail',
views: {
'@vat.reductionData': {
controller: ['$scope', '$stateParams', 'appTranslation',
function ($scope, $stateParams, appTranslation) {
appTranslation.load([appTranslation.vat]);
}],
template: '<vat-bill-detail></vat-bill-detail>',
}
},
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.vat),
deepStateRedirect: true,
sticky: true
});
$stateProvider.state({
name: 'vat.reductionData.unbilledInvoice',
url: '/unbilledInvoice',
......
......@@ -501,6 +501,7 @@ constant.vatPermission = {
},
revenueDetailCode:'02.003.004',
billDetailCode:'02.003.005',
caculateDataCode: '02.003.003',
unbilledInvoiceCode: '02.003.004',
......
......@@ -948,6 +948,8 @@
$state.go('vat.reductionData.caculateData');
}else if (data[constant.vatPermission.dataManage.revenueDetailCode]){
$state.go('vat.reductionData.revenueDetail');
}else if (data[constant.vatPermission.dataManage.billDetailCode]){
$state.go('vat.reductionData.billDetail');
} /*else if (data[constant.vatPermission.dataManage.unbilledInvoiceCode]) {
$state.go('vat.reductionData.unbilledInvoice');
}*/ else if (data[constant.vatPermission.reportView.bsplCode] || data[constant.vatPermission.reportView.taxReturnCode]) {
......
......@@ -107,6 +107,10 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
name: 'revenueDetail', permission: constant.vatPermission.dataManage.revenueDetailCode,
text: $translate.instant('revenueDetail'), icon: 'fa fa-random', show: true
},
{
name: 'billDetail', permission: constant.vatPermission.dataManage.billDetailCode,
text: $translate.instant('billDetail'), icon: 'fa fa-random', show: true
}
/*{
name: 'accountMapping', permission: constant.vatPermission.dataManage.accountMappingCode,
text: $translate.instant('accountMapping'), icon: 'fa fa-map', show: true
......
<div class="vat-bill-detail">
<div class="header-title">
<div style="display:inline-block"><span class="title-name">{{'BillDetail' | translate }}</span></div>
</div>
<div class="content-container">
<div class="header">
<div class="search-panel">
<table class="table borderless table-bottom">
<tr>
<td><span class="lbl-name">{{'BillSearchType' | translate }}:</span></td>
<td>
<div dx-select-box="searchOptions.billTypeOptions"></div>
</td>
<td><span class="lbl-name">{{'BillSearchCustomer' | translate }}:</span></td>
<td>
<input class="form-control" name="name" ng-model="searchParam.customer" maxlength="20">
</td>
<td><span class="lbl-name">{{'BillSearchNumber' | translate }}:</span></td>
<td>
<input class="form-control" name="name" ng-model="searchParam.billNumber" maxlength="20">
</td>
<td ng-show="!hasShowMoreSearchBox">
<button type="button" class="btn btn-primary invoice-btn"
ng-click="searchboxService.search()">{{'BillDtlSearch' | translate }}
</button>
</td>
<td ng-show="!hasShowMoreSearchBox">
<button type="button" class="btn btn-primary invoice-btn"
ng-click="searchboxService.resetBox()">{{'BillDtlReset' | translate }}
</button>
</td>
<td ng-show="!hasShowMoreSearchBox">
<span class="lbl-name">
<a href="javacript:void(0)" ng-click="searchboxService.showOrHideSearchBox()"><span><i
class="fa fa-chevron-down" aria-hidden="true"></i><span
style="margin-left:3px;">{{'BillDtlMoreSearch' | translate }}</span></span></a>
</span>
</td>
</tr>
<tr ng-show="hasShowMoreSearchBox">
</td>
<td><span class="lbl-name">{{'BillSearchRevenueType' | translate }}:</span></td>
<td>
<div dx-select-box="searchOptions.revenueTypeOptions"></div>
</td>
<td><span class="lbl-name">{{'BillSearchContent' | translate }}:</span></td>
<td>
<input class="form-control" name="name" ng-model="searchParam.billContent" maxlength="20">
</td>
<td><span class="lbl-name">{{'BillSearchDepartment' | translate }}:</span></td>
<td>
<input class="form-control" name="name" ng-model="searchParam.department" maxlength="20">
</td>
</tr>
<tr ng-show="hasShowMoreSearchBox">
<td><span class="lbl-name">{{'BillSearchTaxRate' | translate }}:</span></td>
<td>
<div dx-select-box="searchOptions.taxRateOptions"></div>
</td>
<td><span class="lbl-name">{{'BillSearchDate' | translate }}:</span></td>
<td>
<div class="period-picker">
<input type="text" id="periodDatepicker" class="datepicker imp-subheader" style="width:120px;"
readonly="readonly" ng-model="searchParam.billDate"/>
<i class="fa fa-calendar imp-subheader red-color" style="width:20px;"></i>
</div>
</td>
<td>
<button type="button" class="btn btn-primary invoice-btn"
ng-click="searchboxService.search()">{{'BillDtlSearch' | translate }}
</button>
</td>
<td>
<button type="button" class="btn btn-primary invoice-btn"
ng-click="searchboxService.resetBox()">{{'BillDtlReset' | translate }}
</button>
</td>
<td>
<a href="javascript:void(0);" ng-click="searchboxService.showOrHideSearchBox()">
<span><i class="fa fa-chevron-up" aria-hidden="true"></i><span
style="margin-left:3px;">{{'BillDtlShrink' | translate }}</span></span></a>
</td>
</tr>
</table>
</div>
</div>
<div class="body">
<div class="grid-container">
<div id="invoiceGridContainer" dx-data-grid="revenueGridOptions">
<div data-options="dxTemplate:{ name:'editCellTemplate' }">
</div>
</div>
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
refresh-table="refreshGrid()"></ack-pagination>
</div>
</div>
</div>
<div class="modal fade" id="editRevenueTypeDiv" tabindex="-1" role="dialog">
<div class="modal-dialog" style="width: 1200px;" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="modal-title">
<span translate="BillEditRevenueType"></span>
</h3>
</div>
<div class="modal-body" id="modal-body">
<form class="form-horizontal" id="configForm">
<div class="form-group">
<label class="col-sm-2 control-label"><span style="color: red">*</span>{{'BillSearchRevenueType' | translate}}:</label>
<div class="col-sm-4">
<div dx-select-box="searchOptions.editRevenueTypeOptions"></div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" ng-click="updateBillDetail()">{{'Confirm' | translate }}</button>
<button type="button" class="btn btn-third" data-dismiss="modal" ng-click="cancelModal()">{{'Cancel' | translate }}</button>
</div>
</div>
</div>
</div>
</div>
vatModule.directive('vatBillDetail', ['$log', 'browserService', '$translate', 'region', '$timeout',
function ($log, browserService, $translate, region, $timeout) {
$log.debug('vatBillDetail.ctor()...');
return {
restrict: 'E',
templateUrl: '/app/vat/reduction/vat-bill-detail/vat-bill-detail.html' + '?_=' + Math.random(),
scope: {},
controller: 'vatBillDetailController'
}
}
]);
\ No newline at end of file
......@@ -81,7 +81,7 @@
fixed: true,
allowHeaderFiltering: true, cellTemplate: function (container, options) {
try {
if (options.data.type == null) {
if (options.data.emptyCode == 1 || options.data.type == null) {
$('<i class="fa fa-exclamation-circle fa-1x" style="color: yellow" aria-hidden="true "></i>&nbsp;&nbsp;')
.appendTo(container);
} else {
......@@ -102,7 +102,7 @@
allowHeaderFiltering: true,
cellTemplate: function (container, options) {
try {
if (options.data.category == null) {
if (options.data.emptyCode == 1 || options.data.category == null) {
$('<i class="fa fa-exclamation-circle fa-1x" style="color: yellow" aria-hidden="true "></i>&nbsp;&nbsp;')
.appendTo(container);
} else {
......@@ -130,7 +130,7 @@
allowHeaderFiltering: true,
cellTemplate: function (container, options) {
try {
if (options.data.taxOn == null) {
if (options.data.emptyCode == 1 || options.data.taxOn == null) {
$('<i class="fa fa-exclamation-circle fa-1x" style="color: yellow" aria-hidden="true "></i>&nbsp;&nbsp;')
.appendTo(container);
} else {
......
......@@ -143,6 +143,7 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
constant.vatPermission.dataManage.caculateDataCode,
constant.vatPermission.dataManage.revenueDetailCode,
constant.vatPermission.dataManage.billDetailCode,
// constant.vatPermission.dataManage.accountMappingCode,
// constant.vatPermission.dataManage.goodsMappingCode,
// constant.vatPermission.dataManage.unbilledInvoiceCode,
......@@ -336,6 +337,10 @@ function ($scope, $rootScope, $q, $log, $timeout, $state, $translate, projectSer
name: 'reductionData.revenueDetail', state: 'reductionData.revenueDetail', num: 3,
permission: constant.vatPermission.dataManage.revenueDetailCode, url: '#/vat/reductionData/revenueDetail'
});
subMenus.push({
name: 'reductionData.billDetail', state: 'reductionData.billDetail', num: 3,
permission: constant.vatPermission.dataManage.billDetailCode, url: '#/vat/reductionData/billDetail'
});
}
else if (data[constant.vatPermission.dataManage.accountMappingCode]) {
$scope.menus.push({
......
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