Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
4d3fbe35
Commit
4d3fbe35
authored
Nov 21, 2022
by
jianglingfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发票
parent
4b5b3017
Changes
22
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
2587 additions
and
816 deletions
+2587
-816
ruoyi-admin/src/main/java/com/ruoyi/web/controller/finance/FncCompanyController.java
...om/ruoyi/web/controller/finance/FncCompanyController.java
+13
-1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/finance/FncInvoiceController.java
...om/ruoyi/web/controller/finance/FncInvoiceController.java
+90
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncCompany.java
...tem/src/main/java/com/ruoyi/system/domain/FncCompany.java
+2
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncInvoice.java
...tem/src/main/java/com/ruoyi/system/domain/FncInvoice.java
+217
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncInvoiceItem.java
...src/main/java/com/ruoyi/system/domain/FncInvoiceItem.java
+180
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncLedger.java
...stem/src/main/java/com/ruoyi/system/domain/FncLedger.java
+2
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/FncInvoiceItemVo.java
...ain/java/com/ruoyi/system/domain/vo/FncInvoiceItemVo.java
+22
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/FncInvoiceVo.java
...rc/main/java/com/ruoyi/system/domain/vo/FncInvoiceVo.java
+25
-0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/FncInvoiceItemMapper.java
...in/java/com/ruoyi/system/mapper/FncInvoiceItemMapper.java
+25
-0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/FncInvoiceMapper.java
...c/main/java/com/ruoyi/system/mapper/FncInvoiceMapper.java
+26
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/IFncInvoiceItemService.java
...java/com/ruoyi/system/service/IFncInvoiceItemService.java
+41
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/IFncInvoiceService.java
...ain/java/com/ruoyi/system/service/IFncInvoiceService.java
+41
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FncInvoiceItemServiceImpl.java
.../ruoyi/system/service/impl/FncInvoiceItemServiceImpl.java
+37
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FncInvoiceServiceImpl.java
.../com/ruoyi/system/service/impl/FncInvoiceServiceImpl.java
+119
-0
ruoyi-system/src/main/resources/mapper/finance/FncInvoiceItemMapper.xml
...rc/main/resources/mapper/finance/FncInvoiceItemMapper.xml
+70
-0
ruoyi-system/src/main/resources/mapper/finance/FncInvoiceMapper.xml
...em/src/main/resources/mapper/finance/FncInvoiceMapper.xml
+150
-0
ruoyi-ui/src/api/finance/company.js
ruoyi-ui/src/api/finance/company.js
+33
-25
ruoyi-ui/src/api/finance/invoice.js
ruoyi-ui/src/api/finance/invoice.js
+53
-0
ruoyi-ui/src/views/finance/company/index.vue
ruoyi-ui/src/views/finance/company/index.vue
+70
-124
ruoyi-ui/src/views/finance/invoice/index.vue
ruoyi-ui/src/views/finance/invoice/index.vue
+619
-596
ruoyi-ui/src/views/finance/invoice/index2.vue
ruoyi-ui/src/views/finance/invoice/index2.vue
+618
-0
sql/ry-vue.sql
sql/ry-vue.sql
+134
-70
No files found.
ruoyi-admin/src/main/java/com/ruoyi/web/controller/finance/FncCompanyController.java
View file @
4d3fbe35
...
@@ -35,7 +35,7 @@ public class FncCompanyController extends BaseController
...
@@ -35,7 +35,7 @@ public class FncCompanyController extends BaseController
private
IFncCompanyService
fncCompanyService
;
private
IFncCompanyService
fncCompanyService
;
/**
/**
* 查询记账公司列表
* 查询记账公司列表
(分页)
*/
*/
@PreAuthorize
(
"@ss.hasPermi('finance:company:list')"
)
@PreAuthorize
(
"@ss.hasPermi('finance:company:list')"
)
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
...
@@ -46,6 +46,18 @@ public class FncCompanyController extends BaseController
...
@@ -46,6 +46,18 @@ public class FncCompanyController extends BaseController
return
getDataTable
(
list
);
return
getDataTable
(
list
);
}
}
/**
* 查询记账公司列表
*/
@PreAuthorize
(
"@ss.hasPermi('finance:company:list')"
)
@GetMapping
(
"/listall"
)
public
TableDataInfo
listall
()
{
List
<
FncCompany
>
list
=
fncCompanyService
.
selectFncCompanyList
(
null
);
return
getDataTable
(
list
);
}
/**
/**
* 导出记账公司列表
* 导出记账公司列表
*/
*/
...
...
ruoyi-admin/src/main/java/com/ruoyi/web/controller/finance/FncInvoiceController.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.controller
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.system.domain.vo.FncInvoiceVo
;
import
com.ruoyi.system.service.IFncInvoiceService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* 发票Controller
*
* @author jlf
* @date 2022-11-20
*/
@Api
(
tags
=
"发票Controller"
)
@RestController
@RequestMapping
(
"/finance/invoice"
)
public
class
FncInvoiceController
extends
BaseController
{
@Autowired
private
IFncInvoiceService
fncInvoiceService
;
@ApiOperation
(
"查询发票列表"
)
@PreAuthorize
(
"@ss.hasPermi('finance:invoice:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
FncInvoiceVo
>
list
(
FncInvoiceVo
entity
)
{
return
fncInvoiceService
.
queryList
(
entity
);
}
@ApiOperation
(
"查询发票所有列表"
)
@GetMapping
(
"/listAll"
)
public
AjaxResult
listAll
(
FncInvoiceVo
entity
)
{
return
AjaxResult
.
success
(
"查询成功"
,
fncInvoiceService
.
queryAll
(
entity
));
}
@ApiOperation
(
"导出发票列表"
)
@PreAuthorize
(
"@ss.hasPermi('finance:invoice:export')"
)
@Log
(
title
=
"发票"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
FncInvoiceVo
entity
)
{
List
<
FncInvoiceVo
>
list
=
fncInvoiceService
.
queryAll
(
entity
);
ExcelUtil
<
FncInvoiceVo
>
util
=
new
ExcelUtil
<>(
FncInvoiceVo
.
class
);
util
.
exportExcel
(
response
,
list
,
"发票数据"
);
}
@ApiOperation
(
"获取发票详细信息"
)
@PreAuthorize
(
"@ss.hasPermi('finance:invoice:query')"
)
@GetMapping
(
value
=
"/getInfo/{invoiceId}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"invoiceId"
)
Long
invoiceId
)
{
return
AjaxResult
.
success
(
"查询成功"
,
fncInvoiceService
.
queryById
(
invoiceId
));
}
@ApiOperation
(
"新增发票"
)
@PreAuthorize
(
"@ss.hasPermi('finance:invoice:add')"
)
@Log
(
title
=
"发票"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"add"
)
public
AjaxResult
add
(
@RequestBody
FncInvoiceVo
entity
)
{
return
toAjax
(
fncInvoiceService
.
save
(
entity
));
}
@ApiOperation
(
"修改发票"
)
@PreAuthorize
(
"@ss.hasPermi('finance:invoice:edit')"
)
@Log
(
title
=
"发票"
,
businessType
=
BusinessType
.
UPDATE
)
@PostMapping
(
"edit"
)
public
AjaxResult
edit
(
@RequestBody
FncInvoiceVo
entity
)
{
return
toAjax
(
fncInvoiceService
.
updateById
(
entity
));
}
@ApiOperation
(
"删除发票"
)
@PreAuthorize
(
"@ss.hasPermi('finance:invoice:remove')"
)
@Log
(
title
=
"发票"
,
businessType
=
BusinessType
.
DELETE
)
@GetMapping
(
"/remove/{invoiceIds}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
invoiceIds
)
{
return
toAjax
(
fncInvoiceService
.
removeByIds
(
Arrays
.
asList
(
invoiceIds
))
?
1
:
0
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncCompany.java
View file @
4d3fbe35
package
com.ruoyi.system.domain
;
package
com.ruoyi.system.domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.annotation.Excel
;
...
@@ -16,6 +17,7 @@ public class FncCompany extends BaseEntity
...
@@ -16,6 +17,7 @@ public class FncCompany extends BaseEntity
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/** 记账公司id */
/** 记账公司id */
@TableId
private
Long
companyId
;
private
Long
companyId
;
/** 记账公司名称 */
/** 记账公司名称 */
...
...
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncInvoice.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.domain
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.ruoyi.common.annotation.Excel
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.ruoyi.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
lombok.experimental.Accessors
;
/**
* 发票对象 fnc_invoice
*
* @author jlf
* @date 2022-11-20
*/
@Data
@Accessors
(
chain
=
true
)
@ToString
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
FncInvoice
extends
BaseEntity
{
/**
* 发票id
*/
@TableId
private
Long
invoiceId
;
/**
* 公司id
*/
@Excel
(
name
=
"公司id"
)
private
Long
companyId
;
/**
* 公司名称
*/
@Excel
(
name
=
"公司名称"
)
private
String
companyName
;
/**
* 发票类型(0:普通发票,1:增值税专用发票)
*/
@Excel
(
name
=
"发票类型"
,
readConverterExp
=
"0=:普通发票,1:增值税专用发票"
)
private
Integer
invoiceType
;
/**
* 发票性质 (0:进项,1:出项)
*/
@Excel
(
name
=
"发票性质 (0:进项,1:出项)"
)
private
Integer
invoiceNature
;
/**
* 部门名称
*/
@Excel
(
name
=
"部门名称"
)
private
String
depName
;
/**
* 发票日期
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"发票日期"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
invoiceDate
;
/**
* 购买方名称
*/
@Excel
(
name
=
"购买方名称"
)
private
String
buyName
;
/**
* 购买方纳税人识别号
*/
@Excel
(
name
=
"购买方纳税人识别号"
)
private
String
buyTaxpayerNo
;
/**
* 购买方地址
*/
@Excel
(
name
=
"购买方地址"
)
private
String
buyAddress
;
/**
* 购买方电话
*/
@Excel
(
name
=
"购买方电话"
)
private
String
buyPhone
;
/**
* 购买方开户行
*/
@Excel
(
name
=
"购买方开户行"
)
private
String
buyBankDeposit
;
/**
* 购买方银行账号
*/
@Excel
(
name
=
"购买方银行账号"
)
private
String
buyBankAccount
;
/**
* 申请人
*/
@Excel
(
name
=
"申请人"
)
private
String
applicant
;
/**
* 审核人
*/
@Excel
(
name
=
"审核人"
)
private
String
checker
;
/**
* 项目编号/发票号码
*/
@Excel
(
name
=
"项目编号/发票号码"
)
private
String
projectOrInvoiceNo
;
/**
* 合计金额
*/
@Excel
(
name
=
"合计金额"
)
private
BigDecimal
amountSum
;
/**
* 合计税额
*/
@Excel
(
name
=
"合计税额"
)
private
BigDecimal
taxSum
;
/**
* 价税合计(大写)
*/
@Excel
(
name
=
"价税合计"
,
readConverterExp
=
"大=写"
)
private
String
amountTaxCapital
;
/**
* 价税合计(小写)
*/
@Excel
(
name
=
"价税合计"
,
readConverterExp
=
"小=写"
)
private
BigDecimal
amountTaxLower
;
/**
* 销售方名称
*/
@Excel
(
name
=
"销售方名称"
)
private
String
saleName
;
/**
* 销售方纳税人识别号
*/
@Excel
(
name
=
"销售方纳税人识别号"
)
private
String
saleTaxpayerNo
;
/**
* 销售方地址
*/
@Excel
(
name
=
"销售方地址"
)
private
String
saleAddress
;
/**
* 销售方电话
*/
@Excel
(
name
=
"销售方电话"
)
private
String
salePhone
;
/**
* 销售方开户行
*/
@Excel
(
name
=
"销售方开户行"
)
private
String
saleBankDeposit
;
/**
* 销售方银行账号
*/
@Excel
(
name
=
"销售方银行账号"
)
private
String
saleBankAccount
;
/**
* 备注
*/
@Excel
(
name
=
"备注"
)
private
String
note
;
/**
* 收款人
*/
@Excel
(
name
=
"收款人"
)
private
String
payee
;
/**
* 复核人
*/
@Excel
(
name
=
"复核人"
)
private
String
reviewer
;
/**
* 开票人
*/
@Excel
(
name
=
"开票人"
)
private
String
drawer
;
/**
* 发票项信息
*/
@TableField
(
exist
=
false
)
private
List
<
FncInvoiceItem
>
fncInvoiceItemList
;
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncInvoiceItem.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.domain
;
import
java.math.BigDecimal
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.core.domain.BaseEntity
;
/**
* 发票项对象 fnc_invoice_item
*
* @author jlf
* @date 2022-11-20
*/
public
class
FncInvoiceItem
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 发票项id
*/
@TableId
private
Long
invoiceItemId
;
/**
* 发票id
*/
@Excel
(
name
=
"发票id"
)
private
Long
invoiceId
;
/**
~+ * 货物或应税劳务、服务名称
*/
@Excel
(
name
=
"货物或应税劳务、服务名称"
)
private
String
objectName
;
/**
* 规格型号
*/
@Excel
(
name
=
"规格型号"
)
private
String
specs
;
/**
* 单位
*/
@Excel
(
name
=
"单位"
)
private
String
unit
;
/**
* 数量
*/
@Excel
(
name
=
"数量"
)
private
BigDecimal
quantity
;
/**
* 单价(含税)
*/
@Excel
(
name
=
"单价(含税)"
)
private
BigDecimal
unitPriceTax
;
/**
* 金额(不含税)
*/
@Excel
(
name
=
"金额(不含税)"
)
private
BigDecimal
amountNoTax
;
/**
* 税率
*/
@Excel
(
name
=
"税率"
)
private
BigDecimal
taxRate
;
/**
* 税额
*/
@Excel
(
name
=
"税额"
)
private
BigDecimal
taxAmount
;
public
void
setInvoiceItemId
(
Long
invoiceItemId
)
{
this
.
invoiceItemId
=
invoiceItemId
;
}
public
Long
getInvoiceItemId
()
{
return
invoiceItemId
;
}
public
void
setInvoiceId
(
Long
invoiceId
)
{
this
.
invoiceId
=
invoiceId
;
}
public
Long
getInvoiceId
()
{
return
invoiceId
;
}
public
void
setObjectName
(
String
objectName
)
{
this
.
objectName
=
objectName
;
}
public
String
getObjectName
()
{
return
objectName
;
}
public
void
setSpecs
(
String
specs
)
{
this
.
specs
=
specs
;
}
public
String
getSpecs
()
{
return
specs
;
}
public
void
setUnit
(
String
unit
)
{
this
.
unit
=
unit
;
}
public
String
getUnit
()
{
return
unit
;
}
public
void
setQuantity
(
BigDecimal
quantity
)
{
this
.
quantity
=
quantity
;
}
public
BigDecimal
getQuantity
()
{
return
quantity
;
}
public
void
setUnitPriceTax
(
BigDecimal
unitPriceTax
)
{
this
.
unitPriceTax
=
unitPriceTax
;
}
public
BigDecimal
getUnitPriceTax
()
{
return
unitPriceTax
;
}
public
void
setAmountNoTax
(
BigDecimal
amountNoTax
)
{
this
.
amountNoTax
=
amountNoTax
;
}
public
BigDecimal
getAmountNoTax
()
{
return
amountNoTax
;
}
public
void
setTaxRate
(
BigDecimal
taxRate
)
{
this
.
taxRate
=
taxRate
;
}
public
BigDecimal
getTaxRate
()
{
return
taxRate
;
}
public
void
setTaxAmount
(
BigDecimal
taxAmount
)
{
this
.
taxAmount
=
taxAmount
;
}
public
BigDecimal
getTaxAmount
()
{
return
taxAmount
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"invoiceItemId"
,
getInvoiceItemId
())
.
append
(
"invoiceId"
,
getInvoiceId
())
.
append
(
"objectName"
,
getObjectName
())
.
append
(
"specs"
,
getSpecs
())
.
append
(
"unit"
,
getUnit
())
.
append
(
"quantity"
,
getQuantity
())
.
append
(
"unitPriceTax"
,
getUnitPriceTax
())
.
append
(
"amountNoTax"
,
getAmountNoTax
())
.
append
(
"taxRate"
,
getTaxRate
())
.
append
(
"taxAmount"
,
getTaxAmount
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
toString
();
}
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/FncLedger.java
View file @
4d3fbe35
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import
java.util.Date
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
...
@@ -21,6 +22,7 @@ public class FncLedger extends BaseEntity
...
@@ -21,6 +22,7 @@ public class FncLedger extends BaseEntity
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/** 项目台账id */
/** 项目台账id */
@TableId
private
Long
ledgerId
;
private
Long
ledgerId
;
/** 分类 */
/** 分类 */
...
...
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/FncInvoiceItemVo.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.domain.vo
;
import
java.math.BigDecimal
;
import
com.ruoyi.system.domain.FncInvoiceItem
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
lombok.experimental.Accessors
;
/**
* 发票项Vo对象 fnc_invoice_item
*
* @author jlf
* @date 2022-11-20
*/
@Data
@Accessors
(
chain
=
true
)
@ToString
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
FncInvoiceItemVo
extends
FncInvoiceItem
{
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/FncInvoiceVo.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.domain.vo
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.ruoyi.system.domain.FncInvoice
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
lombok.experimental.Accessors
;
/**
* 发票Vo对象 fnc_invoice
*
* @author jlf
* @date 2022-11-20
*/
@Data
@Accessors
(
chain
=
true
)
@ToString
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
FncInvoiceVo
extends
FncInvoice
{
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/FncInvoiceItemMapper.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.ruoyi.system.domain.FncInvoiceItem
;
import
com.ruoyi.system.domain.vo.FncInvoiceItemVo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 发票项Mapper接口
*
* @author jlf
* @date 2022-11-20
*/
public
interface
FncInvoiceItemMapper
extends
BaseMapper
<
FncInvoiceItem
>
{
Page
<
FncInvoiceItemVo
>
queryList
(
Page
<?>
page
,
@Param
(
"entity"
)
FncInvoiceItemVo
entity
);
List
<
FncInvoiceItemVo
>
queryList
(
@Param
(
"entity"
)
FncInvoiceItemVo
entity
);
FncInvoiceItemVo
queryById
(
@Param
(
"id"
)
Long
invoiceItemId
);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/FncInvoiceMapper.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.ruoyi.system.domain.FncInvoice
;
import
com.ruoyi.system.domain.vo.FncInvoiceVo
;
import
com.ruoyi.system.domain.FncInvoiceItem
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 发票Mapper接口
*
* @author jlf
* @date 2022-11-20
*/
public
interface
FncInvoiceMapper
extends
BaseMapper
<
FncInvoice
>
{
Page
<
FncInvoiceVo
>
queryList
(
Page
<?>
page
,
@Param
(
"entity"
)
FncInvoiceVo
entity
);
List
<
FncInvoiceVo
>
queryList
(
@Param
(
"entity"
)
FncInvoiceVo
entity
);
FncInvoiceVo
queryById
(
@Param
(
"id"
)
Long
invoiceId
);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/IFncInvoiceItemService.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.system.domain.FncInvoiceItem
;
import
com.ruoyi.system.domain.vo.FncInvoiceItemVo
;
import
java.util.List
;
/**
* 发票项Service接口
*
* @author jlf
* @date 2022-11-20
*/
public
interface
IFncInvoiceItemService
extends
IService
<
FncInvoiceItem
>
{
/**
* 分页查询
*
* @param entity
* @return
*/
TableDataInfo
<
FncInvoiceItemVo
>
queryList
(
FncInvoiceItemVo
entity
);
/**
* 查询全部
*
* @param entity
* @return
*/
List
<
FncInvoiceItemVo
>
queryAll
(
FncInvoiceItemVo
entity
);
/**
* 根据ID查询
*
* @param invoiceItemId
* @return
*/
FncInvoiceItemVo
queryById
(
Long
invoiceItemId
);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/IFncInvoiceService.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.system.domain.FncInvoice
;
import
com.ruoyi.system.domain.vo.FncInvoiceVo
;
import
java.util.List
;
/**
* 发票Service接口
*
* @author jlf
* @date 2022-11-20
*/
public
interface
IFncInvoiceService
extends
IService
<
FncInvoice
>
{
/**
* 分页查询
*
* @param entity
* @return
*/
TableDataInfo
<
FncInvoiceVo
>
queryList
(
FncInvoiceVo
entity
);
/**
* 查询全部
*
* @param entity
* @return
*/
List
<
FncInvoiceVo
>
queryAll
(
FncInvoiceVo
entity
);
/**
* 根据ID查询
*
* @param invoiceId
* @return
*/
FncInvoiceVo
queryById
(
Long
invoiceId
);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FncInvoiceItemServiceImpl.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.service.impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.utils.PageUtils
;
import
com.ruoyi.system.domain.FncInvoiceItem
;
import
com.ruoyi.system.domain.vo.FncInvoiceItemVo
;
import
com.ruoyi.system.mapper.FncInvoiceItemMapper
;
import
com.ruoyi.system.service.IFncInvoiceItemService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 发票项Service业务层处理
*
* @author jlf
* @date 2022-11-20
*/
@Service
public
class
FncInvoiceItemServiceImpl
extends
ServiceImpl
<
FncInvoiceItemMapper
,
FncInvoiceItem
>
implements
IFncInvoiceItemService
{
@Override
public
TableDataInfo
<
FncInvoiceItemVo
>
queryList
(
FncInvoiceItemVo
entity
)
{
return
PageUtils
.
buildDataInfo
(
this
.
baseMapper
.
queryList
(
PageUtils
.
buildPage
(),
entity
));
}
@Override
public
List
<
FncInvoiceItemVo
>
queryAll
(
FncInvoiceItemVo
entity
)
{
return
this
.
baseMapper
.
queryList
(
entity
);
}
@Override
public
FncInvoiceItemVo
queryById
(
Long
invoiceItemId
)
{
return
this
.
baseMapper
.
queryById
(
invoiceItemId
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FncInvoiceServiceImpl.java
0 → 100644
View file @
4d3fbe35
package
com.ruoyi.system.service.impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.toolkit.SqlHelper
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.utils.EmptyUtil
;
import
com.ruoyi.common.utils.PageUtils
;
import
com.ruoyi.system.domain.FncInvoice
;
import
com.ruoyi.system.domain.vo.FncInvoiceItemVo
;
import
com.ruoyi.system.domain.vo.FncInvoiceVo
;
import
com.ruoyi.system.mapper.FncInvoiceItemMapper
;
import
com.ruoyi.system.mapper.FncInvoiceMapper
;
import
com.ruoyi.system.service.IFncInvoiceItemService
;
import
com.ruoyi.system.service.IFncInvoiceService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
com.ruoyi.system.domain.FncInvoiceItem
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 发票Service业务层处理
*
* @author jlf
* @date 2022-11-20
*/
@Service
public
class
FncInvoiceServiceImpl
extends
ServiceImpl
<
FncInvoiceMapper
,
FncInvoice
>
implements
IFncInvoiceService
{
@Resource
FncInvoiceItemMapper
fncInvoiceItemMapper
;
@Autowired
IFncInvoiceItemService
fncInvoiceItemService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
removeByIds
(
Collection
<?
extends
Serializable
>
idList
)
{
fncInvoiceItemMapper
.
delete
(
new
LambdaQueryWrapper
<
FncInvoiceItem
>().
in
(
FncInvoiceItem:
:
getInvoiceId
,
idList
));
return
SqlHelper
.
retBool
(
baseMapper
.
deleteBatchIds
(
idList
));
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
save
(
FncInvoice
entity
)
{
baseMapper
.
insert
(
entity
);
Long
invoiceId
=
entity
.
getInvoiceId
();
List
<
FncInvoiceItem
>
fncInvoiceItemList
=
entity
.
getFncInvoiceItemList
();
fncInvoiceItemList
.
forEach
(
item
->
{
item
.
setInvoiceId
(
invoiceId
);
});
return
fncInvoiceItemService
.
saveBatch
(
fncInvoiceItemList
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateById
(
FncInvoice
entity
)
{
Long
invoiceId
=
entity
.
getInvoiceId
();
fncInvoiceItemService
.
remove
(
new
LambdaQueryWrapper
<
FncInvoiceItem
>().
eq
(
FncInvoiceItem:
:
getInvoiceId
,
invoiceId
));
List
<
FncInvoiceItem
>
invoiceItemList
=
entity
.
getFncInvoiceItemList
();
invoiceItemList
.
forEach
(
item
->
{
item
.
setInvoiceId
(
invoiceId
);
});
fncInvoiceItemService
.
saveBatch
(
invoiceItemList
);
return
SqlHelper
.
retBool
(
baseMapper
.
updateById
(
entity
));
}
@Override
public
TableDataInfo
<
FncInvoiceVo
>
queryList
(
FncInvoiceVo
entity
)
{
Page
<
FncInvoiceVo
>
page
=
this
.
baseMapper
.
queryList
(
PageUtils
.
buildPage
(),
entity
);
page
.
getRecords
().
forEach
(
item
->
{
List
<
FncInvoiceItem
>
fncInvoiceItemList
=
fncInvoiceItemMapper
.
selectList
(
new
LambdaQueryWrapper
<
FncInvoiceItem
>()
.
eq
(
FncInvoiceItem:
:
getInvoiceId
,
item
.
getInvoiceId
()));
item
.
setFncInvoiceItemList
(
fncInvoiceItemList
);
});
return
PageUtils
.
buildDataInfo
(
this
.
baseMapper
.
queryList
(
PageUtils
.
buildPage
(),
entity
));
}
@Override
public
List
<
FncInvoiceVo
>
queryAll
(
FncInvoiceVo
entity
)
{
List
<
FncInvoiceVo
>
fncInvoiceVos
=
this
.
baseMapper
.
queryList
(
entity
);
fncInvoiceVos
.
forEach
(
item
->
{
List
<
FncInvoiceItem
>
fncInvoiceItemList
=
fncInvoiceItemMapper
.
selectList
(
new
LambdaQueryWrapper
<
FncInvoiceItem
>()
.
eq
(
FncInvoiceItem:
:
getInvoiceId
,
item
.
getInvoiceId
()));
item
.
setFncInvoiceItemList
(
fncInvoiceItemList
);
});
return
fncInvoiceVos
;
}
@Override
public
FncInvoiceVo
queryById
(
Long
invoiceId
)
{
FncInvoiceVo
fncInvoiceVo
=
this
.
baseMapper
.
queryById
(
invoiceId
);
List
<
FncInvoiceItem
>
fncInvoiceItemList
=
fncInvoiceItemMapper
.
selectList
(
new
LambdaQueryWrapper
<
FncInvoiceItem
>()
.
eq
(
FncInvoiceItem:
:
getInvoiceId
,
fncInvoiceVo
.
getInvoiceId
()));
fncInvoiceVo
.
setFncInvoiceItemList
(
fncInvoiceItemList
);
return
fncInvoiceVo
;
}
}
ruoyi-system/src/main/resources/mapper/finance/FncInvoiceItemMapper.xml
0 → 100644
View file @
4d3fbe35
<?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=
"com.ruoyi.system.mapper.FncInvoiceItemMapper"
>
<sql
id=
"querySql"
>
select
<include
refid=
"allField"
/>
from fnc_invoice_item A
<include
refid=
"search"
/>
</sql>
<select
id=
"queryList"
resultType=
"com.ruoyi.system.domain.vo.FncInvoiceItemVo"
>
<include
refid=
"querySql"
/>
<if
test=
"entity.invoiceId != null and entity.invoiceId != 0"
>
and A.invoice_id = #{entity.invoiceId}
</if>
<if
test=
"entity.objectName != null and entity.objectName != ''"
>
and A.object_name like concat('%', #{entity.objectName}, '%')
</if>
<if
test=
"entity.specs != null and entity.specs != ''"
>
and A.specs like concat('%', #{entity.specs}, '%')
</if>
<if
test=
"entity.unit != null and entity.unit != ''"
>
and A.unit like concat('%', #{entity.unit}, '%')
</if>
<if
test=
"entity.quantity != null and entity.quantity != 0"
>
and A.quantity = #{entity.quantity}
</if>
<if
test=
"entity.unitPriceTax != null and entity.unitPriceTax != 0"
>
and A.unit_price_tax = #{entity.unitPriceTax}
</if>
<if
test=
"entity.amountNoTax != null and entity.amountNoTax != 0"
>
and A.amount_no_tax = #{entity.amountNoTax}
</if>
<if
test=
"entity.taxRate != null and entity.taxRate != 0"
>
and A.tax_rate = #{entity.taxRate}
</if>
<if
test=
"entity.taxAmount != null and entity.taxAmount != 0"
>
and A.tax_amount = #{entity.taxAmount}
</if>
order by A.create_time desc
</select>
<select
id=
"queryById"
resultType=
"com.ruoyi.system.domain.vo.FncInvoiceItemVo"
>
<include
refid=
"querySql"
/>
and A.invoice_item_id = #{id}
</select>
<sql
id=
"allField"
>
A.invoice_item_id,
A.invoice_id,
A.object_name,
A.specs,
A.unit,
A.quantity,
A.unit_price_tax,
A.amount_no_tax,
A.tax_rate,
A.tax_amount,
A.create_by,
A.create_time,
A.update_by,
A.update_time
</sql>
<sql
id=
"search"
>
-- where A.delete_status = 1
</sql>
</mapper>
ruoyi-system/src/main/resources/mapper/finance/FncInvoiceMapper.xml
0 → 100644
View file @
4d3fbe35
<?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=
"com.ruoyi.system.mapper.FncInvoiceMapper"
>
<sql
id=
"querySql"
>
select
<include
refid=
"allField"
/>
from fnc_invoice A
<include
refid=
"search"
/>
</sql>
<select
id=
"queryList"
resultType=
"com.ruoyi.system.domain.vo.FncInvoiceVo"
>
<include
refid=
"querySql"
/>
<if
test=
"entity.companyId != null and entity.companyId != 0"
>
and A.company_id = #{entity.companyId}
</if>
<if
test=
"entity.companyName != null and entity.companyName != ''"
>
and A.company_name like concat('%', #{entity.companyName}, '%')
</if>
<if
test=
"entity.invoiceType != null and entity.invoiceType != 0"
>
and A.invoice_type = #{entity.invoiceType}
</if>
<if
test=
"entity.invoiceNature != null and entity.invoiceNature != 0"
>
and A.invoice_nature = #{entity.invoiceNature}
</if>
<if
test=
"entity.depName != null and entity.depName != ''"
>
and A.dep_name like concat('%', #{entity.depName}, '%')
</if>
<if
test=
"entity.invoiceDate != null and entity.invoiceDate != 0"
>
and A.invoice_date = #{entity.invoiceDate}
</if>
<if
test=
"entity.buyName != null and entity.buyName != ''"
>
and A.buy_name like concat('%', #{entity.buyName}, '%')
</if>
<if
test=
"entity.buyTaxpayerNo != null and entity.buyTaxpayerNo != ''"
>
and A.buy_taxpayer_no like concat('%', #{entity.buyTaxpayerNo}, '%')
</if>
<if
test=
"entity.buyAddress != null and entity.buyAddress != ''"
>
and A.buy_address like concat('%', #{entity.buyAddress}, '%')
</if>
<if
test=
"entity.buyPhone != null and entity.buyPhone != ''"
>
and A.buy_phone like concat('%', #{entity.buyPhone}, '%')
</if>
<if
test=
"entity.buyBankDeposit != null and entity.buyBankDeposit != ''"
>
and A.buy_bank_deposit like concat('%', #{entity.buyBankDeposit}, '%')
</if>
<if
test=
"entity.buyBankAccount != null and entity.buyBankAccount != ''"
>
and A.buy_bank_account like concat('%', #{entity.buyBankAccount}, '%')
</if>
<if
test=
"entity.applicant != null and entity.applicant != ''"
>
and A.applicant like concat('%', #{entity.applicant}, '%')
</if>
<if
test=
"entity.checker != null and entity.checker != ''"
>
and A.checker like concat('%', #{entity.checker}, '%')
</if>
<if
test=
"entity.projectOrInvoiceNo != null and entity.projectOrInvoiceNo != ''"
>
and A.project_or_invoice_no like concat('%', #{entity.projectOrInvoiceNo}, '%')
</if>
<if
test=
"entity.amountSum != null and entity.amountSum != 0"
>
and A.amount_sum = #{entity.amountSum}
</if>
<if
test=
"entity.taxSum != null and entity.taxSum != 0"
>
and A.tax_sum = #{entity.taxSum}
</if>
<if
test=
"entity.amountTaxCapital != null and entity.amountTaxCapital != ''"
>
and A.amount_tax_capital like concat('%', #{entity.amountTaxCapital}, '%')
</if>
<if
test=
"entity.amountTaxLower != null and entity.amountTaxLower != 0"
>
and A.amount_tax_lower = #{entity.amountTaxLower}
</if>
<if
test=
"entity.saleName != null and entity.saleName != ''"
>
and A.sale_name like concat('%', #{entity.saleName}, '%')
</if>
<if
test=
"entity.saleTaxpayerNo != null and entity.saleTaxpayerNo != ''"
>
and A.sale_taxpayer_no like concat('%', #{entity.saleTaxpayerNo}, '%')
</if>
<if
test=
"entity.saleAddress != null and entity.saleAddress != ''"
>
and A.sale_address like concat('%', #{entity.saleAddress}, '%')
</if>
<if
test=
"entity.salePhone != null and entity.salePhone != ''"
>
and A.sale_phone like concat('%', #{entity.salePhone}, '%')
</if>
<if
test=
"entity.saleBankDeposit != null and entity.saleBankDeposit != ''"
>
and A.sale_bank_deposit like concat('%', #{entity.saleBankDeposit}, '%')
</if>
<if
test=
"entity.saleBankAccount != null and entity.saleBankAccount != ''"
>
and A.sale_bank_account like concat('%', #{entity.saleBankAccount}, '%')
</if>
<if
test=
"entity.note != null and entity.note != ''"
>
and A.note like concat('%', #{entity.note}, '%')
</if>
<if
test=
"entity.payee != null and entity.payee != ''"
>
and A.payee like concat('%', #{entity.payee}, '%')
</if>
<if
test=
"entity.reviewer != null and entity.reviewer != ''"
>
and A.reviewer like concat('%', #{entity.reviewer}, '%')
</if>
<if
test=
"entity.drawer != null and entity.drawer != ''"
>
and A.drawer like concat('%', #{entity.drawer}, '%')
</if>
order by A.create_time desc
</select>
<select
id=
"queryById"
resultType=
"com.ruoyi.system.domain.vo.FncInvoiceVo"
>
<include
refid=
"querySql"
/>
and A.invoice_id = #{id}
</select>
<sql
id=
"allField"
>
A.invoice_id,
A.company_id,
A.company_name,
A.invoice_type,
A.invoice_nature,
A.dep_name,
A.invoice_date,
A.buy_name,
A.buy_taxpayer_no,
A.buy_address,
A.buy_phone,
A.buy_bank_deposit,
A.buy_bank_account,
A.applicant,
A.checker,
A.project_or_invoice_no,
A.amount_sum,
A.tax_sum,
A.amount_tax_capital,
A.amount_tax_lower,
A.sale_name,
A.sale_taxpayer_no,
A.sale_address,
A.sale_phone,
A.sale_bank_deposit,
A.sale_bank_account,
A.note,
A.payee,
A.reviewer,
A.drawer,
A.create_by,
A.create_time,
A.update_by,
A.update_time
</sql>
<sql
id=
"search"
>
-- where A.delete_status = 1
</sql>
</mapper>
ruoyi-ui/src/api/finance/company.js
View file @
4d3fbe35
import
request
from
'
@/utils/request
'
import
request
from
'
@/utils/request
'
// 查询记账公司列表
// 查询记账公司列表
(分页)
export
function
listCompany
(
query
)
{
export
function
listCompany
(
query
)
{
return
request
({
return
request
({
url
:
'
/finance/company/list
'
,
url
:
'
/finance/company/list
'
,
...
@@ -9,6 +9,14 @@ export function listCompany(query) {
...
@@ -9,6 +9,14 @@ export function listCompany(query) {
})
})
}
}
// 查询记账公司列表
export
function
listAllCompany
()
{
return
request
({
url
:
'
/finance/company/list
'
,
method
:
'
get
'
,
})
}
// 查询记账公司详细
// 查询记账公司详细
export
function
getCompany
(
companyId
)
{
export
function
getCompany
(
companyId
)
{
return
request
({
return
request
({
...
...
ruoyi-ui/src/api/finance/invoice.js
0 → 100644
View file @
4d3fbe35
import
request
from
'
@/utils/request
'
// 查询发票列表
export
function
listInvoice
(
query
)
{
return
request
({
url
:
'
/finance/invoice/list
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询发票所有列表
export
function
listAllInvoice
(
query
)
{
return
request
({
url
:
'
/finance/invoice/listAll
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询发票详细
export
function
getInvoice
(
invoiceId
)
{
return
request
({
url
:
'
/finance/invoice/getInfo/
'
+
invoiceId
,
method
:
'
get
'
})
}
// 新增发票
export
function
addInvoice
(
data
)
{
return
request
({
url
:
'
/finance/invoice/add
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改发票
export
function
updateInvoice
(
data
)
{
return
request
({
url
:
'
/finance/invoice/edit
'
,
method
:
'
post
'
,
data
:
data
})
}
// 删除发票
export
function
delInvoice
(
invoiceId
)
{
return
request
({
url
:
'
/finance/invoice/remove/
'
+
invoiceId
,
method
:
'
get
'
})
}
\ No newline at end of file
ruoyi-ui/src/views/finance/company/index.vue
View file @
4d3fbe35
This diff is collapsed.
Click to expand it.
ruoyi-ui/src/views/finance/invoice/index.vue
View file @
4d3fbe35
This diff is collapsed.
Click to expand it.
ruoyi-ui/src/views/finance/invoice/index2.vue
0 → 100644
View file @
4d3fbe35
This diff is collapsed.
Click to expand it.
sql/ry-vue.sql
View file @
4d3fbe35
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment