Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-api-boot-master
Commits
b9207235
Commit
b9207235
authored
Jan 23, 2025
by
zhangfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(wealth): 优化
parent
1bc2ebd1
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
265 additions
and
46 deletions
+265
-46
20250106.sql
sql/v2.2财务/20250106.sql
+3
-2
update_old_data.sql
sql/v2.2财务/update_old_data.sql
+36
-10
AdminUserApi.java
...cn/iocoder/yudao/module/system/api/user/AdminUserApi.java
+2
-0
AdminUserApiImpl.java
...ocoder/yudao/module/system/api/user/AdminUserApiImpl.java
+9
-0
ReceiptMapper.java
.../yudao/module/wealth/dal/mysql/receipt/ReceiptMapper.java
+2
-0
UpdateReceiptItemRelationTask.java
...udao/module/wealth/job/UpdateReceiptItemRelationTask.java
+146
-0
ReceiptItemService.java
...module/wealth/service/receiptItem/ReceiptItemService.java
+2
-1
ReceiptItemServiceImpl.java
...le/wealth/service/receiptItem/ReceiptItemServiceImpl.java
+45
-33
ReceiptItemBaseVO.java
...yudao/module/wealth/vo/receiptItem/ReceiptItemBaseVO.java
+3
-0
ReceivableWriteOffReqVO.java
.../module/wealth/vo/receivable/ReceivableWriteOffReqVO.java
+2
-0
ReceiptController.java
...le/wealth/controller/admin/receipt/ReceiptController.java
+9
-0
ReceiptMapper.xml
...-rest/src/main/resources/mapper/receipt/ReceiptMapper.xml
+6
-0
No files found.
sql/v2.2财务/20250106.sql
View file @
b9207235
...
...
@@ -141,7 +141,7 @@ ALTER TABLE `ecw_receivable` ADD COLUMN `dest_country_rate` decimal(10, 6) NULL
ALTER
TABLE
`ecw_receivable`
ADD
COLUMN
`dest_country_sub_rate`
decimal
(
10
,
6
)
NULL
DEFAULT
NULL
COMMENT
'额外费用副币种汇率(用于报表,跟费用类型相关)'
AFTER
`dest_country_rate`
;
ALTER
TABLE
`ecw_receivable`
ADD
INDEX
`key_receipt_id`
(
`deleted`
ASC
,
`receipt_id`
ASC
)
USING
BTREE
;
ALTER
TABLE
`ecw_receivable`
MODIFY
COLUMN
`discount_total`
decimal
(
15
,
2
)
NULL
DEFAULT
0
.
00
COMMENT
'优惠金额'
AFTER
`total_amount`
;
CREATE
TABLE
`ecw_receivable_write_off_record`
(
`id`
bigint
NOT
NULL
AUTO_INCREMENT
COMMENT
'主键'
,
...
...
@@ -167,6 +167,6 @@ SET FOREIGN_KEY_CHECKS=0;
ALTER
TABLE
`ecw_receivable`
MODIFY
COLUMN
`base_amount`
decimal
(
10
,
2
)
NULL
DEFAULT
NULL
COMMENT
'基准金额'
AFTER
`remark`
;
ALTER
TABLE
`ecw_receivable`
MODIFY
COLUMN
`write_off_amount`
decimal
(
15
,
2
)
NOT
NULL
DEFAULT
0
.
00
COMMENT
'
基准核销
金额'
AFTER
`base_currency_id`
;
ALTER
TABLE
`ecw_receivable`
MODIFY
COLUMN
`write_off_amount`
decimal
(
15
,
2
)
NOT
NULL
DEFAULT
0
.
00
COMMENT
'
核销本币
金额'
AFTER
`base_currency_id`
;
SET
FOREIGN_KEY_CHECKS
=
1
;
\ No newline at end of file
sql/v2.2财务/update_old_data.sql
View file @
b9207235
...
...
@@ -28,6 +28,16 @@ UPDATE ecw_receipt_item
SET
approval_time
=
update_time
WHERE
approval_time
IS
NULL
AND
`status`
=
1
;
#
刷新银行明细核销币种
UPDATE
ecw_receipt_item
eri
SET
eri
.
write_off_currency_id
=
(
SELECT
er
.
base_currency_id
FROM
ecw_receivable
er
WHERE
er
.
receipt_id
=
eri
.
receipt_id
AND
er
.
deleted
=
0
AND
er
.
base_currency_id
IS
NOT
NULL
LIMIT
1
)
WHERE
eri
.
deleted
=
0
AND
eri
.
write_off_currency_id
IS
NULL
;
#
刷新银行明细汇率,银行收款明细
-
币种≠应收所在自编号对应的核算币种,但是跟收款单
-
应收费用的币种相同
UPDATE
ecw_receipt_item
eri
SET
eri
.
rate
=
(
...
...
@@ -37,6 +47,7 @@ SET eri.rate = (
AND
era
.
currency_id
=
eri
.
currency_id
AND
era
.
deleted
=
0
AND
era
.
write_off_rate
IS
NOT
NULL
LIMIT
1
)
WHERE
eri
.
`status`
=
1
AND
eri
.
deleted
=
0
...
...
@@ -87,11 +98,11 @@ SET eri.rate = IFNULL((
FROM
ecw_exchange_rate
eer
WHERE
eer
.
source_currency_id
=
eri
.
currency_id
AND
eer
.
target_currency_id
=
eri
.
write_off_currency_id
),
1
);
#
刷新银行明细审核核销币种
UPDATE
ecw_receipt_item
SET
write_off_currency_id
=
1
WHERE
write_off_currency_id
IS
NULL
;
),
1
)
WHERE
eri
.
`status`
=
1
AND
eri
.
deleted
=
0
;
#
更新收款单生成路径
UPDATE
ecw_receipt
SET
generate_path
=
0
WHERE
generate_path
IS
NULL
;
#
刷新应收款优惠金额
...
...
@@ -105,9 +116,23 @@ UPDATE ecw_receivable er
SET
er
.
exchange_rate
=
1
WHERE
er
.
exchange_rate
IS
NULL
AND
er
.
receipt_id
IS
NOT
NULL
AND
er
.
currency_id
=
er
.
base_currency_id
AND
er
.
deleted
=
0
;
#
应收明细基准币种是美元
UPDATE
ecw_receivable
er
SET
er
.
exchange_rate
=
(
SELECT
era
.
write_off_rate
FROM
ecw_receipt_account
era
WHERE
era
.
receipt_id
=
er
.
receipt_id
AND
era
.
currency_id
=
er
.
currency_id
AND
era
.
deleted
=
0
)
SET
er
.
exchange_rate
=
(
SELECT
era
.
write_off_rate
FROM
ecw_receipt_account
era
WHERE
era
.
receipt_id
=
er
.
receipt_id
AND
era
.
currency_id
=
er
.
currency_id
AND
era
.
deleted
=
0
AND
era
.
write_off_rate
IS
NOT
NULL
LIMIT
1
)
WHERE
er
.
receipt_id
IS
NOT
NULL
AND
er
.
base_currency_id
=
1
AND
er
.
deleted
=
0
;
er
.
receipt_id
IS
NOT
NULL
AND
er
.
base_currency_id
=
1
AND
er
.
currency_id
!=
1
AND
er
.
deleted
=
0
;
#
应收明细基准币种不是美元
UPDATE
ecw_receivable
er
SET
er
.
exchange_rate
=
(
SELECT
eer
.
currency_rate
FROM
ecw_exchange_rate
eer
WHERE
eer
.
source_currency_id
=
er
.
currency_id
AND
eer
.
target_currency_id
=
er
.
base_currency_id
)
...
...
@@ -126,6 +151,7 @@ UPDATE `ecw_receipt` SET `state` = 4 WHERE `state` = 5;
UPDATE
ecw_receipt_item
eri
SET
eri
.
account_id
=
(
SELECT
eba
.
id
FROM
ecw_bank_account
eba
WHERE
eba
.
ba_account_name
=
eri
.
account_name
AND
eba
.
ba_bank_name
=
eri
.
account_bank_name
AND
eba
.
ba_account_num
=
eri
.
account_no
AND
eba
.
deleted
=
0
)
WHERE
eri
.
deleted
=
0
;
#
刷新收款明细
-
应收明细
-
收入归属
UPDATE
ecw_receivable_write_off_record
erwor
SET
erwor
.
income_belong
=
(
SELECT
eba
.
ba_income_belong
FROM
ecw_receipt_item
eri
LEFT
JOIN
ecw_bank_account
eba
ON
eri
.
account_id
=
eba
.
id
WHERE
erwor
.
receipt_item_id
=
eri
.
id
);
\ No newline at end of file
#
刷新收款明细
-
应收明细
-
收入归属
(
银行帐号设置收入归属之后执行
)
UPDATE
ecw_receivable_write_off_record
erwor
SET
erwor
.
income_belong
=
(
SELECT
eba
.
ba_income_belong
FROM
ecw_receipt_item
eri
LEFT
JOIN
ecw_bank_account
eba
ON
eri
.
account_id
=
eba
.
id
WHERE
erwor
.
receipt_item_id
=
eri
.
id
)
WHERE
erwor
.
income_belong
IS
NULL
;
\ No newline at end of file
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java
View file @
b9207235
...
...
@@ -22,6 +22,8 @@ public interface AdminUserApi {
*/
AdminUserRespDTO
getUser
(
Long
id
);
AdminUserRespDTO
getUser
(
String
name
);
/**
* 获得指定部门的用户数组
*
...
...
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java
View file @
b9207235
...
...
@@ -34,6 +34,15 @@ public class AdminUserApiImpl implements AdminUserApi {
return
UserConvert
.
INSTANCE
.
convert4
(
user
);
}
@Override
public
AdminUserRespDTO
getUser
(
String
name
)
{
List
<
AdminUserDO
>
usersByUsername
=
userService
.
getUsersByUsername
(
name
);
if
(
usersByUsername
!=
null
&&
!
usersByUsername
.
isEmpty
()){
return
UserConvert
.
INSTANCE
.
convert4
(
usersByUsername
.
get
(
0
));
}
return
null
;
}
@Override
public
List
<
AdminUserRespDTO
>
getUsersByDeptIds
(
Collection
<
Long
>
deptIds
)
{
List
<
AdminUserDO
>
users
=
userService
.
getUsersByDeptIds
(
deptIds
);
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/dal/mysql/receipt/ReceiptMapper.java
View file @
b9207235
...
...
@@ -94,4 +94,6 @@ public interface ReceiptMapper extends AbstractMapper<ReceiptDO> {
void
updateReceiptNewFieldBatch
(
List
<
ReceiptDO
>
receiptDOS
);
Date
getReceiptItemPayat
(
Long
id
);
List
<
Long
>
selectWriteOffIdList
();
}
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/job/UpdateReceiptItemRelationTask.java
0 → 100644
View file @
b9207235
package
cn
.
iocoder
.
yudao
.
module
.
wealth
.
job
;
import
cn.iocoder.yudao.framework.quartz.core.handler.JobHandler
;
import
cn.iocoder.yudao.module.ecw.api.bank.BankApi
;
import
cn.iocoder.yudao.module.ecw.api.bank.dto.BankAccountDTO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receiptItem.ReceiptItemDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receivable.ReceivableDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receivable.ReceivableWriteOffRecordDO
;
import
cn.iocoder.yudao.module.wealth.dal.mysql.receipt.ReceiptMapper
;
import
cn.iocoder.yudao.module.wealth.dal.mysql.receiptItem.ReceiptItemMapper
;
import
cn.iocoder.yudao.module.wealth.dal.mysql.receivable.ReceivableMapper
;
import
cn.iocoder.yudao.module.wealth.dal.mysql.receivable.ReceivableWriteOffRecordMapper
;
import
cn.iocoder.yudao.module.wealth.enums.ReceiptItemStatusEnum
;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableWriteOffReqVO
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Component
@Slf4j
public
class
UpdateReceiptItemRelationTask
implements
JobHandler
{
@Resource
private
ReceiptItemMapper
receiptItemMapper
;
@Resource
private
ReceivableMapper
receivableMapper
;
@Resource
private
BankApi
bankApi
;
@Resource
private
ReceiptMapper
receiptMapper
;
@Resource
private
ReceivableWriteOffRecordMapper
receivableWriteOffRecordMapper
;
/**
* 更新应收明细关联应收款
*
* @param param 参数
*/
@Override
public
String
execute
(
String
param
)
throws
Exception
{
log
.
info
(
"更新应收明细关联应收款"
);
long
l
=
System
.
currentTimeMillis
();
List
<
Long
>
idList
=
receiptMapper
.
selectWriteOffIdList
();
LambdaQueryWrapper
<
ReceiptItemDO
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
lambdaQueryWrapper
.
eq
(
StringUtils
.
isNotBlank
(
param
),
ReceiptItemDO:
:
getReceiptId
,
Long
.
parseLong
(
param
));
lambdaQueryWrapper
.
in
(
StringUtils
.
isBlank
(
param
),
ReceiptItemDO:
:
getId
,
idList
);
lambdaQueryWrapper
.
select
(
ReceiptItemDO:
:
getReceiptId
,
ReceiptItemDO:
:
getStatus
,
ReceiptItemDO:
:
getId
,
ReceiptItemDO:
:
getAccountId
,
ReceiptItemDO:
:
getWriteOffAmount
,
ReceiptItemDO:
:
getWriteOffCurrencyId
,
ReceiptItemDO:
:
getCurrencyId
);
List
<
ReceiptItemDO
>
listItem
=
receiptItemMapper
.
selectList
(
lambdaQueryWrapper
);
// 按收款单分组
Map
<
Long
,
List
<
ReceiptItemDO
>>
collectByReceiptId
=
listItem
.
stream
().
collect
(
Collectors
.
groupingBy
(
ReceiptItemDO:
:
getReceiptId
));
List
<
ReceivableDO
>
receivableDOS
=
receivableMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ReceivableDO
.
class
)
.
in
(
ReceivableDO:
:
getReceiptId
,
collectByReceiptId
.
keySet
())
.
select
(
ReceivableDO:
:
getId
,
ReceivableDO:
:
getReceiptId
,
ReceivableDO:
:
getTaxAmount
,
ReceivableDO:
:
getBaseAmount
,
ReceivableDO:
:
getCurrencyId
,
ReceivableDO:
:
getExchangeRate
,
ReceivableDO:
:
getOrderId
));
for
(
Long
receiptId
:
collectByReceiptId
.
keySet
())
{
List
<
ReceivableDO
>
receivableDOList
=
receivableDOS
.
stream
().
filter
(
r
->
r
.
getReceiptId
().
equals
(
receiptId
)).
sorted
(
Comparator
.
comparing
(
ReceivableDO:
:
getTaxAmount
)).
collect
(
Collectors
.
toList
());
List
<
ReceiptItemDO
>
receiptItemDOS
=
collectByReceiptId
.
get
(
receiptId
);
for
(
ReceiptItemDO
receiptItemDO
:
receiptItemDOS
)
{
boolean
isWriteOff
=
Objects
.
equals
(
receiptItemDO
.
getStatus
(),
ReceiptItemStatusEnum
.
WRITE_OFF
.
getValue
())
||
Objects
.
equals
(
receiptItemDO
.
getStatus
(),
ReceiptItemStatusEnum
.
WRITE_OFF_NO_APPROVE_ING
.
getValue
());
List
<
ReceivableWriteOffReqVO
>
receiptItemReceivableWriteOff
=
this
.
getReceiptItemReceivableWriteOff
(
receivableDOList
,
receiptItemDO
.
getWriteOffAmount
(),
isWriteOff
);
for
(
ReceivableWriteOffReqVO
receivableWriteOffReqVO
:
receiptItemReceivableWriteOff
)
{
this
.
createWriteOffRecord
(
receivableWriteOffReqVO
,
receiptItemDO
);
}
}
receivableMapper
.
updateBatch
(
receivableDOList
);
}
log
.
info
(
"更新应收明细关联应收款,耗时:{}"
,
System
.
currentTimeMillis
()
-
l
);
return
"success"
;
}
private
List
<
ReceivableWriteOffReqVO
>
getReceiptItemReceivableWriteOff
(
List
<
ReceivableDO
>
receivableDOList
,
BigDecimal
writeOffAmount
,
boolean
isWriteOff
)
{
ArrayList
<
ReceivableWriteOffReqVO
>
receivableWriteOffReqVOS
=
new
ArrayList
<>();
ReceivableDO
receivableInItemVO
;
boolean
isLast
=
false
;
for
(
int
i
=
0
;
i
<
receivableDOList
.
size
();
i
++)
{
if
(
i
==
receivableDOList
.
size
()
-
1
)
{
isLast
=
true
;
}
receivableInItemVO
=
receivableDOList
.
get
(
i
);
BigDecimal
writeOffBaseAmount
=
Optional
.
ofNullable
(
receivableInItemVO
.
getWriteOffBaseAmount
()).
orElse
(
BigDecimal
.
ZERO
);
BigDecimal
notWriteOffAmount
=
receivableInItemVO
.
getBaseAmount
().
subtract
(
writeOffBaseAmount
);
if
(
notWriteOffAmount
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
continue
;
}
BigDecimal
currentWriteOffAmount
;
if
(
isLast
)
{
currentWriteOffAmount
=
writeOffAmount
;
}
else
{
currentWriteOffAmount
=
writeOffAmount
.
min
(
notWriteOffAmount
);
}
writeOffAmount
=
writeOffAmount
.
subtract
(
currentWriteOffAmount
);
ReceivableWriteOffReqVO
writeOffReqVO
=
buildWriteOffReqVO
(
receivableInItemVO
,
currentWriteOffAmount
);
receivableWriteOffReqVOS
.
add
(
writeOffReqVO
);
if
(
isWriteOff
)
{
updateReceivableWriteOffAmount
(
receivableInItemVO
,
currentWriteOffAmount
);
}
if
(
writeOffAmount
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
break
;
}
}
return
receivableWriteOffReqVOS
;
}
private
ReceivableWriteOffReqVO
buildWriteOffReqVO
(
ReceivableDO
receivableInItemVO
,
BigDecimal
writeOffAmount
)
{
BigDecimal
exchangeRate
=
receivableInItemVO
.
getExchangeRate
();
BigDecimal
receivableWriteOffAmount
=
writeOffAmount
.
divide
(
exchangeRate
,
6
,
RoundingMode
.
HALF_UP
);
return
ReceivableWriteOffReqVO
.
builder
()
.
receivableId
(
receivableInItemVO
.
getId
())
.
writeOffAmount
(
writeOffAmount
)
.
orderId
(
receivableInItemVO
.
getOrderId
())
.
receivableWriteOffAmount
(
receivableWriteOffAmount
)
.
build
();
}
private
void
updateReceivableWriteOffAmount
(
ReceivableDO
receivableInItemVO
,
BigDecimal
currentWriteOffAmount
)
{
if
(
receivableInItemVO
.
getWriteOffBaseAmount
()
==
null
)
{
receivableInItemVO
.
setWriteOffBaseAmount
(
BigDecimal
.
ZERO
);
}
BigDecimal
writeOffBaseAmount
=
receivableInItemVO
.
getWriteOffBaseAmount
().
add
(
currentWriteOffAmount
);
BigDecimal
writeOffAmountActual
=
Optional
.
ofNullable
(
receivableInItemVO
.
getWriteOffAmount
()).
orElse
(
BigDecimal
.
ZERO
);
BigDecimal
newWriteOffAmount
=
writeOffAmountActual
.
add
(
currentWriteOffAmount
.
divide
(
receivableInItemVO
.
getExchangeRate
(),
6
,
RoundingMode
.
HALF_UP
));
receivableInItemVO
.
setWriteOffBaseAmount
(
writeOffBaseAmount
);
receivableInItemVO
.
setWriteOffAmount
(
newWriteOffAmount
);
}
private
void
createWriteOffRecord
(
ReceivableWriteOffReqVO
receivableWriteOffReqVO
,
ReceiptItemDO
receiptItem
)
{
BankAccountDTO
account
=
bankApi
.
getBankAccountByAccountId
(
receiptItem
.
getAccountId
());
Integer
incomeBelong
=
account
.
getBaIncomeBelong
();
ReceivableWriteOffRecordDO
writeOffRecord
=
ReceivableWriteOffRecordDO
.
builder
()
.
receivableId
(
receivableWriteOffReqVO
.
getReceivableId
())
.
writeOffAmount
(
receivableWriteOffReqVO
.
getWriteOffAmount
())
.
receiptItemId
(
receiptItem
.
getId
())
.
incomeBelong
(
incomeBelong
)
.
receivableWriteOffAmount
(
receivableWriteOffReqVO
.
getReceivableWriteOffAmount
())
.
orderId
(
receivableWriteOffReqVO
.
getOrderId
())
.
build
();
receivableWriteOffRecordMapper
.
insert
(
writeOffRecord
);
}
}
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemService.java
View file @
b9207235
...
...
@@ -2,13 +2,14 @@ package cn.iocoder.yudao.module.wealth.service.receiptItem;
import
cn.iocoder.yudao.framework.mybatis.core.service.IService
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receiptApproval.ReceiptApprovalDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receiptItem.ReceiptItemDO
;
import
cn.iocoder.yudao.module.wealth.vo.receipt.FinanceReceiptItemCancelVo
;
import
cn.iocoder.yudao.module.wealth.vo.receipt.FinanceReceiptItemVo
;
import
cn.iocoder.yudao.module.wealth.vo.receiptAccount.ReceiptItemBatchCreateReqVO
;
import
cn.iocoder.yudao.module.wealth.vo.receiptAccount.ReceiptItemBatchRespVO
;
import
cn.iocoder.yudao.module.wealth.vo.receiptItem.*
;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableInItemVO
;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableWriteOffReqVO
;
import
javax.validation.Valid
;
import
java.math.BigDecimal
;
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemServiceImpl.java
View file @
b9207235
This diff is collapsed.
Click to expand it.
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receiptItem/ReceiptItemBaseVO.java
View file @
b9207235
...
...
@@ -72,4 +72,7 @@ public class ReceiptItemBaseVO {
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"创建人"
)
private
String
creator
;
}
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receivable/ReceivableWriteOffReqVO.java
View file @
b9207235
...
...
@@ -28,4 +28,6 @@ public class ReceivableWriteOffReqVO {
@NotNull
(
message
=
"核销金额不能为空"
)
private
BigDecimal
writeOffAmount
;
private
BigDecimal
receivableWriteOffAmount
;
private
Long
orderId
;
}
yudao-module-wealth/yudao-module-wealth-rest/src/main/java/cn/iocoder/yudao/module/wealth/controller/admin/receipt/ReceiptController.java
View file @
b9207235
...
...
@@ -22,6 +22,7 @@ import cn.iocoder.yudao.module.wealth.convert.receiptApproval.ReceiptApprovalCon
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receiptAccount.ReceiptAccountDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receiptApproval.ReceiptApprovalDO
;
import
cn.iocoder.yudao.module.wealth.job.UpdateReceiptItemRelationTask
;
import
cn.iocoder.yudao.module.wealth.job.UpdateReceiptNewFieldTask
;
import
cn.iocoder.yudao.module.wealth.service.receipt.ReceiptService
;
import
cn.iocoder.yudao.module.wealth.service.receiptAccount.ReceiptAccountService
;
...
...
@@ -80,6 +81,8 @@ public class ReceiptController {
private
ReceiptApprovalService
receiptApprovalService
;
@Resource
private
UpdateReceiptNewFieldTask
updateReceiptNewFieldTask
;
@Resource
private
UpdateReceiptItemRelationTask
updateReceiptItemRelationTask
;
@PostMapping
(
"/page"
)
...
...
@@ -711,4 +714,10 @@ public class ReceiptController {
public
CommonResult
<
String
>
updateReceiptNewField
()
throws
Exception
{
return
success
(
updateReceiptNewFieldTask
.
execute
(
""
));
}
@GetMapping
(
"/updateReceiptItemRelation"
)
@ApiOperation
(
"更新应收明细和收款明细关联"
)
public
CommonResult
<
String
>
UpdateReceiptItemRelation
(
String
param
)
throws
Exception
{
return
success
(
updateReceiptItemRelationTask
.
execute
(
param
));
}
}
yudao-module-wealth/yudao-module-wealth-rest/src/main/resources/mapper/receipt/ReceiptMapper.xml
View file @
b9207235
...
...
@@ -154,4 +154,10 @@
AND (o.order_no = #{query.numberNo} OR o.tidan_no = #{query.numberNo} OR o.container_number = #{query.numberNo})
</if>
</sql>
<select
id=
"selectWriteOffIdList"
resultType=
"java.lang.Long"
>
SELECT id
FROM ecw_receipt
WHERE state = 4 AND deleted = 0
</select>
</mapper>
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