Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
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
fangxinjiang
yifu-mvp
Commits
9f7393c5
Commit
9f7393c5
authored
Jun 25, 2023
by
wangzb
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/MVP1.5.5' into MVP1.5.5
parents
f4ee4cf3
a239ad2b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
981 additions
and
346 deletions
+981
-346
DaprMsgProperties.java
...ud/plus/v1/yifu/common/dapr/config/DaprMsgProperties.java
+39
-0
daprConfig.properties
...yifu-common-dapr/src/main/resources/daprConfig.properties
+16
-15
seata-config.yml
...mon/yifu-common-seata/src/main/resources/seata-config.yml
+1
-1
MsgTask.java
...main/java/com/yifu/cloud/plus/v1/job/compont/MsgTask.java
+41
-0
SalaryTask.java
...n/java/com/yifu/cloud/plus/v1/job/compont/SalaryTask.java
+13
-0
MsgInfo.java
.../main/java/com/yifu/cloud/plus/v1/msg/entity/MsgInfo.java
+23
-14
MesConstants.java
...ava/com/yifu/cloud/plus/v1/msg/constant/MesConstants.java
+1
-4
MsgInfoController.java
.../yifu/cloud/plus/v1/msg/controller/MsgInfoController.java
+1
-1
MsgInfoServiceImpl.java
...fu/cloud/plus/v1/msg/service/impl/MsgInfoServiceImpl.java
+36
-5
application.yml
yifu-msg/yifu-msg-biz/src/main/resources/application.yml
+1
-4
MsgInfoMapper.xml
.../yifu-msg-biz/src/main/resources/mapper/MsgInfoMapper.xml
+33
-24
OrderAttVo.java
...java/com/yifu/cloud/plus/v1/yifu/order/vo/OrderAttVo.java
+35
-0
EkpOrderController.java
...oud/plus/v1/yifu/order/controller/EkpOrderController.java
+17
-0
TOrderService.java
.../yifu/cloud/plus/v1/yifu/order/service/TOrderService.java
+12
-0
TOrderServiceImpl.java
...ud/plus/v1/yifu/order/service/impl/TOrderServiceImpl.java
+334
-278
TAverageSalary.java
...yifu/cloud/plus/v1/yifu/salary/entity/TAverageSalary.java
+64
-0
TAverageSalaryVo.java
...m/yifu/cloud/plus/v1/yifu/salary/vo/TAverageSalaryVo.java
+39
-0
TAverageSalaryController.java
...s/v1/yifu/salary/controller/TAverageSalaryController.java
+98
-0
TAverageSalaryMapper.java
...loud/plus/v1/yifu/salary/mapper/TAverageSalaryMapper.java
+44
-0
TAverageSalaryService.java
...ud/plus/v1/yifu/salary/service/TAverageSalaryService.java
+26
-0
TAverageSalaryServiceImpl.java
...1/yifu/salary/service/impl/TAverageSalaryServiceImpl.java
+52
-0
application.yml
...salary/yifu-salary-biz/src/main/resources/application.yml
+1
-0
TAverageSalaryMapper.xml
...ry-biz/src/main/resources/mapper/TAverageSalaryMapper.xml
+54
-0
No files found.
yifu-common/yifu-common-dapr/src/main/java/com/yifu/cloud/plus/v1/yifu/common/dapr/config/DaprMsgProperties.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
common
.
dapr
.
config
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.stereotype.Component
;
/**
* @Author fxj
* @Date 2022/7/4
* @Description
* @Version 1.0
*/
@Data
@Component
@PropertySource
(
"classpath:daprConfig.properties"
)
@ConfigurationProperties
(
value
=
"dapr.msg"
,
ignoreInvalidFields
=
false
)
public
class
DaprMsgProperties
{
/*
* @author fxj
* @date 14:34
* @Description dapr sidercar url 如:http://localhost:3005/v1.0/invoke/
**/
String
appUrl
;
/*
* @author fxj
* @date 14:35
* @decription app_id 如:"yifu_upms_sider"
**/
String
appId
;
String
appPort
;
String
httpPort
;
String
grpcPort
;
String
metricsPort
;
}
yifu-common/yifu-common-dapr/src/main/resources/daprConfig.properties
View file @
9f7393c5
dapr.upms.appUrl
=
http://
127.0.0.1
:3500/v1.0/invoke/
dapr.upms.appUrl
=
http://
yifu-upms.qas-mvp.svc.cluster.local
:3500/v1.0/invoke/
dapr.upms.appId
=
yifu-upms
dapr.check.appUrl
=
http://127.0.0.1:3500/v1.0/invoke/
#\u6D4B\u8BD5\u73AF\u5883
#dapr.check.appUrl=http://yifu-check.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
#\u672C\u5730
dapr.check.appUrl
=
http://yifu-check.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
dapr.check.appId
=
yifu-check
#\u751F\u4EA7
dapr.archives.appUrl
=
http://127.0.0.1:3500/v1.0/invoke/
dapr.archives.appId
=
yifu-archives
#\u
751F\u4EA7
dapr.
social.appUrl
=
http://127.0.0.1
:3500/v1.0/invoke/
dapr.
social.appId
=
yifu-social
#\u
672C\u5730
dapr.
archives.appUrl
=
http://yifu-archives.qas-mvp.svc.cluster.local
:3500/v1.0/invoke/
dapr.
archives.appId
=
yifu-archives
#\u751F\u4EA7
dapr.salary.appUrl
=
http://127.0.0.1:3500/v1.0/invoke/
dapr.salary.appId
=
yifu-salary
#\u751F\u4EA7
dapr.insurances.appUrl
=
http://127.0.0.1:3500/v1.0/invoke/
dapr.insurances.appId
=
yifu-insurances
dapr.social.appUrl
=
http://yifu-social.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
dapr.social.appId
=
yifu-social
#\u6D4B\u8BD5\u73AF\u5883-B\u7AEF\u670D\u52A1
dapr.business.appUrl
=
http://
127.0.0.1
:3500/v1.0/invoke/
dapr.business.appUrl
=
http://
yifu-business.qas-mvp.svc.cluster.local
:3500/v1.0/invoke/
dapr.business.appId
=
yifu-business
#\u6D4B\u8BD5\u73AF\u5883-\u6D88\u606F\u63D0\u9192\u670D\u52A1
dapr.msg.appUrl
=
http://yifu-msg.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
dapr.msg.appId
=
yifu-msg
\ No newline at end of file
yifu-common/yifu-common-seata/src/main/resources/seata-config.yml
View file @
9f7393c5
...
...
@@ -28,7 +28,7 @@ seata:
enable-degrade
:
false
# 降级开关
disable-global-transaction
:
false
# 禁用全局事务(默认false)
grouplist
:
default
:
192.168.
0.153
:33091
default
:
192.168.
1.65
:33091
transport
:
shutdown
:
wait
:
3
...
...
yifu-job/yifu-job-api/src/main/java/com/yifu/cloud/plus/v1/job/compont/MsgTask.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
job
.
compont
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprMsgProperties
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.stereotype.Component
;
/**
* @Author fxj
* @Description 定時任務--定时生成 超时提醒
* @Date 19:57 2023/5/30
* @Param
* @return
**/
@Component
(
value
=
"msgTask"
)
@Slf4j
@EnableConfigurationProperties
(
DaprMsgProperties
.
class
)
public
class
MsgTask
{
@Autowired
private
DaprMsgProperties
daprMsgProperties
;
/**
* @Author fxj
* @Description 每29分钟刷新 超时待办提醒
* @Date 20:01 2023/5/30
* @Param
* @return
**/
public
void
createOderOverTimeMsg
()
{
log
.
info
(
"-------------每29分钟刷新 超时待办提醒-定时任务开始------------"
);
HttpDaprUtil
.
invokeMethodPost
(
daprMsgProperties
.
getAppUrl
(),
daprMsgProperties
.
getAppId
(),
"/msg/inner/updateOverTimeMsg"
,
""
,
Object
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"-------------每29分钟刷新 超时待办提醒定时任务结束------------"
);
}
}
\ No newline at end of file
yifu-job/yifu-job-api/src/main/java/com/yifu/cloud/plus/v1/job/compont/SalaryTask.java
View file @
9f7393c5
...
...
@@ -127,5 +127,18 @@ public class SalaryTask {
log
.
info
(
"------------定时生成本期申报-定时任务结束------------"
);
}
/**
* @Author hgw
* @Description 前12月平均工资(MVP-TDC接口)
* @Date 2023-6-19 16:31:32
* @Param
* @return
**/
public
void
doCreateAverageSalary
()
{
log
.
info
(
"------------定时生成【前12月平均工资】-定时任务开始------------"
);
HttpDaprUtil
.
invokeMethodPost
(
daprSalarylProperties
.
getAppUrl
(),
daprSalarylProperties
.
getAppId
(),
"/taveragesalary/inner/doCreateAverageSalary"
,
""
,
Object
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"------------定时生成【前12月平均工资】-定时任务结束------------"
);
}
}
\ No newline at end of file
yifu-msg/yifu-msg-api/src/main/java/com/yifu/cloud/plus/v1/msg/entity/MsgInfo.java
View file @
9f7393c5
...
...
@@ -22,21 +22,20 @@ import com.baomidou.mybatisplus.annotation.IdType;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
java.time.LocalDateTime
;
/**
* @author fxj
* @date 2023-06-01 10:41:25
*/
@Data
@TableName
(
"msg_info"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"EKP 消息提醒"
)
public
class
MsgInfo
extends
BaseEntity
{
public
class
MsgInfo
{
/**
* id
...
...
@@ -46,20 +45,20 @@ public class MsgInfo extends BaseEntity {
@Schema
(
description
=
"id"
)
private
String
id
;
/**
*
orderId
*
订单号
*/
@ExcelAttribute
(
name
=
"
orderId
"
,
maxLength
=
50
)
@ExcelAttribute
(
name
=
"
订单号
"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"orderId不能超过50个字符"
)
@ExcelProperty
(
"
orderId
"
)
@Schema
(
description
=
"
orderId
"
)
@ExcelProperty
(
"
订单号
"
)
@Schema
(
description
=
"
订单号
"
)
private
String
orderId
;
/**
*
订单号
*
URL
*/
@ExcelAttribute
(
name
=
"
订单号
"
,
maxLength
=
200
)
@Length
(
max
=
200
,
message
=
"
订单号
不能超过200个字符"
)
@ExcelProperty
(
"
订单号
"
)
@Schema
(
description
=
"
订单号
"
)
@ExcelAttribute
(
name
=
"
URL
"
,
maxLength
=
200
)
@Length
(
max
=
200
,
message
=
"
URL
不能超过200个字符"
)
@ExcelProperty
(
"
URL
"
)
@Schema
(
description
=
"
URL
"
)
private
String
url
;
/**
* 提交人
...
...
@@ -85,7 +84,7 @@ public class MsgInfo extends BaseEntity {
@Length
(
max
=
1
,
message
=
"0 未阅 1 已阅不能超过1个字符"
)
@ExcelProperty
(
"0 未阅 1 已阅"
)
@Schema
(
description
=
"0 未阅 1 已阅"
)
private
String
read
;
private
String
read
Status
;
/**
* 提醒人
*/
...
...
@@ -95,4 +94,14 @@ public class MsgInfo extends BaseEntity {
@Schema
(
description
=
"提醒人"
)
private
String
alertUser
;
private
LocalDateTime
createTime
;
/**
* 项目名称
*/
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"项目名称不能超过1个字符"
)
@ExcelProperty
(
"项目名称"
)
@Schema
(
description
=
"项目名称"
)
private
String
domainName
;
}
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/constant/MesConstants.java
View file @
9f7393c5
...
...
@@ -10,13 +10,10 @@ import org.springframework.stereotype.Component;
* @Description
* @Version 1.0
*/
@Component
@PropertySource
(
"classpath:application.yml"
)
@ConfigurationProperties
(
value
=
"ekp"
,
ignoreInvalidFields
=
false
)
public
interface
MesConstants
{
/**
* 項目订单URL
**/
String
orderUrl
=
""
;
String
orderUrl
=
"
http://36.7.147.19:28080/sys/modeling/main/modelingAppView.do?method=modelView&listviewId=185943766d6e9ff50d8fea1414eaf460&fdId=
"
;
}
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/controller/MsgInfoController.java
View file @
9f7393c5
...
...
@@ -86,7 +86,7 @@ public class MsgInfoController {
@Operation
(
summary
=
"每29分钟刷新 超时待办提醒"
,
description
=
"每29分钟刷新 超时待办提醒"
)
@Inner
@PostMapping
(
"/inner/updateOverTimeMsg"
)
public
void
everyMonthUpdateSalaryStatus
()
{
public
void
updateOverTimeMsg
()
{
msgInfoService
.
updateOverTimeMsg
();
}
}
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/service/impl/MsgInfoServiceImpl.java
View file @
9f7393c5
...
...
@@ -16,6 +16,7 @@
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
msg
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -30,9 +31,14 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
*
*
...
...
@@ -82,8 +88,9 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl
if
(
Common
.
isNotNull
(
save
)){
save
.
setCreateTime
(
LocalDateTime
.
now
());
save
.
setUrl
(
MesConstants
.
orderUrl
+
vo
.
getOrderId
());
save
.
set
Url
(
vo
.
getAlertUser
(
));
save
.
set
AlertUser
(
vo
.
getAlertUser
().
replace
(
"\""
,
""
));
baseMapper
.
insert
(
save
);
log
.
error
(
JSON
.
toJSONString
(
save
));
}
}
// 变更提醒
...
...
@@ -93,8 +100,9 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl
save
.
setCreateTime
(
LocalDateTime
.
now
());
save
.
setUrl
(
MesConstants
.
orderUrl
+
save
.
getOrderId
());
save
.
setAlertType
(
CommonConstants
.
TWO_STRING
);
save
.
set
Url
(
vo
.
getAlertUser
(
));
save
.
set
AlertUser
(
vo
.
getAlertUser
().
replace
(
"\""
,
""
));
baseMapper
.
insert
(
save
);
log
.
error
(
JSON
.
toJSONString
(
save
));
}
}
}
...
...
@@ -110,18 +118,41 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl
* @Param
* @return
**/
@Transactional
@Override
public
void
updateOverTimeMsg
()
{
// 1. 删除未读的超时,如果有继续生成
baseMapper
.
delete
(
Wrappers
.<
MsgInfo
>
query
().
lambda
()
.
eq
(
MsgInfo:
:
getReadStatus
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
MsgInfo:
:
getAlertType
,
CommonConstants
.
ONE_STRING
));
List
<
MsgInfo
>
temps
=
baseMapper
.
selectList
(
Wrappers
.<
MsgInfo
>
query
().
lambda
()
.
eq
(
MsgInfo:
:
getAlertType
,
CommonConstants
.
ONE_STRING
)
.
eq
(
MsgInfo:
:
getReadStatus
,
CommonConstants
.
ONE_STRING
));
Map
<
String
,
MsgInfo
>
tempMap
=
new
HashMap
<>();
if
(
Common
.
isNotNull
(
temps
)){
for
(
MsgInfo
msg:
temps
){
tempMap
.
put
(
msg
.
getOrderNo
(),
msg
);
}
}
List
<
MsgInfo
>
msgInfos
=
baseMapper
.
getMsgByTask
();
List
<
MsgInfo
>
saves
=
new
ArrayList
<>();
if
(
Common
.
isNotNull
(
msgInfos
)){
//1.先删除
baseMapper
.
delete
(
Wrappers
.<
MsgInfo
>
query
().
lambda
().
eq
(
MsgInfo:
:
getAlertType
,
CommonConstants
.
ONE_STRING
));
//2. 重新生成
MsgInfo
temp
;
for
(
MsgInfo
ms:
msgInfos
){
temp
=
tempMap
.
get
(
ms
.
getOrderNo
());
if
(
Common
.
isNotNull
(
temp
)){
tempMap
.
remove
(
ms
.
getOrderNo
());
continue
;
}
ms
.
setCreateTime
(
LocalDateTime
.
now
());
ms
.
setUrl
(
MesConstants
.
orderUrl
+
ms
.
getOrderId
());
saves
.
add
(
ms
);
}
if
(
Common
.
isNotNull
(
tempMap
)){
this
.
removeByIds
(
tempMap
.
values
());
}
this
.
saveBatch
(
msgInfo
s
);
this
.
saveBatch
(
save
s
);
}
}
}
yifu-msg/yifu-msg-biz/src/main/resources/application.yml
View file @
9f7393c5
...
...
@@ -64,6 +64,3 @@ springdoc:
-
group
:
mail
#按包路径匹配
packagesToScan
:
com.yifu.cloud.plus.v1.msg.controller
\ No newline at end of file
ekp
:
orderUrl
:
http://36.7.147.19:28080/sys/modeling/main/modelingAppView.do?method=modelView&listviewId=185943766d6e9ff50d8fea1414eaf460&fdId=
\ No newline at end of file
yifu-msg/yifu-msg-biz/src/main/resources/mapper/MsgInfoMapper.xml
View file @
9f7393c5
...
...
@@ -30,8 +30,9 @@
<result
property=
"orderNo"
column=
"ORDER_NO"
/>
<result
property=
"alertType"
column=
"ALERT_TYPE"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"read
"
column=
"READ
"
/>
<result
property=
"read
Status"
column=
"READ_STATUS
"
/>
<result
property=
"alertUser"
column=
"ALERT_USER"
/>
<result
property=
"domainName"
column=
"DOMAIN_NAME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
...
...
@@ -40,8 +41,9 @@
a.ORDER_NO,
a.ALERT_TYPE,
a.CREATE_TIME,
a.READ,
a.ALERT_USER
a.READ_STATUS,
a.ALERT_USER,
a.DOMAIN_NAME
</sql>
<sql
id=
"msgInfo_where"
>
<if
test=
"msgInfo != null"
>
...
...
@@ -63,8 +65,8 @@
<if
test=
"msgInfo.createTime != null"
>
AND a.CREATE_TIME = #{msgInfo.createTime}
</if>
<if
test=
"msgInfo.read
!= null and msgInfo.read
.trim() != ''"
>
AND a.READ
= #{msgInfo.read
}
<if
test=
"msgInfo.read
Status != null and msgInfo.readStatus
.trim() != ''"
>
AND a.READ
_STATUS = #{msgInfo.readStatus
}
</if>
<if
test=
"msgInfo.alertUser != null and msgInfo.alertUser.trim() != ''"
>
AND a.ALERT_USER = #{msgInfo.alertUser}
...
...
@@ -93,31 +95,38 @@
<select
id=
"getMsgByOrderId"
resultMap=
"msgInfoMap"
>
SELECT
p.fd_name alertUser,
a.fd_3ac901c5184274 orderNo,
a.fd_id orderId,
'0' as alertType
a.fd_3ac901ba3b9d3e domain_name,
p.fd_name ALERT_USER,
a.fd_3ac901c5184274 ORDER_NO,
a.fd_id ORDER_ID,
'0' as ALERT_TYPE
FROM
ekp_ea33075576149bb8a4f5 a
LEFT JOIN sys_org_element p on a.fd_3b0aff6781fa86 = p.fd_id
WHERE
a.fd_id = #{orderId} limit 1
</select>
<select
id=
"getMsgByTask"
resultMap=
"msgInfoMap"
>
select
<!-- 加急(2-3小时)|1 紧急(3-5小时)|4 常规(5-8小时)|7 -->
o.fd_name alertUser,
b1.fd_3ac901c5184274 orderNo,
b1.fd_id orderId,
'1' as alertType
FROM lbpm_workitem a
LEFT JOIN lbpm_node e on e.fd_id= a.fd_node_id
LEFT JOIN lbpm_process p on p.fd_id=e.fd_process_id
LEFT JOIN ekp_ea33075576149bb8a4f5 b1 on p.fd_model_id=b1.fd_id
LEFT JOIN sys_org_element o on o.fd_id=fd_expected_id
where
e.fd_fact_node_id='N5' and b1.fd_id is not null;
and DATE_ADD(NOW(),INTERVAL 30 MINUTE) > IF(b1.fd_3b779ba2168eea=1,DATE_ADD(a.fd_start_date,INTERVAL 3 HOUR),IF(b1.fd_3b779ba2168eea=4,DATE_ADD(a.fd_start_date,INTERVAL 5 HOUR),DATE_ADD(a.fd_start_date,INTERVAL 8 HOUR)))
<select
id=
"getMsgByTask"
resultMap=
"msgInfoMap"
>
SELECT * from (
SELECT
b1.fd_3ac901ba3b9d3e domain_name,
o.fd_no ALERT_USER,
b1.fd_3ac901c5184274 ORDER_NO,
b1.fd_id ORDER_ID,
'1' AS ALERT_TYPE,
DATE_ADD(NOW(), INTERVAL 30 MINUTE) as 'date1',
IF(b1.fd_3b779ba2168eea = 1,DATE_ADD(a.fd_start_date,INTERVAL 3 HOUR),IF(b1.fd_3b779ba2168eea = 4,DATE_ADD(a.fd_start_date,INTERVAL 5 HOUR),DATE_ADD(a.fd_start_date,INTERVAL 8 HOUR))) as 'date2'
FROM
lbpm_workitem a
LEFT JOIN lbpm_node e ON e.fd_id = a.fd_node_id
LEFT JOIN lbpm_process p ON p.fd_id = e.fd_process_id
LEFT JOIN ekp_ea33075576149bb8a4f5 b1 ON p.fd_model_id = b1.fd_id
LEFT JOIN sys_org_element o ON o.fd_id = fd_expected_id
WHERE
e.fd_fact_node_id = 'N5'
AND b1.fd_id IS NOT NULL
) x
where x.date1 > date2
</select>
</mapper>
yifu-order/yifu-order-api/src/main/java/com/yifu/cloud/plus/v1/yifu/order/vo/OrderAttVo.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
order
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.Serializable
;
@Data
public
class
OrderAttVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6620652346415180825L
;
/**
* 订单编号
*/
@Schema
(
description
=
"订单编号"
)
private
String
orderNo
;
/**
* 订标识
*/
@Schema
(
description
=
"唯一标识"
)
private
String
file1
;
/**
* 附件
*/
@Schema
(
description
=
"附件"
)
private
MultipartFile
[]
file
;
}
yifu-order/yifu-order-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/order/controller/EkpOrderController.java
View file @
9f7393c5
...
...
@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.order.controller;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.order.service.TOrderService
;
import
com.yifu.cloud.plus.v1.yifu.order.vo.OrderAddVO
;
import
com.yifu.cloud.plus.v1.yifu.order.vo.OrderAttVo
;
import
com.yifu.cloud.plus.v1.yifu.order.vo.OrderReplyAddVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
...
...
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
...
...
@@ -47,6 +49,21 @@ public class EkpOrderController {
return
tOrderService
.
receiveOrder
(
vo
);
}
/**
* 接收处理ekp
*
* @author licancan
* @param vo
* @return {@link R}
* @throws IOException
*/
@Schema
(
description
=
"接收处理ekp附件"
)
@PostMapping
(
value
=
"/receiveOrderNew"
)
public
R
receiveOrder
(
OrderAttVo
vo
)
throws
IOException
{
return
tOrderService
.
receiveOrderNew
(
vo
);
}
/**
* 接收处理ekp订单回复
*
...
...
yifu-order/yifu-order-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/order/service/TOrderService.java
View file @
9f7393c5
...
...
@@ -99,6 +99,18 @@ public interface TOrderService extends IService<TOrder> {
*/
R
receiveOrder
(
OrderAddVO
vo
)
throws
IOException
;
/**
* 接收处理ekp附件
*
* @author licancan
* @param vo
* @return {@link R}
* @throws IOException
*/
R
receiveOrderNew
(
OrderAttVo
vo
)
throws
IOException
;
/**
* 接收处理ekp订单回复
*
...
...
yifu-order/yifu-order-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/order/service/impl/TOrderServiceImpl.java
View file @
9f7393c5
This diff is collapsed.
Click to expand it.
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/entity/TAverageSalary.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* 前12月平均工资(MVP-TDC接口)
* 保留上月与本月,删除上上月数据,用以比对差异部分,推送到TDC
*
* @author hgw
* @date 2023-6-19 15:54:50
*/
@Getter
@Setter
@TableName
(
"t_average_salary"
)
@Tag
(
name
=
"前12月平均工资"
)
public
class
TAverageSalary
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
value
=
"id"
)
private
String
id
;
/**
* 身份证号
*/
@ExcelAttribute
(
name
=
"身份证号"
,
maxLength
=
25
)
@Length
(
max
=
25
,
message
=
"身份证号不能超过25个字符"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"身份证号"
)
private
String
empIdcard
;
/**
* 应发薪酬(劳务费、稿酬)
*/
@ExcelAttribute
(
name
=
"应发薪酬"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"应发薪酬"
)
private
BigDecimal
averageSalary
;
/**
* 结算月
*/
@ExcelAttribute
(
name
=
"生成月"
,
isNotEmpty
=
true
,
errorInfo
=
"生成月不能为空"
,
maxLength
=
6
)
@NotBlank
(
message
=
"生成月不能为空"
)
@Length
(
max
=
6
,
message
=
"生成月不能超过20个字符"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"生成月"
)
private
String
createMonth
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/TAverageSalaryVo.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* 前12月平均工资(MVP-TDC接口)
* 保留上月与本月,删除上上月数据,用以比对差异部分,推送到TDC
*
* @author hgw
* @date 2023-6-19 15:54:50
*/
@Data
public
class
TAverageSalaryVo
implements
Serializable
{
/**
* 身份证号
*/
@ExcelAttribute
(
name
=
"身份证号"
,
maxLength
=
25
)
@Length
(
max
=
25
,
message
=
"身份证号不能超过25个字符"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"身份证号"
)
private
String
empIdcard
;
/**
* 应发薪酬(劳务费、稿酬)
*/
@ExcelAttribute
(
name
=
"应发薪酬"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"应发薪酬"
)
private
BigDecimal
averageSalary
;
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/TAverageSalaryController.java
0 → 100644
View file @
9f7393c5
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
controller
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TAverageSalaryService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TAverageSalaryVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* 前12月平均工资(MVP-TDC接口)
*
* @author hgw
* @date 2023-6-19 16:27:44
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/taveragesalary"
)
@Tag
(
name
=
"前12月平均工资(MVP-TDC接口)"
)
public
class
TAverageSalaryController
{
private
final
TAverageSalaryService
tAverageSalaryService
;
/**
* @Description: 定时任务-前12月平均工资
* @Author: hgw
* @Date: 2023-6-19 16:29:50
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Inner
@Operation
(
description
=
"定时任务-前12月平均工资"
)
@PostMapping
(
"/inner/doCreateAverageSalary"
)
public
void
doCreateAverageSalary
()
{
tAverageSalaryService
.
createAverageSalary
();
}
/**
* @Author fxj
* @Description 获取-前12月平均工资数据
* @Date 10:20 2023/6/20
* @Param
* @return
**/
@Operation
(
description
=
"获取-前12月平均工资数据"
)
@GetMapping
(
"/getAverageSalary"
)
public
R
<
List
<
TAverageSalaryVo
>>
getAverageSalary
(
String
idNum
)
{
// 获取redis分布式事务锁
String
key
=
CacheConstants
.
PAYMENT_DISPATCH_BATCH_ADD_IMPORT
+
CommonConstants
.
DOWN_LINE_STRING
+
"getAverageSalary"
;
String
requestId
;
try
{
requestId
=
RedisDistributedLock
.
getLock
(
key
,
"10"
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
ResultConstants
.
NO_GETLOCK_DATA
+
CommonConstants
.
DOWN_LINE_STRING
+
e
.
getMessage
());
}
try
{
if
(
Common
.
isNotNull
(
requestId
))
{
//主动释放锁
return
tAverageSalaryService
.
getAverageSalary
(
idNum
);
}
else
{
return
R
.
failed
(
ResultConstants
.
NO_GETLOCK_DATA
);
}
}
finally
{
//主动释放锁
RedisDistributedLock
.
unlock
(
key
,
requestId
);
}
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/mapper/TAverageSalaryMapper.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TAverageSalary
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TAverageSalaryVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 前12月平均工资(MVP-TDC接口)
*
* @author hgw
* @date 2023-6-19 16:24:41
*/
@Mapper
public
interface
TAverageSalaryMapper
extends
BaseMapper
<
TAverageSalary
>
{
/**
* 删除多余的数据
*
* @return
*/
int
deleteByCreateMonth
();
/**
* @param
* @Description: 新增新数据
* @Author: hgw
* @Date: 2023/6/19 16:10
* @return: int
**/
int
insertAverageSalary
();
/**
* @return
* @Author fxj
* @Description 获取-前12月平均工资数据 取值增量
* @Date 10:26 2023/6/20
* @Param
**/
List
<
TAverageSalaryVo
>
getAverageSalary
(
@Param
(
"idNum"
)
List
<
String
>
idNum
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TAverageSalaryService.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TAverageSalary
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TAverageSalaryVo
;
import
java.util.List
;
/**
* @Author hgw
* @Description 前12月平均工资(MVP-TDC接口)
* @Date 2023-6-19 16:25:54
**/
public
interface
TAverageSalaryService
extends
IService
<
TAverageSalary
>
{
/**
* @Description: 删除本月与上上月数据,生成本月数据
* @Author: hgw
* @Date: 2023/6/19 16:26
* @return: void
**/
void
createAverageSalary
();
R
<
List
<
TAverageSalaryVo
>>
getAverageSalary
(
String
idNum
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TAverageSalaryServiceImpl.java
0 → 100644
View file @
9f7393c5
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TAverageSalary
;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TAverageSalaryMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TAverageSalaryService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TAverageSalaryVo
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author hgw
* @Description 前12月平均工资(MVP-TDC接口)
* @Date 2023-6-19 16:25:16
**/
@Service
(
"tAverageSalaryService"
)
public
class
TAverageSalaryServiceImpl
extends
ServiceImpl
<
TAverageSalaryMapper
,
TAverageSalary
>
implements
TAverageSalaryService
{
/**
* @Description: 删除本月与上上月数据,生成本月数据
* @Author: hgw
* @Date: 2023/6/19 16:32
* @return: void
**/
@Override
public
void
createAverageSalary
()
{
baseMapper
.
deleteByCreateMonth
();
baseMapper
.
insertAverageSalary
();
}
/**
* @return
* @Author fxj
* @Description 获取-前12月平均工资数据
* @Date 10:25 2023/6/20
* @Param
**/
@Override
public
R
<
List
<
TAverageSalaryVo
>>
getAverageSalary
(
String
idNum
)
{
return
R
.
ok
(
baseMapper
.
getAverageSalary
(
Common
.
getList
(
idNum
)),
CommonConstants
.
RESULT_DATA_SUCESS
);
}
}
yifu-salary/yifu-salary-biz/src/main/resources/application.yml
View file @
9f7393c5
...
...
@@ -39,6 +39,7 @@ security:
-
/v3/api-docs
-
/actuator/**
-
/swagger-ui/**
-
/taveragesalary/getAverageSalary
...
...
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TAverageSalaryMapper.xml
0 → 100644
View file @
9f7393c5
<?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.yifu.cloud.plus.v1.yifu.salary.mapper.TAverageSalaryMapper"
>
<resultMap
id=
"tAverageSalaryMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.entity.TAverageSalary"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
/>
<result
property=
"averageSalary"
column=
"AVERAGE_SALARY"
/>
<result
property=
"createMonth"
column=
"CREATE_MONTH"
/>
</resultMap>
<resultMap
id=
"tAverageSalaryVoMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.vo.TAverageSalaryVo"
>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
/>
<result
property=
"averageSalary"
column=
"AVERAGE_SALARY"
/>
</resultMap>
<!-- 删除不需要的数据 -->
<delete
id=
"deleteByCreateMonth"
>
delete
from t_average_salary
where CREATE_MONTH in (
DATE_FORMAT(now(), '%Y%m'), DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y%m')
)
</delete>
<!-- 生成需要的数据 -->
<insert
id=
"insertAverageSalary"
>
insert into t_average_salary
select CONCAT(DATE_FORMAT(now(), '%Y%m-'), a.ID) ID
, a.EMP_IDCARD
, round(sum(a.RELAY_SALARY) / ifnull(count(DISTINCT a.SALARY_MONTH), 1), 2) AVERAGE_SALARY
, DATE_FORMAT(now(), '%Y%m') CREATE_MONTH
from t_salary_account a
where a.SALARY_MONTH >= date_format(DATE_SUB(NOW(), INTERVAL 1 YEAR), '%Y%m')
GROUP BY a.EMP_IDCARD
</insert>
<select
id=
"getAverageSalary"
resultMap=
"tAverageSalaryVoMap"
>
select x.* from
(select a.EMP_IDCARD,a.AVERAGE_SALARY from view_average_cur_month a) x
LEFT JOIN
(select a.EMP_IDCARD,a.AVERAGE_SALARY from view_average_last_month a) y
on x.EMP_IDCARD=y.EMP_IDCARD
where (x.AVERAGE_SALARY
<![CDATA[ <> ]]>
IFNULL(y.AVERAGE_SALARY,-1))
<if
test=
"idNum != null and idNum.size > 0"
>
AND x.EMP_IDCARD in
<foreach
item=
"item"
index=
"index"
collection=
"idNum"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
</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