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
0626c669
Commit
0626c669
authored
Jan 22, 2025
by
zhangfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(wealth): 优化
parent
d83ca425
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
143 additions
and
50 deletions
+143
-50
OrderQueryServiceImpl.java
...odule/order/service/order/impl/OrderQueryServiceImpl.java
+5
-0
OrderMapper.xml
...rder-core/src/main/resources/mapper/order/OrderMapper.xml
+1
-0
ReceiptItemMapper.java
...odule/wealth/dal/mysql/receiptItem/ReceiptItemMapper.java
+2
-0
ReceiptServiceImpl.java
...dao/module/wealth/service/receipt/ReceiptServiceImpl.java
+1
-2
ReceiptItemService.java
...module/wealth/service/receiptItem/ReceiptItemService.java
+1
-1
ReceiptItemServiceImpl.java
...le/wealth/service/receiptItem/ReceiptItemServiceImpl.java
+108
-36
ReceivableServiceImpl.java
...dule/wealth/service/receivable/ReceivableServiceImpl.java
+5
-7
ReceiptItemBatchCreateReqVO.java
...wealth/vo/receiptAccount/ReceiptItemBatchCreateReqVO.java
+6
-0
ReceiptItemCreateReqVO.java
.../module/wealth/vo/receiptItem/ReceiptItemCreateReqVO.java
+2
-0
ReceiptItemController.java
...h/controller/admin/receiptItem/ReceiptItemController.java
+4
-4
ReceiptItemMapper.xml
...c/main/resources/mapper/ReceiptItem/ReceiptItemMapper.xml
+8
-0
No files found.
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderQueryServiceImpl.java
View file @
0626c669
...
@@ -88,6 +88,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
...
@@ -88,6 +88,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import
cn.iocoder.yudao.module.system.framework.ue.UeProperties
;
import
cn.iocoder.yudao.module.system.framework.ue.UeProperties
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receivable.ReceivableDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receivable.ReceivableDO
;
import
cn.iocoder.yudao.module.wealth.dal.mysql.receivable.ReceivableMapper
;
import
cn.iocoder.yudao.module.wealth.service.receipt.ReceiptService
;
import
cn.iocoder.yudao.module.wealth.service.receipt.ReceiptService
;
import
cn.iocoder.yudao.module.wealth.service.receivable.ReceivableService
;
import
cn.iocoder.yudao.module.wealth.service.receivable.ReceivableService
;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableBackVO
;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableBackVO
;
...
@@ -168,6 +169,7 @@ public class OrderQueryServiceImpl implements OrderQueryService {
...
@@ -168,6 +169,7 @@ public class OrderQueryServiceImpl implements OrderQueryService {
private
final
CustomerContactsService
customerContactsService
;
private
final
CustomerContactsService
customerContactsService
;
private
final
OrderExceptionService
orderExceptionService
;
private
final
OrderExceptionService
orderExceptionService
;
private
final
ReceivableMapper
receivableMapper
;
private
UeProperties
ueProperties
;
private
UeProperties
ueProperties
;
...
@@ -3866,6 +3868,9 @@ public class OrderQueryServiceImpl implements OrderQueryService {
...
@@ -3866,6 +3868,9 @@ public class OrderQueryServiceImpl implements OrderQueryService {
if
(
query
.
getIsPaoCargo
()
!=
null
&&
query
.
getIsPaoCargo
()
==
1
)
{
if
(
query
.
getIsPaoCargo
()
!=
null
&&
query
.
getIsPaoCargo
()
==
1
)
{
orderType
.
add
(
3
);
orderType
.
add
(
3
);
}
}
if
(
CollectionUtil
.
isNotEmpty
(
query
.
getDestCityIds
())
&&
CollectionUtil
.
isEmpty
(
query
.
getDestWarehouseIds
()))
{
query
.
setDestWarehouseIds
(
receivableMapper
.
getDestWarehouseIdListByDestCity
(
query
.
getDestCityIds
()));
}
query
.
setOrderType
(
orderType
);
query
.
setOrderType
(
orderType
);
log
.
warn
(
I18nMessage
.
getLang
().
toString
());
log
.
warn
(
I18nMessage
.
getLang
().
toString
());
List
<
OrderBackPageVO
>
records
=
orderMapper
.
containerOrderSummaryList
(
query
);
List
<
OrderBackPageVO
>
records
=
orderMapper
.
containerOrderSummaryList
(
query
);
...
...
yudao-module-order/yudao-module-order-core/src/main/resources/mapper/order/OrderMapper.xml
View file @
0626c669
...
@@ -7633,6 +7633,7 @@
...
@@ -7633,6 +7633,7 @@
LEFT JOIN ecw_make_bill_of_lading bl on bl.order_id = o.order_id and bl.deleted = 0
LEFT JOIN ecw_make_bill_of_lading bl on bl.order_id = o.order_id and bl.deleted = 0
LEFT JOIN ecw_customer norc on norc.id = nor.customer_id
LEFT JOIN ecw_customer norc on norc.id = nor.customer_id
LEFT JOIN ecw_customer neeo on neeo.id = nee.customer_id
LEFT JOIN ecw_customer neeo on neeo.id = nee.customer_id
LEFT JOIN ecw_order_objective ob on ob.order_id = o.order_id and ob.deleted = 0
WHERE o.`container_number` = #{query.containerNumber}
WHERE o.`container_number` = #{query.containerNumber}
<include
refid=
"containerOrderSummaryQuery"
/>
<include
refid=
"containerOrderSummaryQuery"
/>
</select>
</select>
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/dal/mysql/receiptItem/ReceiptItemMapper.java
View file @
0626c669
...
@@ -103,4 +103,6 @@ public interface ReceiptItemMapper extends AbstractMapper<ReceiptItemDO> {
...
@@ -103,4 +103,6 @@ public interface ReceiptItemMapper extends AbstractMapper<ReceiptItemDO> {
List
<
CurrencyAmount
>
countTotalWriteOffAmount
();
List
<
CurrencyAmount
>
countTotalWriteOffAmount
();
List
<
ReceivableIncomeBelong
>
selectAllWriteOffItemByOrders
(
@Param
(
"orderIds"
)
Set
<
Long
>
orderIds
);
List
<
ReceivableIncomeBelong
>
selectAllWriteOffItemByOrders
(
@Param
(
"orderIds"
)
Set
<
Long
>
orderIds
);
BigDecimal
getWriteOffAmountReceivableId
(
Long
id
);
}
}
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receipt/ReceiptServiceImpl.java
View file @
0626c669
...
@@ -77,7 +77,6 @@ import java.util.stream.Collectors;
...
@@ -77,7 +77,6 @@ import java.util.stream.Collectors;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
cn
.
iocoder
.
yudao
.
module
.
system
.
enums
.
ErrorCodeConstants
.
USER_NOT_EXISTS
;
import
static
cn
.
iocoder
.
yudao
.
module
.
system
.
enums
.
ErrorCodeConstants
.
USER_NOT_EXISTS
;
import
static
cn
.
iocoder
.
yudao
.
module
.
wealth
.
enums
.
ErrorCodeConstants
.*;
import
static
cn
.
iocoder
.
yudao
.
module
.
wealth
.
enums
.
ErrorCodeConstants
.*;
import
static
cn
.
iocoder
.
yudao
.
module
.
wealth
.
enums
.
ReceiptItemStatusEnum
.*;
/**
/**
* 收款单 Service 实现类
* 收款单 Service 实现类
...
@@ -698,7 +697,7 @@ public class ReceiptServiceImpl extends AbstractService<ReceiptMapper, ReceiptDO
...
@@ -698,7 +697,7 @@ public class ReceiptServiceImpl extends AbstractService<ReceiptMapper, ReceiptDO
return
sR
;
return
sR
;
}
}
List
<
ReceiptItemDO
>
list
=
listItemList
.
stream
().
filter
(
i
->
i
.
getReceiptId
()
==
ReceiptId
).
collect
(
Collectors
.
toList
());
List
<
ReceiptItemDO
>
list
=
listItemList
.
stream
().
filter
(
i
->
i
.
getReceiptId
()
==
ReceiptId
&&
(
i
.
getStatus
()
==
1
||
i
.
getStatus
()
==
3
)
).
collect
(
Collectors
.
toList
());
if
(
CollectionUtil
.
isEmpty
(
list
))
return
sR
;
if
(
CollectionUtil
.
isEmpty
(
list
))
return
sR
;
//根据币种分组求和
//根据币种分组求和
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemService.java
View file @
0626c669
...
@@ -96,7 +96,7 @@ public interface ReceiptItemService extends IService<ReceiptItemDO> {
...
@@ -96,7 +96,7 @@ public interface ReceiptItemService extends IService<ReceiptItemDO> {
*
*
* @param financeReceiptItemVo
* @param financeReceiptItemVo
*/
*/
ReceiptApprovalDO
createFinanceReceiptItemWriteOff
(
FinanceReceiptItemVo
financeReceiptItemVo
);
void
createFinanceReceiptItemWriteOff
(
FinanceReceiptItemVo
financeReceiptItemVo
);
/**
/**
* 发起收款明细反核销
* 发起收款明细反核销
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receiptItem/ReceiptItemServiceImpl.java
View file @
0626c669
...
@@ -11,16 +11,13 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
...
@@ -11,16 +11,13 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
import
cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils
;
import
cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils
;
import
cn.iocoder.yudao.module.bpm.api.BpmCreateServiceFactory
;
import
cn.iocoder.yudao.module.bpm.api.BpmCreateServiceFactory
;
import
cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi
;
import
cn.iocoder.yudao.module.bpm.enums.BpmProcessInstanceResultEnum
;
import
cn.iocoder.yudao.module.bpm.enums.BpmProcessInstanceResultEnum
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.ecw.api.bank.BankApi
;
import
cn.iocoder.yudao.module.ecw.api.bank.BankApi
;
import
cn.iocoder.yudao.module.ecw.api.bank.dto.BankAccountDTO
;
import
cn.iocoder.yudao.module.ecw.api.bank.dto.BankAccountDTO
;
import
cn.iocoder.yudao.module.ecw.api.currency.CurrencyApi
;
import
cn.iocoder.yudao.module.ecw.api.currency.CurrencyApi
;
import
cn.iocoder.yudao.module.ecw.api.currency.dto.CurrencyRespDTO
;
import
cn.iocoder.yudao.module.ecw.api.currency.dto.CurrencyRespDTO
;
import
cn.iocoder.yudao.module.ecw.api.currency.dto.ExchangeRateRespDTO
;
import
cn.iocoder.yudao.module.system.api.dict.DictDataApi
;
import
cn.iocoder.yudao.module.system.api.dict.DictDataApi
;
import
cn.iocoder.yudao.module.system.api.user.AdminUserApi
;
import
cn.iocoder.yudao.module.wealth.convert.receiptItem.ReceiptItemConvert
;
import
cn.iocoder.yudao.module.wealth.convert.receiptItem.ReceiptItemConvert
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptBankWriteoffRangeDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptBankWriteoffRangeDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptDO
;
import
cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptDO
;
...
@@ -109,10 +106,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -109,10 +106,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
private
ReceiptBankWriteoffRangeMapper
receiptBankWriteoffRangeMapper
;
private
ReceiptBankWriteoffRangeMapper
receiptBankWriteoffRangeMapper
;
@Resource
@Resource
private
ReceiptAccountMapper
receiptAccountMapper
;
private
ReceiptAccountMapper
receiptAccountMapper
;
@Resource
private
BpmProcessInstanceApi
bpmProcessInstanceApi
;
@Resource
private
AdminUserApi
adminUserApi
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
@@ -122,12 +115,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -122,12 +115,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
ReceiptItemDO
receiptItem
=
ReceiptItemConvert
.
INSTANCE
.
convert
(
createReqVO
);
ReceiptItemDO
receiptItem
=
ReceiptItemConvert
.
INSTANCE
.
convert
(
createReqVO
);
receiptItem
.
setSerialNumber
(
wealthGenCodeUtils
.
generateReceiptItemCode
());
receiptItem
.
setSerialNumber
(
wealthGenCodeUtils
.
generateReceiptItemCode
());
receiptItemMapper
.
insert
(
receiptItem
);
receiptItemMapper
.
insert
(
receiptItem
);
// 生成应收明细核销记录
BankAccountDTO
account
=
bankApi
.
getBankAccountByAccountId
(
receiptItem
.
getAccountId
());
Integer
incomeBelong
=
account
.
getBaIncomeBelong
();
for
(
ReceivableWriteOffReqVO
receivableWriteOffReqVO
:
createReqVO
.
getReceivableWriteOffList
())
{
receivableService
.
createWriteOffRecord
(
receivableWriteOffReqVO
,
receiptItem
,
incomeBelong
);
}
// 创建收款明细的时候要判断收款单状态进行更新
// 创建收款明细的时候要判断收款单状态进行更新
if
(
receiptDO
.
getState
()
==
1
)
{
if
(
receiptDO
.
getState
()
==
1
)
{
ReceiptDO
update
=
new
ReceiptDO
();
ReceiptDO
update
=
new
ReceiptDO
();
...
@@ -136,17 +123,66 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -136,17 +123,66 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
update
.
setState
(
2
);
update
.
setState
(
2
);
receiptService
.
updateById
(
update
);
receiptService
.
updateById
(
update
);
}
}
receiptService
.
updateReceiptItemStatus
(
receiptItem
.
getReceiptId
());
if
(
isBatch
)
{
if
(
isBatch
)
{
String
remark
=
"导入收款明细自动提交审批"
;
List
<
ReceiptAccountDO
>
receiptAccountDOS
=
receiptAccountMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ReceiptAccountDO
.
class
)
.
eq
(
ReceiptAccountDO:
:
getReceiptId
,
receiptDO
.
getId
())
.
eq
(
ReceiptAccountDO:
:
getCurrencyId
,
receiptItem
.
getCurrencyId
()));
if
(
StringUtils
.
isNotBlank
(
createReqVO
.
getRate
())
&&
receiptDO
.
getRateValidateDate
()
!=
null
&&
receiptDO
.
getRateValidateDate
().
before
(
new
Date
()))
{
// 更新汇率和相关金额
List
<
ReceivableDO
>
receivableDOS
=
receivableService
.
selectList
(
Wrappers
.
lambdaQuery
(
ReceivableDO
.
class
).
eq
(
ReceivableDO:
:
getReceiptId
,
receiptDO
.
getId
()));
Long
baseCurrencyId
=
receivableDOS
.
get
(
0
).
getBaseCurrencyId
();
if
(
CollectionUtils
.
isNotEmpty
(
receiptAccountDOS
)
&&
baseCurrencyId
.
equals
(
receiptItem
.
getWriteOffCurrencyId
()))
{
ReceiptAccountDO
receiptAccountDO
=
receiptAccountDOS
.
get
(
0
);
if
(
receiptAccountDO
.
getWriteOffAmount
().
compareTo
(
new
BigDecimal
(
createReqVO
.
getRate
()))
!=
0
)
{
BigDecimal
receivableTotalAmount
=
BigDecimal
.
ZERO
;
BigDecimal
receiptAccountAmount
=
BigDecimal
.
ZERO
;
for
(
ReceivableDO
receivableDO
:
receivableDOS
)
{
if
(
Objects
.
equals
(
receivableDO
.
getCurrencyId
(),
createReqVO
.
getCurrencyId
())
&&
Objects
.
equals
(
receivableDO
.
getBaseCurrencyId
(),
createReqVO
.
getWriteOffCurrencyId
()))
{
// 获取已核销的基准金额
BigDecimal
writeOffAmount
=
receiptItemMapper
.
getWriteOffAmountReceivableId
(
receivableDO
.
getId
());
if
(
writeOffAmount
==
null
)
{
writeOffAmount
=
BigDecimal
.
ZERO
;
}
// 改汇率后剩余未核销基准金额
BigDecimal
remainBaseAmount
=
receivableDO
.
getBaseAmount
().
subtract
(
writeOffAmount
);
remainBaseAmount
=
remainBaseAmount
.
divide
(
receivableDO
.
getExchangeRate
(),
8
,
RoundingMode
.
HALF_UP
).
multiply
(
new
BigDecimal
(
createReqVO
.
getRate
()));
receivableDO
.
setBaseAmount
(
remainBaseAmount
.
add
(
writeOffAmount
));
receiptAccountAmount
=
receiptAccountAmount
.
add
(
receivableDO
.
getBaseAmount
());
receivableDO
.
setExchangeRate
(
new
BigDecimal
(
createReqVO
.
getRate
()));
receivableService
.
updateById
(
receivableDO
);
}
receivableTotalAmount
=
receivableTotalAmount
.
add
(
receivableDO
.
getBaseAmount
());
}
receiptAccountDO
.
setWriteOffRate
(
new
BigDecimal
(
createReqVO
.
getRate
()));
receiptAccountDO
.
setWriteOffAmount
(
receiptAccountAmount
);
receiptAccountMapper
.
updateById
(
receiptAccountDO
);
receiptDO
.
setReceivableTotalAmount
(
receivableTotalAmount
);
receiptService
.
updateById
(
receiptDO
);
Map
<
Integer
,
CurrencyRespDTO
>
allCurrency
=
currencyApi
.
getAllCurrency
();
CurrencyRespDTO
currency1
=
allCurrency
.
get
(
receiptAccountDO
.
getCurrencyId
().
intValue
());
CurrencyRespDTO
currency2
=
allCurrency
.
get
(
baseCurrencyId
.
intValue
());
remark
=
remark
+
";更新收款单"
+
currency1
.
getTitleZh
()
+
"兑"
+
currency2
.
getTitleZh
()
+
"币种汇率为"
+
createReqVO
.
getBatchRate
();
}
}
}
createFinanceReceiptItemWriteOff
(
FinanceReceiptItemVo
.
builder
()
createFinanceReceiptItemWriteOff
(
FinanceReceiptItemVo
.
builder
()
.
receiptId
(
receiptItem
.
getReceiptId
())
.
receiptId
(
receiptItem
.
getReceiptId
())
.
receiptNo
(
receiptDO
.
getReceiptNo
())
.
receiptNo
(
receiptDO
.
getReceiptNo
())
.
receiptItemId
(
receiptItem
.
getId
())
.
receiptItemId
(
receiptItem
.
getId
())
.
remark
(
"批量创建收款明细自动提交审批"
)
.
remark
(
remark
)
.
build
());
.
build
());
// TODO 更新汇率
}
}
// 返回
// 生成应收明细核销记录
BankAccountDTO
account
=
bankApi
.
getBankAccountByAccountId
(
receiptItem
.
getAccountId
());
Integer
incomeBelong
=
account
.
getBaIncomeBelong
();
for
(
ReceivableWriteOffReqVO
receivableWriteOffReqVO
:
createReqVO
.
getReceivableWriteOffList
())
{
receivableService
.
createWriteOffRecord
(
receivableWriteOffReqVO
,
receiptItem
,
incomeBelong
);
}
receiptService
.
updateReceiptItemStatus
(
receiptItem
.
getReceiptId
());
return
receiptItem
.
getId
();
return
receiptItem
.
getId
();
}
}
...
@@ -248,7 +284,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -248,7 +284,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
}
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
verification
(
Long
id
,
Integer
bpmResult
,
String
comment
)
{
public
void
verification
(
Long
id
,
Integer
bpmResult
,
String
comment
)
{
//收款单明细核销审核
//收款单明细核销审核
ReceiptItemDO
receiptItemDO
=
receiptItemMapper
.
selectById
(
id
);
ReceiptItemDO
receiptItemDO
=
receiptItemMapper
.
selectById
(
id
);
...
@@ -286,7 +321,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -286,7 +321,6 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
}
}
}
}
receivableService
.
updateBatchById
(
receivableDOS
);
receivableService
.
updateBatchById
(
receivableDOS
);
receiptService
.
updateReceiptItemStatus
(
receiptItemDO
.
getReceiptId
());
// 更新银行账户余额
// 更新银行账户余额
bankApi
.
updateBankAccountBalance
(
BankAccountDTO
.
builder
()
bankApi
.
updateBankAccountBalance
(
BankAccountDTO
.
builder
()
.
id
(
receiptItemDO
.
getAccountId
())
.
id
(
receiptItemDO
.
getAccountId
())
...
@@ -304,6 +338,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -304,6 +338,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
receiptItemDO
.
setStatus
(
ReceiptItemStatusEnum
.
DRAFT
.
getValue
());
receiptItemDO
.
setStatus
(
ReceiptItemStatusEnum
.
DRAFT
.
getValue
());
}
}
receiptItemMapper
.
updateById
(
receiptItemDO
);
receiptItemMapper
.
updateById
(
receiptItemDO
);
receiptService
.
updateReceiptItemStatus
(
receiptItemDO
.
getReceiptId
());
receiptService
.
recordLog
(
receiptItemDO
.
getReceiptId
(),
ReceiptLinkEnum
.
APPROVE_BANK_RECEIPT
,
comment
,
WorkFlowEmus
.
FINANCE_RECEIPT_ITEM_WRITE_OFF
.
getValue
());
receiptService
.
recordLog
(
receiptItemDO
.
getReceiptId
(),
ReceiptLinkEnum
.
APPROVE_BANK_RECEIPT
,
comment
,
WorkFlowEmus
.
FINANCE_RECEIPT_ITEM_WRITE_OFF
.
getValue
());
}
}
...
@@ -487,7 +522,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -487,7 +522,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
}
}
@Override
@Override
public
ReceiptApprovalDO
createFinanceReceiptItemWriteOff
(
FinanceReceiptItemVo
financeReceiptItemVo
)
{
public
void
createFinanceReceiptItemWriteOff
(
FinanceReceiptItemVo
financeReceiptItemVo
)
{
ReceiptItemDO
receiptItemDO
=
this
.
getById
(
financeReceiptItemVo
.
getReceiptItemId
());
ReceiptItemDO
receiptItemDO
=
this
.
getById
(
financeReceiptItemVo
.
getReceiptItemId
());
if
(
null
==
receiptItemDO
)
{
if
(
null
==
receiptItemDO
)
{
throw
exception
(
RECEIPT_ITEM_NOT_FOUND
);
throw
exception
(
RECEIPT_ITEM_NOT_FOUND
);
...
@@ -560,10 +595,8 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -560,10 +595,8 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
receiptItemDO
.
setStatus
(
ReceiptItemStatusEnum
.
WRITE_OFF_APPROVE_ING
.
getValue
());
receiptItemDO
.
setStatus
(
ReceiptItemStatusEnum
.
WRITE_OFF_APPROVE_ING
.
getValue
());
receiptItemDO
.
setBmpId
(
bpmId
);
receiptItemDO
.
setBmpId
(
bpmId
);
this
.
updateById
(
receiptItemDO
);
this
.
updateById
(
receiptItemDO
);
return
approvalDO
;
}
}
receiptService
.
updateReceiptItemStatus
(
receiptItemDO
.
getReceiptId
());
receiptService
.
updateReceiptItemStatus
(
receiptItemDO
.
getReceiptId
());
return
null
;
}
}
/**
/**
...
@@ -653,6 +686,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -653,6 +686,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
update
.
setStatus
(
ReceiptItemStatusEnum
.
WRITE_OFF_NO_APPROVE_ING
.
getValue
());
update
.
setStatus
(
ReceiptItemStatusEnum
.
WRITE_OFF_NO_APPROVE_ING
.
getValue
());
update
.
setBmpId
(
bpmId
);
update
.
setBmpId
(
bpmId
);
this
.
updateById
(
update
);
this
.
updateById
(
update
);
receiptService
.
updateReceiptItemStatus
(
receiptItemDO
.
getReceiptId
());
}
}
@Override
@Override
...
@@ -668,6 +702,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -668,6 +702,7 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
Long
userId
=
SecurityFrameworkUtils
.
getLoginUserId
();
Long
userId
=
SecurityFrameworkUtils
.
getLoginUserId
();
ReceiptItemDO
receiptItemDO
=
validateReceiptItemBmpCancel
(
financeReceiptItemVo
.
getReceiptItemId
());
ReceiptItemDO
receiptItemDO
=
validateReceiptItemBmpCancel
(
financeReceiptItemVo
.
getReceiptItemId
());
bpmCreateServiceFactory
.
cancelBmpById
(
userId
,
receiptItemDO
.
getBmpId
(),
financeReceiptItemVo
.
getRemark
());
bpmCreateServiceFactory
.
cancelBmpById
(
userId
,
receiptItemDO
.
getBmpId
(),
financeReceiptItemVo
.
getRemark
());
receiptService
.
updateReceiptItemStatus
(
receiptItemDO
.
getReceiptId
());
}
}
private
ReceiptItemDO
validateReceiptItemBmpCancel
(
Long
id
)
{
private
ReceiptItemDO
validateReceiptItemBmpCancel
(
Long
id
)
{
...
@@ -891,6 +926,24 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -891,6 +926,24 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
if
(
null
==
matchReceiptDO
)
{
if
(
null
==
matchReceiptDO
)
{
return
new
ReceiptItemBatchRespVO
(
batchCreateReqVO
.
getOrderNo
(),
batchCreateReqVO
.
getPayer
(),
0
,
"收款单不存在"
);
return
new
ReceiptItemBatchRespVO
(
batchCreateReqVO
.
getOrderNo
(),
batchCreateReqVO
.
getPayer
(),
0
,
"收款单不存在"
);
}
}
// 校验汇率
List
<
ReceiptAccountDO
>
receiptAccountDOS
=
receiptAccountMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ReceiptAccountDO
.
class
)
.
eq
(
ReceiptAccountDO:
:
getReceiptId
,
matchReceiptDO
.
getId
())
.
eq
(
ReceiptAccountDO:
:
getCurrencyId
,
Long
.
parseLong
(
batchCreateReqVO
.
getPayCurrency
())));
Long
baseCurrencyId
=
receivableCollect
.
get
(
matchReceiptDO
.
getId
()).
get
(
0
).
getBaseCurrencyId
();
if
(
StringUtils
.
isBlank
(
batchCreateReqVO
.
getSettleRate
()))
{
if
(
receiptAccountDOS
.
isEmpty
()
||
!
baseCurrencyId
.
equals
(
Long
.
parseLong
(
batchCreateReqVO
.
getSettleCurrency
())))
{
return
new
ReceiptItemBatchRespVO
(
batchCreateReqVO
.
getOrderNo
(),
batchCreateReqVO
.
getPayer
(),
0
,
"汇率为空且收款单账单无匹配汇率"
);
}
batchCreateReqVO
.
setSettleRateRatio
(
receiptAccountDOS
.
get
(
0
).
getWriteOffRate
());
}
// 没有汇率有效期或者汇率没过期且能匹配到还是用原汇率
else
if
(
matchReceiptDO
.
getRateValidateDate
()
==
null
||
matchReceiptDO
.
getRateValidateDate
().
getTime
()
>
System
.
currentTimeMillis
()){
if
(!
receiptAccountDOS
.
isEmpty
()
&&
baseCurrencyId
.
equals
(
Long
.
parseLong
(
batchCreateReqVO
.
getSettleCurrency
())))
{
batchCreateReqVO
.
setSettleRateRatio
(
receiptAccountDOS
.
get
(
0
).
getWriteOffRate
());
}
}
// 查询订单是否存在多条银行收款数据
// 查询订单是否存在多条银行收款数据
if
(!
ignoreItem
)
{
if
(!
ignoreItem
)
{
LambdaQueryWrapper
<
ReceiptItemDO
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
ReceiptItemDO
.
class
).
in
(
ReceiptItemDO:
:
getReceiptId
,
receivableCollect
.
keySet
());
LambdaQueryWrapper
<
ReceiptItemDO
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
ReceiptItemDO
.
class
).
in
(
ReceiptItemDO:
:
getReceiptId
,
receivableCollect
.
keySet
());
...
@@ -911,11 +964,12 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -911,11 +964,12 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
receiptItemCreateReqVO
.
setAccountBankName
(
batchCreateReqVO
.
getAccountBankName
());
receiptItemCreateReqVO
.
setAccountBankName
(
batchCreateReqVO
.
getAccountBankName
());
receiptItemCreateReqVO
.
setAmount
(
new
BigDecimal
(
batchCreateReqVO
.
getPayAmount
()));
receiptItemCreateReqVO
.
setAmount
(
new
BigDecimal
(
batchCreateReqVO
.
getPayAmount
()));
receiptItemCreateReqVO
.
setCurrencyId
(
Long
.
parseLong
(
batchCreateReqVO
.
getPayCurrency
()));
receiptItemCreateReqVO
.
setCurrencyId
(
Long
.
parseLong
(
batchCreateReqVO
.
getPayCurrency
()));
receiptItemCreateReqVO
.
setRate
(
batchCreateReqVO
.
getSettleRate
());
receiptItemCreateReqVO
.
setRate
(
batchCreateReqVO
.
getSettleRate
Ratio
().
toString
());
receiptItemCreateReqVO
.
setWriteOffCurrencyId
(
Long
.
parseLong
(
batchCreateReqVO
.
getSettleCurrency
()));
receiptItemCreateReqVO
.
setWriteOffCurrencyId
(
Long
.
parseLong
(
batchCreateReqVO
.
getSettleCurrency
()));
receiptItemCreateReqVO
.
setWriteOffAmount
(
receiptItemCreateReqVO
.
getAmount
().
multiply
(
new
BigDecimal
(
batchCreateReqVO
.
getSettleRate
()
)));
receiptItemCreateReqVO
.
setWriteOffAmount
(
receiptItemCreateReqVO
.
getAmount
().
multiply
(
batchCreateReqVO
.
getSettleRateRatio
(
)));
receiptItemCreateReqVO
.
setRemark
(
batchCreateReqVO
.
getRemark
());
receiptItemCreateReqVO
.
setRemark
(
batchCreateReqVO
.
getRemark
());
receiptItemCreateReqVO
.
setOrderNo
(
orderByNo
.
getOrderNo
());
receiptItemCreateReqVO
.
setOrderNo
(
orderByNo
.
getOrderNo
());
receiptItemCreateReqVO
.
setBatchRate
(
batchCreateReqVO
.
getSettleRate
());
try
{
try
{
receiptItemCreateReqVO
.
setAmountDate
(
DateUtils
.
parseDate
(
batchCreateReqVO
.
getPayDate
(),
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
));
receiptItemCreateReqVO
.
setAmountDate
(
DateUtils
.
parseDate
(
batchCreateReqVO
.
getPayDate
(),
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -965,23 +1019,40 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -965,23 +1019,40 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"提交人不能为空"
);
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"提交人不能为空"
);
}
}
Map
<
Integer
,
CurrencyRespDTO
>
allCurrency
=
currencyApi
.
getAllCurrency
();
Map
<
Integer
,
CurrencyRespDTO
>
allCurrency
=
currencyApi
.
getAllCurrency
();
List
<
String
>
currency
Symbols
=
allCurrency
.
values
().
stream
().
map
(
CurrencyRespDTO:
:
getFuhao
).
collect
(
Collectors
.
toList
());
List
<
String
>
currency
Titles
=
allCurrency
.
values
().
stream
().
map
(
CurrencyRespDTO:
:
getTitleEn
).
collect
(
Collectors
.
toList
());
if
(!
currency
Symbol
s
.
contains
(
createReqVO
.
getPayCurrency
()))
{
if
(!
currency
Title
s
.
contains
(
createReqVO
.
getPayCurrency
()))
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"实收金额币种不存在"
);
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"实收金额币种不存在"
);
}
}
if
(!
currency
Symbol
s
.
contains
(
createReqVO
.
getSettleCurrency
()))
{
if
(!
currency
Title
s
.
contains
(
createReqVO
.
getSettleCurrency
()))
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"结算币种不存在"
);
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"结算币种不存在"
);
}
}
ExchangeRateRespDTO
rate
=
currencyApi
.
getCurrencyRateByCode
(
createReqVO
.
getPayCurrency
(),
createReqVO
.
getSettleCurrency
());
String
settleRate
=
createReqVO
.
getSettleRate
();
if
(
null
==
rate
)
{
if
(
StringUtils
.
isNotBlank
(
settleRate
))
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"汇率不存在"
);
if
(!
settleRate
.
contains
(
":"
))
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"汇率格式不正确"
);
}
BigDecimal
rate1
;
BigDecimal
rate2
;
String
[]
split
=
settleRate
.
split
(
":"
);
if
(
split
.
length
!=
2
)
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"汇率格式不正确"
);
}
try
{
rate1
=
new
BigDecimal
(
split
[
0
]);
rate2
=
new
BigDecimal
(
split
[
1
]);
}
catch
(
Exception
e
)
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"汇率数值填写不正确"
);
}
if
(
rate1
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
||
rate2
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"汇率数值填写不正确"
);
}
createReqVO
.
setSettleRateRatio
(
rate2
.
divide
(
rate1
,
6
,
RoundingMode
.
HALF_UP
));
}
}
createReqVO
.
setSettleRate
(
rate
.
getCurrencyRate
().
toString
());
for
(
CurrencyRespDTO
value
:
allCurrency
.
values
())
{
for
(
CurrencyRespDTO
value
:
allCurrency
.
values
())
{
if
(
value
.
get
Fuhao
().
equals
(
createReqVO
.
getPayCurrency
()))
{
if
(
value
.
get
TitleEn
().
equals
(
createReqVO
.
getPayCurrency
()))
{
createReqVO
.
setPayCurrency
(
value
.
getId
().
toString
());
createReqVO
.
setPayCurrency
(
value
.
getId
().
toString
());
}
}
if
(
value
.
get
Fuhao
().
equals
(
createReqVO
.
getSettleCurrency
()))
{
if
(
value
.
get
TitleEn
().
equals
(
createReqVO
.
getSettleCurrency
()))
{
createReqVO
.
setSettleCurrency
(
value
.
getId
().
toString
());
createReqVO
.
setSettleCurrency
(
value
.
getId
().
toString
());
}
}
}
}
...
@@ -996,9 +1067,10 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
...
@@ -996,9 +1067,10 @@ public class ReceiptItemServiceImpl extends AbstractService<ReceiptItemMapper, R
createReqVO
.
setAccountId
(
account
.
getId
());
createReqVO
.
setAccountId
(
account
.
getId
());
createReqVO
.
setAccountName
(
account
.
getBaAccountName
());
createReqVO
.
setAccountName
(
account
.
getBaAccountName
());
createReqVO
.
setAccountBankName
(
account
.
getBaBankName
());
createReqVO
.
setAccountBankName
(
account
.
getBaBankName
());
//if (account.getBaCurrency() != null && !allCurrency.get(account.getBaCurrency()).getFuhao().equals(createReqVO.getPayCurrency())) {
Integer
baCurrency
=
account
.
getBaCurrency
();
// return new ReceiptItemBatchRespVO(createReqVO.getOrderNo(), createReqVO.getPayer(), 0, "收款账号币种与实收金额币种不一致");
if
(
baCurrency
!=
null
&&
!
baCurrency
.
equals
(
Integer
.
parseInt
(
createReqVO
.
getPayCurrency
())))
{
//}
return
new
ReceiptItemBatchRespVO
(
createReqVO
.
getOrderNo
(),
createReqVO
.
getPayer
(),
0
,
"收款账号币种与实收金额币种不一致"
);
}
return
null
;
return
null
;
}
}
}
}
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/service/receivable/ReceivableServiceImpl.java
View file @
0626c669
...
@@ -353,16 +353,15 @@ public class ReceivableServiceImpl extends AbstractService<ReceivableMapper, Rec
...
@@ -353,16 +353,15 @@ public class ReceivableServiceImpl extends AbstractService<ReceivableMapper, Rec
receivableBackVO
.
setWriteOffAmount
(
BigDecimal
.
ZERO
);
receivableBackVO
.
setWriteOffAmount
(
BigDecimal
.
ZERO
);
}
}
receivableBackVO
.
setNotWriteOffAmount
(
receivableBackVO
.
getActualAmount
().
subtract
(
receivableBackVO
.
getWriteOffAmount
()));
receivableBackVO
.
setNotWriteOffAmount
(
receivableBackVO
.
getActualAmount
().
subtract
(
receivableBackVO
.
getWriteOffAmount
()));
if
(
receivableBackVO
.
getExchangeRate
()
!=
null
)
{
BigDecimal
baseWriteOffAmount
=
receiptItemMapper
.
getWriteOffAmountReceivableId
(
receivableBackVO
.
getId
());
receivableBackVO
.
setWriteOffAmountUsd
(
receivableBackVO
.
getWriteOffAmount
().
multiply
(
receivableBackVO
.
getExchangeRate
()));
if
(
baseWriteOffAmount
==
null
)
{
receivableBackVO
.
setNotWriteOffAmountUsd
(
receivableBackVO
.
getNotWriteOffAmount
().
multiply
(
receivableBackVO
.
getExchangeRate
()));
baseWriteOffAmount
=
BigDecimal
.
ZERO
;
}
else
{
receivableBackVO
.
setWriteOffAmountUsd
(
BigDecimal
.
ZERO
);
receivableBackVO
.
setNotWriteOffAmountUsd
(
BigDecimal
.
ZERO
);
}
}
receivableBackVO
.
setWriteOffAmountUsd
(
baseWriteOffAmount
);
if
(
receivableBackVO
.
getBaseAmount
()
==
null
)
{
if
(
receivableBackVO
.
getBaseAmount
()
==
null
)
{
receivableBackVO
.
setBaseAmount
(
BigDecimal
.
ZERO
);
receivableBackVO
.
setBaseAmount
(
BigDecimal
.
ZERO
);
}
}
receivableBackVO
.
setNotWriteOffAmountUsd
(
receivableBackVO
.
getBaseAmount
().
subtract
(
baseWriteOffAmount
));
// 核销比例 = 已核销金额 / 实际金额,保留两位小数字符串
// 核销比例 = 已核销金额 / 实际金额,保留两位小数字符串
if
(
receivableBackVO
.
getWriteOffAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
||
receivableBackVO
.
getActualAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
if
(
receivableBackVO
.
getWriteOffAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
||
receivableBackVO
.
getActualAmount
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
receivableBackVO
.
setWriteOffProportion
(
"0.00%"
);
receivableBackVO
.
setWriteOffProportion
(
"0.00%"
);
...
@@ -978,7 +977,6 @@ public class ReceivableServiceImpl extends AbstractService<ReceivableMapper, Rec
...
@@ -978,7 +977,6 @@ public class ReceivableServiceImpl extends AbstractService<ReceivableMapper, Rec
}
}
// 判断属于哪种费用 0运费,1 清关费,2 额外费用
// 判断属于哪种费用 0运费,1 清关费,2 额外费用
Integer
feeType
=
this
.
getFeeType
(
boxReceivable
.
getFeeType
());
Integer
feeType
=
this
.
getFeeType
(
boxReceivable
.
getFeeType
());
// TODO 折扣金额计算的成交单价和原价暂时不知道哪拿,先只取优惠金额
BigDecimal
discount
=
boxReceivable
.
getDiscountTotal
()
==
null
?
BigDecimal
.
ZERO
:
boxReceivable
.
getDiscountTotal
();
BigDecimal
discount
=
boxReceivable
.
getDiscountTotal
()
==
null
?
BigDecimal
.
ZERO
:
boxReceivable
.
getDiscountTotal
();
BigDecimal
notWrittenOff
=
Objects
.
equals
(
boxReceivable
.
getWriteOffAmount
(),
BigDecimal
.
ZERO
)
?
currencyAmount
.
getAmount
()
:
currencyAmount
.
getAmount
().
subtract
(
boxReceivable
.
getWriteOffAmount
());
BigDecimal
notWrittenOff
=
Objects
.
equals
(
boxReceivable
.
getWriteOffAmount
(),
BigDecimal
.
ZERO
)
?
currencyAmount
.
getAmount
()
:
currencyAmount
.
getAmount
().
subtract
(
boxReceivable
.
getWriteOffAmount
());
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receiptAccount/ReceiptItemBatchCreateReqVO.java
View file @
0626c669
...
@@ -10,6 +10,8 @@ import lombok.Data;
...
@@ -10,6 +10,8 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
@Data
@Data
@Builder
@Builder
@ApiModel
(
"管理后台 - 批量收款信息创建 Request VO"
)
@ApiModel
(
"管理后台 - 批量收款信息创建 Request VO"
)
...
@@ -53,6 +55,10 @@ public class ReceiptItemBatchCreateReqVO {
...
@@ -53,6 +55,10 @@ public class ReceiptItemBatchCreateReqVO {
@ExcelProperty
(
"汇率"
)
@ExcelProperty
(
"汇率"
)
private
String
settleRate
;
private
String
settleRate
;
@ApiModelProperty
(
value
=
"汇率比值"
)
@ExcelIgnore
private
BigDecimal
settleRateRatio
;
@ApiModelProperty
(
value
=
"水单号"
)
@ApiModelProperty
(
value
=
"水单号"
)
@ExcelProperty
(
"水单号"
)
@ExcelProperty
(
"水单号"
)
private
String
waterNo
;
private
String
waterNo
;
...
...
yudao-module-wealth/yudao-module-wealth-core/src/main/java/cn/iocoder/yudao/module/wealth/vo/receiptItem/ReceiptItemCreateReqVO.java
View file @
0626c669
...
@@ -18,4 +18,6 @@ public class ReceiptItemCreateReqVO extends ReceiptItemBaseVO {
...
@@ -18,4 +18,6 @@ public class ReceiptItemCreateReqVO extends ReceiptItemBaseVO {
private
List
<
ReceivableWriteOffReqVO
>
receivableWriteOffList
;
private
List
<
ReceivableWriteOffReqVO
>
receivableWriteOffList
;
@ApiModelProperty
(
value
=
"订单号"
)
@ApiModelProperty
(
value
=
"订单号"
)
private
String
orderNo
;
private
String
orderNo
;
@ApiModelProperty
(
value
=
"批量导入原始汇率"
)
private
String
batchRate
;
}
}
yudao-module-wealth/yudao-module-wealth-rest/src/main/java/cn/iocoder/yudao/module/wealth/controller/admin/receiptItem/ReceiptItemController.java
View file @
0626c669
...
@@ -289,13 +289,13 @@ public class ReceiptItemController {
...
@@ -289,13 +289,13 @@ public class ReceiptItemController {
List
<
ReceiptItemBatchCreateReqVO
>
list
=
Arrays
.
asList
(
List
<
ReceiptItemBatchCreateReqVO
>
list
=
Arrays
.
asList
(
ReceiptItemBatchCreateReqVO
.
builder
()
ReceiptItemBatchCreateReqVO
.
builder
()
.
orderNo
(
"订单号/提单号给其一"
)
.
orderNo
(
"订单号/提单号给其一"
)
.
payer
(
"
发货人/收货人
"
)
.
payer
(
"
填\"发货人\"或\"收货人\"
"
)
.
payDate
(
"格式:2024-01-01 11:22:33"
)
.
payDate
(
"格式:2024-01-01 11:22:33"
)
.
payAccount
(
"8110901012501586556"
)
.
payAccount
(
"8110901012501586556"
)
.
payAmount
(
"99.99"
)
.
payAmount
(
"99.99"
)
.
payCurrency
(
"
$
"
)
.
payCurrency
(
"
RMB
"
)
.
settleCurrency
(
"
¥
"
)
.
settleCurrency
(
"
USD
"
)
.
settleRate
(
"
0.877193
"
)
.
settleRate
(
"
7.17:1
"
)
.
waterNo
(
"非必填"
)
.
waterNo
(
"非必填"
)
.
submitter
(
"提交人"
)
.
submitter
(
"提交人"
)
.
remark
(
"非必填"
)
.
remark
(
"非必填"
)
...
...
yudao-module-wealth/yudao-module-wealth-rest/src/main/resources/mapper/ReceiptItem/ReceiptItemMapper.xml
View file @
0626c669
...
@@ -121,4 +121,12 @@
...
@@ -121,4 +121,12 @@
AND eri.status = 1 AND eri.deleted = 0
AND eri.status = 1 AND eri.deleted = 0
GROUP BY erwor.receivable_id, erwor.income_belong
GROUP BY erwor.receivable_id, erwor.income_belong
</select>
</select>
<select
id=
"getWriteOffAmountReceivableId"
resultType=
"java.math.BigDecimal"
>
SELECT
SUM(erwor.write_off_amount)
FROM ecw_receivable_write_off_record erwor
LEFT JOIN ecw_receipt_item eri ON erwor.receipt_item_id = eri.id
WHERE erwor.receivable_id = #{id}
AND eri.status = 1 AND eri.deleted = 0
</select>
</mapper>
</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