Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
long-tern-care-service
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
hubin
long-tern-care-service
Commits
8568297d
Commit
8568297d
authored
Aug 01, 2023
by
zhangwanglin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
批量退回和基金申报导出
parent
ce9e3c26
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
213 additions
and
16 deletions
+213
-16
AccountController.java
...om/hungraim/ltc/account/controller/AccountController.java
+33
-2
ChDisabAccountsDetailMapper.java
...hungraim/ltc/account/dao/ChDisabAccountsDetailMapper.java
+4
-0
AccountService.java
...java/com/hungraim/ltc/account/service/AccountService.java
+5
-1
AccountServiceImpl.java
...hungraim/ltc/account/service/impl/AccountServiceImpl.java
+54
-13
ChDisabAccountsDetailMapper.xml
...src/main/resources/mapper/ChDisabAccountsDetailMapper.xml
+56
-0
AccountDeclareExportResp.java
...ungraim/ltc/pojo/vo/account/AccountDeclareExportResp.java
+61
-0
No files found.
account/account-service/src/main/java/com/hungraim/ltc/account/controller/AccountController.java
View file @
8568297d
...
...
@@ -119,6 +119,17 @@ public class AccountController {
return
result
;
}
/**
* 批量退回
*
* @return
*/
@PostMapping
(
"/batchAccountReturn"
)
public
Result
batchAccountReturn
(
AccountTaskReqVO
accountTaskReqVO
){
List
<
AccountTaskExecuteReqVO
>
accountTaskExecuteReqVOS
=
accountTaskReqVO
.
getAccountTaskList
();
Result
result
=
accountService
.
batchAccountReturn
(
accountTaskExecuteReqVOS
);
return
result
;
}
@GetMapping
(
"/getOtherPlace"
)
public
Result
otherPlaceHandler
(
String
programId
){
...
...
@@ -223,8 +234,11 @@ public class AccountController {
*/
@GetMapping
(
"/queryAccountsDeclareList"
)
public
Result
<
Page
<
ChDisabDetailAccountsResp
>>
queryAccountsDeclareList
(
@RequestHeader
(
"Authorization"
)
String
token
,
Integer
pageNum
,
Integer
pageSize
,
SrvOrganListReq
srvOrganListReq
)
{
List
<
String
>
accountsStatusList
=
Arrays
.
asList
(
"0"
,
"1"
,
"2"
);
String
accountsStatus
=
srvOrganListReq
.
getAccountsStatus
();
if
(
StringUtils
.
isEmpty
(
accountsStatus
))
{
List
<
String
>
accountsStatusList
=
Arrays
.
asList
(
"0"
,
"1"
,
"2"
);
srvOrganListReq
.
setAccountsStatusList
(
accountsStatusList
);
}
long
srvOrganId
=
TokenParsingUtil
.
TokenParsing
(
token
,
"srvOrganId"
);
if
(
srvOrganId
!=
0
)
{
srvOrganListReq
.
setSrvOrganId
(
srvOrganId
);
...
...
@@ -236,6 +250,23 @@ public class AccountController {
}
/**
* 基金申报导出
* @param
* @return
*/
@GetMapping
(
"/accountsDeclareExport"
)
public
void
accountsDeclareExport
(
@RequestHeader
(
"Authorization"
)
String
token
,
SrvOrganListReq
req
,
HttpServletResponse
response
){
long
srvOrganId
=
TokenParsingUtil
.
TokenParsing
(
token
,
"srvOrganId"
);
if
(
srvOrganId
!=
0
)
{
req
.
setSrvOrganId
(
srvOrganId
);
}
Workbook
workbook
=
accountService
.
accountsDeclareExport
(
req
);
// 命名表格
String
fileName
=
"accountsDeclare.xlsx"
;
FileUtils
.
exportResponse
(
workbook
,
fileName
,
response
);
}
/**
* 暂缓列表查询
* @param
* @return
...
...
@@ -387,7 +418,7 @@ public class AccountController {
}
@RequestMapping
(
"/accountReturn"
)
public
Result
accountReturn
(
SrvTaskRespVO
srvTaskRespVO
)
{
public
Result
accountReturn
(
AccountTaskExecuteReqVO
srvTaskRespVO
)
{
Result
result
=
accountService
.
accountReturn
(
srvTaskRespVO
);
return
result
;
...
...
account/account-service/src/main/java/com/hungraim/ltc/account/dao/ChDisabAccountsDetailMapper.java
View file @
8568297d
...
...
@@ -46,4 +46,7 @@ public interface ChDisabAccountsDetailMapper extends BaseMapper<ChDisabDetailAcc
int
queryTaskDetailDisable
(
TaskDetailDisableVO
taskDetailDisableVO
);
List
<
AccountDeclareExportResp
>
queryAccountsDeclareExport
(
SrvOrganListReq
req
);
}
\ No newline at end of file
account/account-service/src/main/java/com/hungraim/ltc/account/service/AccountService.java
View file @
8568297d
...
...
@@ -37,6 +37,8 @@ public interface AccountService extends IService<ChDisabAccounts> {
Workbook
accountsDeclareExport
(
SrvOrganListReq
req
);
Page
<
NursingRecordsRespVO
>
queryNursingRecords
(
NursingReqVO
nursingReqVO
);
...
...
@@ -72,5 +74,7 @@ public interface AccountService extends IService<ChDisabAccounts> {
void
placeOtherTaskQuery
();
//退回
Result
accountReturn
(
SrvTaskRespVO
srvTaskRespVO
);
Result
accountReturn
(
AccountTaskExecuteReqVO
srvTaskRespVO
);
Result
batchAccountReturn
(
List
<
AccountTaskExecuteReqVO
>
srvTaskListRespVO
);
}
account/account-service/src/main/java/com/hungraim/ltc/account/service/impl/AccountServiceImpl.java
View file @
8568297d
...
...
@@ -488,6 +488,16 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
return
workbook
;
}
@Override
public
Workbook
accountsDeclareExport
(
SrvOrganListReq
req
)
{
List
<
AccountDeclareExportResp
>
accountDeclareExportResps
=
chDisabAccountsDetailMapper
.
queryAccountsDeclareExport
(
req
);
ExportParams
exportParams
=
new
ExportParams
();
exportParams
.
setType
(
ExcelType
.
XSSF
);
//对应xlsx
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
exportParams
,
AccountDeclareExportResp
.
class
,
accountDeclareExportResps
);
return
workbook
;
}
@Override
public
Page
<
ChDisabDetailAccountsResp
>
queryOrganAccountsDetail
(
Integer
pageNum
,
Integer
pageSize
,
SrvOrganListReq
srvOrganListReq
)
{
...
...
@@ -1104,21 +1114,33 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
}
}
//退回
/**
*@desc 退回
* 1、根据服务机构,时间,失能人员,服务方式查询结算明细表
* 2、删除完成项目表的数据
* 3、查询计划表是否还有已完成的任务,有就只更新状态,
* 只有一条记录结算明细表需要退回费用,并更新服务计划详情表状态
**/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
accountReturn
(
SrvTaskRespVO
srvTaskRespVO
){
Long
taskDetailId
=
srvTaskRespVO
.
getTaskDetailId
();
public
Result
accountReturn
(
AccountTaskExecuteReqVO
srvTaskRespVO
){
Result
result
=
accountReturnHandler
(
srvTaskRespVO
);
return
result
;
}
public
Result
accountReturnHandler
(
AccountTaskExecuteReqVO
srvTaskRespVO
)
{
Long
taskDetailId
=
Long
.
valueOf
(
srvTaskRespVO
.
getTaskDetailId
());
String
disabInfoId
=
srvTaskRespVO
.
getDisabInfoId
();
String
srvModeName
=
srvTaskRespVO
.
getSrvModeName
();
String
srvPlanTime
=
srvTaskRespVO
.
getSrvDate
();
Date
date
=
DateUtils
.
strToDate
(
srvPlanTime
);
String
srvOrganId
=
srvTaskRespVO
.
getSrvOrganId
();
Lo
ng
itemId
=
srvTaskRespVO
.
getItemId
();
log
.
info
(
"AccountServiceImpl====accountReturn===taskDetailId:{},disabInfoId:{},srvPlanTime:{},itemId:{}"
,
taskDetailId
,
disabInfoId
,
srvPlanTime
,
itemId
);
Stri
ng
itemId
=
srvTaskRespVO
.
getItemId
();
log
.
info
(
"AccountServiceImpl====accountReturn===taskDetailId:{},disabInfoId:{},srvPlanTime:{},itemId:{}"
,
taskDetailId
,
disabInfoId
,
srvPlanTime
,
itemId
);
ChDisabDetailAccounts
chDisabDetailAccounts
=
chDisabAccountsDetailMapper
.
queryDisabDetailAccounts
(
String
.
valueOf
(
srvOrganId
),
DateUtils
.
dateToStrYm
(
date
),
disabInfoId
,
srvModeName
);
Short
status
=
chDisabDetailAccounts
.
getStatus
();
if
(
status
!=
0
)
{
if
(
status
!=
0
)
{
return
Result
.
failed
(
"此任务已提交申报,不可再操作,请联系管理员"
);
}
// 删除 chSrvTaskFinishItemStream
...
...
@@ -1126,21 +1148,24 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
.
eq
(
ChSrvTaskFinishItem:
:
getTaskDetailId
,
taskDetailId
)
.
eq
(
ChSrvTaskFinishItem:
:
getItemId
,
itemId
);
int
delete
=
chSrvTaskFinishItemMapper
.
delete
(
chSrvTaskFinishItem
);
LambdaQueryWrapper
<
ChSrvPlan
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
ChSrvPlan:
:
getTaskDetailId
,
taskDetailId
);
LambdaQueryWrapper
<
ChSrvPlan
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
// 一个失能人员对应多个护理人员的情况,需要用时间统计
//queryWrapper.eq(ChSrvPlan::getTaskDetailId,taskDetailId);
queryWrapper
.
eq
(
ChSrvPlan:
:
getSrvPlanTime
,
date
);
queryWrapper
.
eq
(
ChSrvPlan:
:
getDisabInfoId
,
disabInfoId
);
queryWrapper
.
eq
(
ChSrvPlan:
:
getIsStatus
,
(
short
)
4
);
List
<
ChSrvPlan
>
srvPlanList
=
chSrvPlanMapper
.
selectList
(
queryWrapper
);
int
size
=
srvPlanList
.
size
();
log
.
info
(
"accountReturn===paln===size:{}"
,
size
);
log
.
info
(
"accountReturn===paln===size:{}"
,
size
);
// 大于1说明还有已完成的任务,不退回,只更新状态 等于1结算退回费用
try
{
ChSrvPlan
chSrvPlan
=
new
ChSrvPlan
();
chSrvPlan
.
setIsStatus
(
0L
);
chSrvPlan
.
setIsBill
(
0L
);
chSrvPlan
.
setLcd
(
new
Date
());
chSrvPlan
.
setPlanID
(
srvTaskRespVO
.
getPlanId
(
));
chSrvPlan
.
setPlanID
(
Long
.
valueOf
(
srvTaskRespVO
.
getPlanId
()
));
chSrvPlanMapper
.
updateById
(
chSrvPlan
);
if
(
size
==
1
)
{
if
(
size
==
1
)
{
BigDecimal
accountsAllCost
=
chDisabDetailAccounts
.
getAccountsAllCost
();
if
(
accountsAllCost
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
return
Result
.
success
(
"当前费用为0,不再进行费用退回"
);
...
...
@@ -1148,7 +1173,7 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
BigDecimal
accountsOverallCost
=
chDisabDetailAccounts
.
getAccountsOverallCost
();
BigDecimal
accountsPersonalCost
=
chDisabDetailAccounts
.
getAccountsPersonalCost
();
BigDecimal
allCost
=
new
BigDecimal
(
0
);
BigDecimal
overCost
=
new
BigDecimal
(
0
);
BigDecimal
overCost
=
new
BigDecimal
(
0
);
BigDecimal
personCost
=
new
BigDecimal
(
0
);
if
(
"养老"
.
equals
(
srvModeName
))
{
allCost
=
BigDecimal
.
valueOf
(
50
);
...
...
@@ -1181,7 +1206,21 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
ca
.
setStatus
((
short
)
0
);
ca
.
setTaskDetailId
(
Long
.
valueOf
(
taskDetailId
));
chSrvTaskDetailMapper
.
updateById
(
ca
);
}
return
Result
.
success
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
batchAccountReturn
(
List
<
AccountTaskExecuteReqVO
>
srvTaskListRespVO
){
try
{
for
(
AccountTaskExecuteReqVO
srvTaskRespVO
:
srvTaskListRespVO
)
{
Result
result
=
accountReturnHandler
(
srvTaskRespVO
);
if
(!
ResultCode
.
SUCCESS
.
getCode
().
equals
(
result
.
getCode
())){
return
result
;
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"==============accountReturn error:{}"
,
e
);
...
...
@@ -1191,3 +1230,5 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
}
}
account/account-service/src/main/resources/mapper/ChDisabAccountsDetailMapper.xml
View file @
8568297d
...
...
@@ -64,6 +64,62 @@
order by info.DISAB_INFO_ID
</select>
<select
id=
"queryAccountsDeclareExport"
resultType=
"com.hungraim.ltc.pojo.vo.account.AccountDeclareExportResp"
>
select
d.MODE_NAME modeName,
to_char(d.ACCOUNTS_START_TIME,'yyyy-MM-dd') accountsStartTime,
to_char(d.ACCOUNTS_END_TIME,'yyyy-MM-dd') accountsEndTime,
to_char(d.ACCOUNTS_TIME,'yyyy-MM') accountsTime,
d.ACCOUNTS_ALL_COST accountsAllCost,
d.ACCOUNTS_OVERALL_COST accountsOverallCost,
d.ACCOUNTS_PERSONAL_COST accountsPersonalCost,
d.TASK_DETAIL_ID taskDetailId,
(select district_name from ch_fnd_district dis where apply.MEDICAL_AREA = dis.district_code) medicalArea,
o.SRV_ORGAN_NAME srvOrganName,
o.SRV_ORGAN_ID srvOrganId,
info.REAL_NAME realName,
info.DISAB_INFO_ID disabInfoId,
d.DEDUCTION_AMOUNT deductionAmount,
d.REISSUE_AMOUNT reissueAmount,
d.ACCOUNTS_DETAIL_ID accountsDetailId,
DECODE(d.STATUS, '0','未申报','1', '已申报','2','已暂缓') status,
d.ACCOUNTS_ID accountsId
from CH_DISAB_ACCOUNTS_DETAIL d
left join CH_DISABLE_INFO info on d.DISAB_INFO_ID = info.DISAB_INFO_ID
left join CH_DISABLE_APPLY apply on info.APPLY_ID=apply.APPLY_ID
left join CH_SRV_ORGAN o on d.SRV_ORGAN_ID = o.SRV_ORGAN_ID
<where>
d.mode_name
<![CDATA[ <>]]>
'异地'
<if
test=
"modeId != null and modeId != ''"
>
and DECODE(d.mode_name, '医疗','1','养老', '2','上门','3', '异地', '4') = #{modeId}
</if>
<if
test=
"accountsStatus != null and accountsStatus != ''"
>
and d.status = #{accountsStatus}
</if>
<if
test=
"realName != null and realName != ''"
>
AND info.real_name LIKE CONCAT('%',CONCAT(#{realName},'%'))
</if>
<if
test=
"srvOrganId != null and srvOrganId != '' and srvOrganId!=0"
>
and d.SRV_ORGAN_ID = #{srvOrganId}
</if>
<if
test=
"accountsTime != null and accountsTime != ''"
>
AND to_char(d.ACCOUNTS_TIME,'yyyy-MM') = #{accountsTime}
</if>
<if
test=
'accountsStatusList != null and accountsStatusList.size()>0'
>
AND d.status IN
<foreach
collection=
"accountsStatusList"
open=
"("
close=
")"
item=
"accountsStatusList"
separator=
","
>
#{accountsStatusList}
</foreach>
</if>
</where>
order by info.DISAB_INFO_ID
</select>
<select
id=
"queryNursingRecords"
resultType=
"com.hungraim.ltc.pojo.entity.account.NursingRecordsRespVO"
>
select organ.SRV_ORGAN_NAME srvOrganName,
to_char(plan.SRV_PLAN_TIME,'yyyy-MM-dd') srvPlanTime,
...
...
common/common-core/src/main/java/com/hungraim/ltc/pojo/vo/account/AccountDeclareExportResp.java
0 → 100644
View file @
8568297d
package
com
.
hungraim
.
ltc
.
pojo
.
vo
.
account
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
lombok.Data
;
/**
* @author zwl
* @ClassName AccountDeclareExportResp
* @description 基金申报导出
* @date 2023/7/19 17:04
**/
@Data
public
class
AccountDeclareExportResp
{
@Excel
(
name
=
"统筹区"
,
width
=
20
)
private
String
medicalArea
;
@Excel
(
name
=
"账单月份"
,
width
=
20
)
private
String
accountsTime
;
@Excel
(
name
=
"失能人员"
,
width
=
20
)
private
String
realName
;
/**
* 护理机构名称
*/
@Excel
(
name
=
"护理机构名称"
,
width
=
20
)
private
String
srvOrganName
;
/**
* 护理机构名称
*/
@Excel
(
name
=
"服务方式"
,
width
=
20
)
private
String
modeName
;
/**
* 总费用
*/
@Excel
(
name
=
"总费用合计"
,
width
=
20
)
private
String
accountsAllCost
;
/**
* 统筹费用
*/
@Excel
(
name
=
"统筹支出合计"
,
width
=
20
)
private
String
accountsOverallCost
;
/**
* 个人支付
*/
@Excel
(
name
=
"自付合计"
,
width
=
20
)
private
String
accountsPersonalCost
;
@Excel
(
name
=
"申报状态"
)
private
String
status
;
}
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