Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-operation
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-operation
Commits
0f26f385
提交
0f26f385
authored
6月 06, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
暂存代码
上级
3805a22e
隐藏空白字符变更
内嵌
并排
正在显示
32 个修改的文件
包含
1127 行增加
和
56 行删除
+1127
-56
WangxiaoluSfaModuleOperationApplication.java
...fa/operation/WangxiaoluSfaModuleOperationApplication.java
+40
-1
ControllerResponseAdvice.java
...va/com/sfa/operation/advice/ControllerResponseAdvice.java
+5
-0
KqMxCoreController.java
.../sfa/operation/controller/kq/core/KqMxCoreController.java
+5
-5
KqMxQueryController.java
...fa/operation/controller/kq/query/KqMxQueryController.java
+2
-2
CpPlanQueryController.java
...on/controller/promotion/cpcore/CpPlanQueryController.java
+34
-0
ISfaKqmxDao.java
...ain/java/com/sfa/operation/domain/kq/dao/ISfaKqmxDao.java
+2
-2
SfaKqmxDaoImpl.java
.../com/sfa/operation/domain/kq/dao/impl/SfaKqmxDaoImpl.java
+5
-5
SfaKqmx.java
...main/java/com/sfa/operation/domain/kq/entity/SfaKqmx.java
+1
-1
SfaKqmxMapper.java
...ava/com/sfa/operation/domain/kq/mapper/SfaKqmxMapper.java
+23
-24
IActivityPlanApprovalDao.java
...ration/domain/promotion/dao/IActivityPlanApprovalDao.java
+12
-0
IActivityPlanInfoDao.java
.../operation/domain/promotion/dao/IActivityPlanInfoDao.java
+18
-0
ActivityPlanApprovalDaoImpl.java
...omain/promotion/dao/impl/ActivityPlanApprovalDaoImpl.java
+30
-0
ActivityPlanInfoDaoImpl.java
...on/domain/promotion/dao/impl/ActivityPlanInfoDaoImpl.java
+51
-0
ActivityPlanApproval.java
...eration/domain/promotion/entity/ActivityPlanApproval.java
+72
-0
ActivityPlanInfo.java
...a/operation/domain/promotion/entity/ActivityPlanInfo.java
+198
-0
ActivityPlanApprovalMapper.java
...n/domain/promotion/mapper/ActivityPlanApprovalMapper.java
+20
-0
ActivityPlanInfoMapper.java
...ation/domain/promotion/mapper/ActivityPlanInfoMapper.java
+20
-0
ActivityPlanWq.java
...com/sfa/operation/domain/promotion/wq/ActivityPlanWq.java
+25
-0
KqMxVo.java
src/main/java/com/sfa/operation/pojo/kq/request/KqMxVo.java
+1
-1
SfaKqMxDto.java
...n/java/com/sfa/operation/pojo/kq/response/SfaKqMxDto.java
+1
-1
ActivityPlanApprovalDto.java
...ation/pojo/promotion/request/ActivityPlanApprovalDto.java
+66
-0
ActivityPlanInfoDto.java
...operation/pojo/promotion/request/ActivityPlanInfoDto.java
+189
-0
IKqMxCoreService.java
...n/java/com/sfa/operation/service/kq/IKqMxCoreService.java
+2
-2
IKqMxQueryService.java
.../java/com/sfa/operation/service/kq/IKqMxQueryService.java
+1
-1
KqMxCoreServiceImpl.java
...om/sfa/operation/service/kq/impl/KqMxCoreServiceImpl.java
+4
-4
KqMxQueryServiceImpl.java
...m/sfa/operation/service/kq/impl/KqMxQueryServiceImpl.java
+4
-4
ICpPlanQueryService.java
.../sfa/operation/service/promotion/ICpPlanQueryService.java
+12
-0
CpPlanQueryServiceImpl.java
...ration/service/promotion/impl/CpPlanQueryServiceImpl.java
+191
-0
bootstrap-dev.yml
src/main/resources/bootstrap-dev.yml
+4
-0
SfaKqmxMapper.xml
src/main/resources/mapper/operation/SfaKqmxMapper.xml
+3
-3
ActivityPlanApprovalMapper.xml
...resources/mapper/promotion/ActivityPlanApprovalMapper.xml
+27
-0
ActivityPlanInfoMapper.xml
...ain/resources/mapper/promotion/ActivityPlanInfoMapper.xml
+59
-0
没有找到文件。
src/main/java/com/sfa/operation/WangxiaoluSfaModuleOperationApplication.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
;
import
com.alibaba.nacos.api.NacosFactory
;
import
com.alibaba.nacos.api.PropertyKeyConst
;
import
com.alibaba.nacos.api.exception.NacosException
;
import
com.alibaba.nacos.api.naming.NamingService
;
import
com.alibaba.nacos.api.naming.pojo.Instance
;
import
com.sfa.common.security.annotation.EnableCustomConfig
;
import
com.sfa.common.security.annotation.EnableRyFeignClients
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.annotation.ComponentScan
;
import
java.util.Properties
;
@ComponentScan
(
basePackages
=
{
"com.sfa.common.core.utils.sdk"
,
"com.sfa.operation"
})
@EnableCustomConfig
@EnableRyFeignClients
@MapperScan
(
"com.sfa.operation.domain.mapper"
)
@MapperScan
(
"com.sfa.operation.domain.
*.
mapper"
)
@SpringBootApplication
public
class
WangxiaoluSfaModuleOperationApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
WangxiaoluSfaModuleOperationApplication
.
class
,
args
);
final
String
proNacosIp
=
System
.
getenv
(
"PRO_NACOS_IP"
);
final
String
proNacosPort
=
System
.
getenv
(
"PRO_NACOS_PORT"
);
final
String
proNacosNameSpace
=
System
.
getenv
(
"PRO_NACOS_NS"
);
final
String
serviceIp
=
System
.
getenv
(
"SERVICE_IP"
);
final
String
servicePort
=
System
.
getenv
(
"SERVICE_PORT"
);
// todo qa\live没问题之后删除打印信息
System
.
out
.
println
(
"打印环境变量"
);
System
.
out
.
println
(
"proNacosIp:"
+
proNacosIp
);
System
.
out
.
println
(
"proNacosPort:"
+
proNacosPort
);
System
.
out
.
println
(
"proNacosNameSpace:"
+
proNacosNameSpace
);
System
.
out
.
println
(
"serviceIp:"
+
serviceIp
);
System
.
out
.
println
(
"servicePort:"
+
servicePort
);
try
{
// 创建Nacos客户端配置(需要注册的地址,命名空间ID)
Properties
properties
=
new
Properties
();
properties
.
put
(
PropertyKeyConst
.
SERVER_ADDR
,
proNacosIp
+
":"
+
proNacosPort
);
properties
.
put
(
PropertyKeyConst
.
NAMESPACE
,
proNacosNameSpace
);
// 创建NamingService实例
NamingService
namingService
=
NacosFactory
.
createNamingService
(
properties
);
// 注册服务到以上配置的nacos中
Instance
instance1
=
new
Instance
();
instance1
.
setIp
(
serviceIp
);
instance1
.
setPort
(
Integer
.
parseInt
(
servicePort
));
namingService
.
registerInstance
(
"wangxiaolu-sfa-operation"
,
"promotion"
,
instance1
);
}
catch
(
NacosException
e
)
{
e
.
printStackTrace
();
}
}
}
src/main/java/com/sfa/operation/advice/ControllerResponseAdvice.java
浏览文件 @
0f26f385
...
...
@@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import
com.sfa.common.core.domain.R
;
import
com.sfa.common.core.web.domain.AjaxResult
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpResponse
;
...
...
@@ -25,11 +26,15 @@ public class ControllerResponseAdvice implements ResponseBodyAdvice<Object>{
*/
@Override
public
boolean
supports
(
MethodParameter
methodParameter
,
Class
converterType
)
{
if
(
methodParameter
.
getParameterType
().
isAssignableFrom
(
AjaxResult
.
class
))
{
return
false
;
}
return
!
methodParameter
.
getParameterType
().
isAssignableFrom
(
R
.
class
);
}
@Override
public
Object
beforeBodyWrite
(
Object
body
,
MethodParameter
methodParameter
,
MediaType
selectedContentType
,
Class
selectedConverterType
,
ServerHttpRequest
request
,
ServerHttpResponse
response
)
{
response
.
getHeaders
().
add
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_JSON_VALUE
);
// String类型不能直接包装
if
(
methodParameter
.
getGenericParameterType
().
equals
(
String
.
class
))
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
...
...
src/main/java/com/sfa/operation/controller/core/KqMxCoreController.java
→
src/main/java/com/sfa/operation/controller/
kq/
core/KqMxCoreController.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
controller
.
core
;
package
com
.
sfa
.
operation
.
controller
.
kq
.
core
;
import
com.sfa.common.security.utils.SecurityUtils
;
import
com.sfa.operation.pojo.request.KqMxVo
;
import
com.sfa.operation.pojo.response.SfaKqMxDto
;
import
com.sfa.operation.service.IKqMxCoreService
;
import
com.sfa.operation.pojo.
kq.
request.KqMxVo
;
import
com.sfa.operation.pojo.
kq.
response.SfaKqMxDto
;
import
com.sfa.operation.service.
kq.
IKqMxCoreService
;
import
com.sfa.system.api.model.LoginUser
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -18,7 +18,7 @@ import java.util.Date;
/**
* @author : liqiulin
* @date : 2024-11-04 17
* @describe :
* @describe :
考勤明细
*/
@RestController
@RequestMapping
(
"/kqmx/core"
)
...
...
src/main/java/com/sfa/operation/controller/query/KqMxQueryController.java
→
src/main/java/com/sfa/operation/controller/
kq/
query/KqMxQueryController.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
controller
.
query
;
package
com
.
sfa
.
operation
.
controller
.
kq
.
query
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.common.security.utils.SecurityUtils
;
import
com.sfa.operation.service.IKqMxQueryService
;
import
com.sfa.operation.service.
kq.
IKqMxQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
src/main/java/com/sfa/operation/controller/promotion/cpcore/CpPlanQueryController.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
controller
.
promotion
.
cpcore
;
import
com.sfa.operation.service.promotion.ICpPlanQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.time.LocalDate
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2025-05-27 18
* @describe : CP计划核心操作接口
*/
@RequestMapping
(
"/cpplan"
)
@RestController
public
class
CpPlanQueryController
{
@Autowired
private
ICpPlanQueryService
cpPlanQueryService
;
/**
* 审批当月数据
*/
@PostMapping
(
"/approval"
)
public
List
<
String
>
createApproval
(){
LocalDate
now
=
LocalDate
.
now
();
int
year
=
now
.
getYear
();
int
monthValue
=
now
.
getMonthValue
();
return
cpPlanQueryService
.
createApproval
(
year
,
monthValue
);
}
}
src/main/java/com/sfa/operation/domain/dao/ISfaKqmxDao.java
→
src/main/java/com/sfa/operation/domain/
kq/
dao/ISfaKqmxDao.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
dao
;
package
com
.
sfa
.
operation
.
domain
.
kq
.
dao
;
import
com.sfa.operation.pojo.response.SfaKqMxDto
;
import
com.sfa.operation.pojo.
kq.
response.SfaKqMxDto
;
import
java.util.Date
;
import
java.util.List
;
...
...
src/main/java/com/sfa/operation/domain/dao/impl/SfaKqmxDaoImpl.java
→
src/main/java/com/sfa/operation/domain/
kq/
dao/impl/SfaKqmxDaoImpl.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
dao
.
impl
;
package
com
.
sfa
.
operation
.
domain
.
kq
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.sfa.common.core.enums.ECode
;
import
com.sfa.common.core.exception.WXLSQLException
;
import
com.sfa.operation.domain.dao.ISfaKqmxDao
;
import
com.sfa.operation.domain.entity.SfaKqmx
;
import
com.sfa.operation.domain.mapper.SfaKqmxMapper
;
import
com.sfa.operation.pojo.response.SfaKqMxDto
;
import
com.sfa.operation.domain.
kq.
dao.ISfaKqmxDao
;
import
com.sfa.operation.domain.
kq.
entity.SfaKqmx
;
import
com.sfa.operation.domain.
kq.
mapper.SfaKqmxMapper
;
import
com.sfa.operation.pojo.
kq.
response.SfaKqMxDto
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/sfa/operation/domain/entity/SfaKqmx.java
→
src/main/java/com/sfa/operation/domain/
kq/
entity/SfaKqmx.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
entity
;
package
com
.
sfa
.
operation
.
domain
.
kq
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
...
...
src/main/java/com/sfa/operation/domain/mapper/SfaKqmxMapper.java
→
src/main/java/com/sfa/operation/domain/
kq/
mapper/SfaKqmxMapper.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
mapper
;
import
com.sfa.operation.domain.entity.SfaKqmx
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sfa_kqmx(sfa考勤明细表)】的数据库操作Mapper
* @createDate 2024-11-04 15:50:25
* @Entity com.sfa.operation.domain.entity.SfaKqmx
*/
@Mapper
@Repository
public
interface
SfaKqmxMapper
extends
BaseMapper
<
SfaKqmx
>
{
void
insertOne
(
SfaKqmx
kqDo
);
}
package
com
.
sfa
.
operation
.
domain
.
kq
.
mapper
;
import
com.sfa.operation.domain.kq.entity.SfaKqmx
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sfa_kqmx(sfa考勤明细表)】的数据库操作Mapper
* @createDate 2024-11-04 15:50:25
* @Entity com.sfa.operation.domain.entity.SfaKqmx
*/
@Mapper
@Repository
public
interface
SfaKqmxMapper
extends
BaseMapper
<
SfaKqmx
>
{
void
insertOne
(
SfaKqmx
kqDo
);
}
src/main/java/com/sfa/operation/domain/promotion/dao/IActivityPlanApprovalDao.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
dao
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanApprovalDto
;
/**
* @author : liqiulin
* @date : 2025-06-03 18
* @describe :
*/
public
interface
IActivityPlanApprovalDao
{
void
save
(
ActivityPlanApprovalDto
approvalDto
);
}
src/main/java/com/sfa/operation/domain/promotion/dao/IActivityPlanInfoDao.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
dao
;
import
com.sfa.operation.domain.promotion.wq.ActivityPlanWq
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanApprovalDto
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanInfoDto
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2025-05-29 11
* @describe :
*/
public
interface
IActivityPlanInfoDao
{
List
<
ActivityPlanInfoDto
>
findList
(
ActivityPlanWq
qw
);
void
updatePlanStatus
(
ActivityPlanApprovalDto
approvalDto
);
}
src/main/java/com/sfa/operation/domain/promotion/dao/impl/ActivityPlanApprovalDaoImpl.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.sfa.operation.domain.promotion.dao.IActivityPlanApprovalDao
;
import
com.sfa.operation.domain.promotion.entity.ActivityPlanApproval
;
import
com.sfa.operation.domain.promotion.mapper.ActivityPlanApprovalMapper
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanApprovalDto
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2025-06-03 18
* @describe :
*/
@DS
(
"promotion"
)
@Service
public
class
ActivityPlanApprovalDaoImpl
implements
IActivityPlanApprovalDao
{
@Autowired
private
ActivityPlanApprovalMapper
activityPlanApprovalMapper
;
@Override
public
void
save
(
ActivityPlanApprovalDto
approvalDto
)
{
ActivityPlanApproval
approvalDo
=
new
ActivityPlanApproval
();
BeanUtils
.
copyProperties
(
approvalDto
,
approvalDo
);
activityPlanApprovalMapper
.
insert
(
approvalDo
);
}
}
src/main/java/com/sfa/operation/domain/promotion/dao/impl/ActivityPlanInfoDaoImpl.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.sfa.common.core.utils.bean.BeanUtils
;
import
com.sfa.operation.domain.promotion.dao.IActivityPlanInfoDao
;
import
com.sfa.operation.domain.promotion.entity.ActivityPlanInfo
;
import
com.sfa.operation.domain.promotion.mapper.ActivityPlanInfoMapper
;
import
com.sfa.operation.domain.promotion.wq.ActivityPlanWq
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanApprovalDto
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanInfoDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2025-05-29 11
* @describe :
*/
@DS
(
"promotion"
)
@Service
public
class
ActivityPlanInfoDaoImpl
implements
IActivityPlanInfoDao
{
@Autowired
private
ActivityPlanInfoMapper
activityPlanInfoMapper
;
@Override
public
List
<
ActivityPlanInfoDto
>
findList
(
ActivityPlanWq
qw
)
{
LambdaQueryWrapper
<
ActivityPlanInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
ActivityPlanInfo:
:
getPlanStatus
,
qw
.
getPlanStatus
())
.
eq
(
ActivityPlanInfo:
:
getYear
,
qw
.
getYear
())
.
eq
(
ActivityPlanInfo:
:
getMonth
,
qw
.
getMonth
());
List
<
ActivityPlanInfo
>
activityPlanInfos
=
activityPlanInfoMapper
.
selectList
(
lqw
);
return
BeanUtils
.
transitionDtos
(
activityPlanInfos
,
ActivityPlanInfoDto
.
class
);
}
@Override
public
void
updatePlanStatus
(
ActivityPlanApprovalDto
approvalDto
)
{
ActivityPlanInfo
activityPlanInfo
=
new
ActivityPlanInfo
();
activityPlanInfo
.
setFsInstanceId
(
approvalDto
.
getFsInstanceId
());
activityPlanInfo
.
setSerialNumber
(
approvalDto
.
getSerialNumber
());
activityPlanInfo
.
setPlanStatus
(
approvalDto
.
getApprovalStatus
().
getCode
());
LambdaQueryWrapper
<
ActivityPlanInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
in
(
ActivityPlanInfo:
:
getId
,
approvalDto
.
getPlanInfoIdList
());
activityPlanInfoMapper
.
update
(
activityPlanInfo
,
lqw
);
}
}
src/main/java/com/sfa/operation/domain/promotion/entity/ActivityPlanApproval.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.util.Date
;
import
com.sfa.common.core.enums.promotion.PlanStatus
;
import
lombok.Data
;
/**
*
* @TableName activity_plan_approval
*/
@TableName
(
value
=
"activity_plan_approval"
)
@Data
public
class
ActivityPlanApproval
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 姓名
*/
private
String
employeeName
;
/**
* 员工工号
*/
private
String
employeeNo
;
private
String
planMonth
;
/**
* 飞书审批实例ID
*/
private
String
fsInstanceId
;
private
String
serialNumber
;
/**
* 审批状态
*/
private
PlanStatus
approvalStatus
;
/**
* 审批内容
*/
private
String
form
;
private
String
planInfoIds
;
/**
* 创建人
*/
private
String
createBy
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
modifyTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/operation/domain/promotion/entity/ActivityPlanInfo.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
lombok.Data
;
/**
* 活动计划列表
* @TableName activity_plan_info
*/
@TableName
(
value
=
"activity_plan_info"
)
@Data
public
class
ActivityPlanInfo
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 活动计划表上传记录id
*/
private
Long
planFileId
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 姓名
*/
private
String
employeeName
;
/**
* 员工工号
*/
private
String
employeeNo
;
/**
* 年份
*/
private
Integer
year
;
/**
* 月份
*/
private
Integer
month
;
/**
* 日期
*/
private
Date
date
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 门店编码
*/
private
String
storeCode
;
/**
* 战区-勤策ID
*/
private
String
orgQcId
;
/**
* 战区名称
*/
private
String
orgName
;
/**
* 活动模式id
*/
private
Integer
patternId
;
/**
* 活动模式
*/
private
String
pattern
;
/**
* 经销商编码
*/
private
String
dealerId
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 是否双T门店
*/
private
String
bothT
;
/**
* 门店所属行政区域-省份名称,如:北京市、江苏省
*/
private
String
province
;
/**
* 门店所属行政区域-城市名称,如:南京市
*/
private
String
city
;
/**
* 门店所属行政区域-区县名称,如:鼓楼区
*/
private
String
area
;
/**
* 门店所在地址
*/
private
String
addr
;
/**
* 上班时间
*/
private
Date
clockInTime
;
/**
* 下班时间
*/
private
Date
clockOutTime
;
/**
* 工资
*/
private
BigDecimal
salary
;
/**
* 杂费
*/
private
BigDecimal
incidentals
;
/**
* 是否执行:1:执行;0:未执行;2:审批中;3:审批拒绝;4:未审批;
*/
private
Integer
planStatus
;
/**
* 飞书审批实例Code
*/
private
String
fsInstanceId
;
/**
* 飞书审批单编号
*/
private
String
serialNumber
;
/**
* 审批人
*/
private
String
approvalEmpName
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
modifyTime
;
/**
* 1:有效;0:删除;
*/
private
Integer
isDelete
;
/**
* 创建人
*/
private
String
createBy
;
/**
* 修改人
*/
private
String
modifyBy
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/operation/domain/promotion/mapper/ActivityPlanApprovalMapper.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
mapper
;
import
com.sfa.operation.domain.promotion.entity.ActivityPlanApproval
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【activity_plan_approval】的数据库操作Mapper
* @createDate 2025-06-03 18:07:32
* @Entity com.sfa.operation.domain.promotion.entity.ActivityPlanApproval
*/
@Repository
public
interface
ActivityPlanApprovalMapper
extends
BaseMapper
<
ActivityPlanApproval
>
{
}
src/main/java/com/sfa/operation/domain/promotion/mapper/ActivityPlanInfoMapper.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.sfa.operation.domain.promotion.entity.ActivityPlanInfo
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【activity_plan_info(活动计划列表)】的数据库操作Mapper
* @createDate 2025-05-29 11:03:20
* @Entity com.sfa.operation.domain.promotion.entity.ActivityPlanInfo
*/
@Repository
public
interface
ActivityPlanInfoMapper
extends
BaseMapper
<
ActivityPlanInfo
>
{
}
src/main/java/com/sfa/operation/domain/promotion/wq/ActivityPlanWq.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
domain
.
promotion
.
wq
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* @author : liqiulin
* @date : 2025-05-29 11
* @describe : 关于活动计划的查询参数
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors
(
chain
=
true
)
public
class
ActivityPlanWq
{
private
Long
planFileId
;
/**
* 是否执行:1:执行;0:未执行;2:审批中;3:审批拒绝;4:待审批;
*/
private
Integer
planStatus
;
private
int
year
;
private
int
month
;
}
src/main/java/com/sfa/operation/pojo/request/KqMxVo.java
→
src/main/java/com/sfa/operation/pojo/
kq/
request/KqMxVo.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
pojo
.
request
;
package
com
.
sfa
.
operation
.
pojo
.
kq
.
request
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/sfa/operation/pojo/response/SfaKqMxDto.java
→
src/main/java/com/sfa/operation/pojo/
kq/
response/SfaKqMxDto.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
pojo
.
response
;
package
com
.
sfa
.
operation
.
pojo
.
kq
.
response
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/sfa/operation/pojo/promotion/request/ActivityPlanApprovalDto.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
pojo
.
promotion
.
request
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.sfa.common.core.enums.promotion.PlanStatus
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
import
java.util.List
;
@Accessors
(
chain
=
true
)
@Data
public
class
ActivityPlanApprovalDto
{
/**
* 主键id
*/
private
Long
id
;
/**
* 姓名
*/
private
String
employeeName
;
/**
* 员工工号
*/
private
String
employeeNo
;
private
String
planMonth
;
/**
* 飞书审批实例ID
*/
@JSONField
(
name
=
"instance_code"
)
private
String
fsInstanceId
;
@JSONField
(
name
=
"serial_number"
)
private
String
serialNumber
;
/**
* 审批状态
*/
private
PlanStatus
approvalStatus
;
/**
* 审批内容
*/
@JSONField
(
name
=
"form"
)
private
String
form
;
private
String
planInfoIds
;
private
List
<
Long
>
planInfoIdList
;;
/**
* 创建人
*/
private
String
createBy
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
modifyTime
;
}
\ No newline at end of file
src/main/java/com/sfa/operation/pojo/promotion/request/ActivityPlanInfoDto.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
pojo
.
promotion
.
request
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author : liqiulin
* @date : 2025-05-29 13
* @describe :
*/
@Data
public
class
ActivityPlanInfoDto
{
/**
* 主键id
*/
private
Long
id
;
/**
* 活动计划表上传记录id
*/
private
Long
planFileId
;
/**
* promotion_manage_employee表id
*/
private
Integer
employeeId
;
/**
* 姓名
*/
private
String
employeeName
;
/**
* 员工工号
*/
private
String
employeeNo
;
/**
* 年份
*/
private
Integer
year
;
/**
* 月份
*/
private
Integer
month
;
/**
* 日期
*/
private
Date
date
;
/**
* 系统名称
*/
private
String
lineName
;
/**
* 门店名称
*/
private
String
storeName
;
/**
* 门店编码
*/
private
String
storeCode
;
/**
* 战区-勤策ID
*/
private
String
orgQcId
;
/**
* 战区名称
*/
private
String
orgName
;
/**
* 活动模式id
*/
private
Integer
patternId
;
/**
* 活动模式
*/
private
String
pattern
;
/**
* 经销商编码
*/
private
String
dealerId
;
/**
* 经销商名称
*/
private
String
dealerName
;
/**
* 是否双T门店
*/
private
String
bothT
;
/**
* 门店所属行政区域-省份名称,如:北京市、江苏省
*/
private
String
province
;
/**
* 门店所属行政区域-城市名称,如:南京市
*/
private
String
city
;
/**
* 门店所属行政区域-区县名称,如:鼓楼区
*/
private
String
area
;
/**
* 门店所在地址
*/
private
String
addr
;
/**
* 上班时间
*/
private
Date
clockInTime
;
/**
* 下班时间
*/
private
Date
clockOutTime
;
/**
* 工资
*/
private
BigDecimal
salary
;
/**
* 杂费
*/
private
BigDecimal
incidentals
;
/**
* 是否执行:1:执行;0:未执行;2:审批中;3:审批拒绝;4:未审批;
*/
private
Integer
planStatus
;
/**
* 飞书审批实例Code
*/
private
String
instanceCode
;
/**
* 飞书审批单编号
*/
private
String
serialNumber
;
/**
* 审批人
*/
private
String
approvalEmpName
;
/**
*
*/
private
Date
createTime
;
/**
*
*/
private
Date
modifyTime
;
/**
* 1:有效;0:删除;
*/
private
Integer
isDelete
;
/**
* 创建人
*/
private
String
createBy
;
/**
* 修改人
*/
private
String
modifyBy
;
}
src/main/java/com/sfa/operation/service/IKqMxCoreService.java
→
src/main/java/com/sfa/operation/service/
kq/
IKqMxCoreService.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
service
;
package
com
.
sfa
.
operation
.
service
.
kq
;
import
com.sfa.operation.pojo.response.SfaKqMxDto
;
import
com.sfa.operation.pojo.
kq.
response.SfaKqMxDto
;
/**
* @author : liqiulin
...
...
src/main/java/com/sfa/operation/service/IKqMxQueryService.java
→
src/main/java/com/sfa/operation/service/
kq/
IKqMxQueryService.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
service
;
package
com
.
sfa
.
operation
.
service
.
kq
;
import
java.util.Date
;
import
java.util.Map
;
...
...
src/main/java/com/sfa/operation/service/impl/KqMxCoreServiceImpl.java
→
src/main/java/com/sfa/operation/service/
kq/
impl/KqMxCoreServiceImpl.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
service
.
impl
;
package
com
.
sfa
.
operation
.
service
.
kq
.
impl
;
import
com.sfa.common.core.constant.SecurityConstants
;
import
com.sfa.common.core.domain.R
;
import
com.sfa.operation.domain.dao.ISfaKqmxDao
;
import
com.sfa.operation.pojo.response.SfaKqMxDto
;
import
com.sfa.operation.service.IKqMxCoreService
;
import
com.sfa.operation.domain.
kq.
dao.ISfaKqmxDao
;
import
com.sfa.operation.pojo.
kq.
response.SfaKqMxDto
;
import
com.sfa.operation.service.
kq.
IKqMxCoreService
;
import
com.sfa.system.api.RemoteSiteService
;
import
com.sfa.system.api.pojo.response.SiteDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
src/main/java/com/sfa/operation/service/impl/KqMxQueryServiceImpl.java
→
src/main/java/com/sfa/operation/service/
kq/
impl/KqMxQueryServiceImpl.java
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
service
.
impl
;
package
com
.
sfa
.
operation
.
service
.
kq
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.sfa.common.core.constant.SecurityConstants
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.common.security.utils.SecurityUtils
;
import
com.sfa.operation.domain.dao.ISfaKqmxDao
;
import
com.sfa.operation.domain.
kq.
dao.ISfaKqmxDao
;
import
com.sfa.operation.enums.KqEnum
;
import
com.sfa.operation.pojo.response.SfaKqMxDto
;
import
com.sfa.operation.service.IKqMxQueryService
;
import
com.sfa.operation.pojo.
kq.
response.SfaKqMxDto
;
import
com.sfa.operation.service.
kq.
IKqMxQueryService
;
import
com.sfa.system.api.RemoteKqRuleService
;
import
com.sfa.system.api.pojo.response.MdmKqRuleDto
;
import
org.apache.commons.collections4.MapUtils
;
...
...
src/main/java/com/sfa/operation/service/promotion/ICpPlanQueryService.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
service
.
promotion
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2025-05-29 10
* @describe :
*/
public
interface
ICpPlanQueryService
{
List
<
String
>
createApproval
(
int
year
,
int
month
);
}
src/main/java/com/sfa/operation/service/promotion/impl/CpPlanQueryServiceImpl.java
0 → 100644
浏览文件 @
0f26f385
package
com
.
sfa
.
operation
.
service
.
promotion
.
impl
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.sfa.common.core.constant.SecurityConstants
;
import
com.sfa.common.core.domain.R
;
import
com.sfa.common.core.enums.ECode
;
import
com.sfa.common.core.enums.promotion.PlanStatus
;
import
com.sfa.common.core.exception.CheckedException
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.common.core.utils.sdk.FeiShuUtil
;
import
com.sfa.operation.domain.promotion.dao.IActivityPlanApprovalDao
;
import
com.sfa.operation.domain.promotion.dao.IActivityPlanInfoDao
;
import
com.sfa.operation.domain.promotion.wq.ActivityPlanWq
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanApprovalDto
;
import
com.sfa.operation.pojo.promotion.request.ActivityPlanInfoDto
;
import
com.sfa.operation.service.promotion.ICpPlanQueryService
;
import
com.sfa.system.api.RemoteUserService
;
import
com.sfa.system.api.domain.SysUser
;
import
com.sfa.system.api.model.LoginUser
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
/**
* @author : liqiulin
* @date : 2025-05-29 10
* @describe :
*/
@Service
public
class
CpPlanQueryServiceImpl
implements
ICpPlanQueryService
{
@Value
(
"${feishu.approval.scfy}"
)
private
String
scfyCode
;
@Autowired
private
IActivityPlanInfoDao
activityPlanInfoDao
;
@Autowired
private
IActivityPlanApprovalDao
activityPlanApprovalDao
;
@Autowired
private
RemoteUserService
remoteUserService
;
@Autowired
private
FeiShuUtil
feiShuUtil
;
@Override
public
List
<
String
>
createApproval
(
int
year
,
int
month
)
{
// 计划文件ID下未审批数据
ActivityPlanWq
qw
=
new
ActivityPlanWq
();
qw
.
setYear
(
year
).
setMonth
(
month
).
setPlanStatus
(
PlanStatus
.
WAIT
.
getCode
());
List
<
ActivityPlanInfoDto
>
infos
=
activityPlanInfoDao
.
findList
(
qw
);
if
(
CollectionUtils
.
isEmpty
(
infos
)){
throw
new
CheckedException
(
ECode
.
DATA_NULL_ERROR
);
}
/**
* 分员工处理
*/
Map
<
String
,
List
<
ActivityPlanInfoDto
>>
planGroupByEmp
=
infos
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityPlanInfoDto:
:
getEmployeeNo
));
for
(
Map
.
Entry
<
String
,
List
<
ActivityPlanInfoDto
>>
entry
:
planGroupByEmp
.
entrySet
())
{
String
empNo
=
entry
.
getKey
();
List
<
ActivityPlanInfoDto
>
plans
=
entry
.
getValue
();
ActivityPlanApprovalDto
approvalDto
=
createFsApproval
(
empNo
,
plans
);
// 修改activity_approval_info表中,涉及到id的状态
activityPlanInfoDao
.
updatePlanStatus
(
approvalDto
);
}
return
null
;
}
private
ActivityPlanApprovalDto
createFsApproval
(
String
empNo
,
List
<
ActivityPlanInfoDto
>
plans
){
R
<
LoginUser
>
userR
=
remoteUserService
.
getUserInfo
(
empNo
,
SecurityConstants
.
INNER
);
SysUser
userInfo
=
userR
.
getData
().
getSysUser
();
List
<
Long
>
planIds
=
plans
.
stream
().
map
(
plan
->
plan
.
getId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
List
<
ActivityPlanInfoDto
>>
planGroupByDealer
=
plans
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityPlanInfoDto:
:
getDealerName
));
List
<
List
>
values
=
new
ArrayList
();
for
(
Map
.
Entry
<
String
,
List
<
ActivityPlanInfoDto
>>
entry
:
planGroupByDealer
.
entrySet
())
{
String
dealerName
=
entry
.
getKey
();
List
<
ActivityPlanInfoDto
>
plans2
=
entry
.
getValue
();
Set
<
String
>
lineName
=
new
HashSet
<>();
Set
<
String
>
stores
=
new
HashSet
<>();
AtomicReference
<
BigDecimal
>
salaryTotal
=
new
AtomicReference
<>(
BigDecimal
.
ZERO
);
AtomicReference
<
BigDecimal
>
incidentalsTotal
=
new
AtomicReference
<>(
BigDecimal
.
ZERO
);
plans2
.
forEach
(
plan
->
{
lineName
.
add
(
plan
.
getLineName
());
stores
.
add
(
plan
.
getStoreName
());
salaryTotal
.
set
(
salaryTotal
.
get
().
add
(
plan
.
getSalary
()));
incidentalsTotal
.
set
(
incidentalsTotal
.
get
().
add
(
plan
.
getIncidentals
()));
});
// 组装from表单value值
List
<
Map
>
fromValues
=
new
ArrayList
();
// 经销商
Map
<
String
,
Object
>
value1
=
new
HashMap
<>();
value1
.
put
(
"id"
,
"widget17482494846610001"
);
value1
.
put
(
"type"
,
"input"
);
value1
.
put
(
"value"
,
dealerName
);
// 系统名称
Map
<
String
,
Object
>
value2
=
new
HashMap
<>();
value2
.
put
(
"id"
,
"widget17482495216610001"
);
value2
.
put
(
"type"
,
"textarea"
);
value2
.
put
(
"value"
,
StringUtils
.
join
(
lineName
,
"\n"
));
// 门店数
Map
<
String
,
Object
>
value3
=
new
HashMap
<>();
value3
.
put
(
"id"
,
"widget17482483392700001"
);
value3
.
put
(
"type"
,
"number"
);
value3
.
put
(
"value"
,
stores
.
size
());
// 场次数
Map
<
String
,
Object
>
value4
=
new
HashMap
<>();
value4
.
put
(
"id"
,
"widget17482483806210001"
);
value4
.
put
(
"type"
,
"number"
);
value4
.
put
(
"value"
,
plans2
.
size
());
// 合计工资
Map
<
String
,
Object
>
value5
=
new
HashMap
<>();
value5
.
put
(
"id"
,
"widget17482484113200001"
);
value5
.
put
(
"type"
,
"amount"
);
value5
.
put
(
"value"
,
salaryTotal
.
get
());
// 合计杂费
Map
<
String
,
Object
>
value6
=
new
HashMap
<>();
value6
.
put
(
"id"
,
"widget17482484117210001"
);
value6
.
put
(
"type"
,
"amount"
);
value6
.
put
(
"value"
,
incidentalsTotal
.
get
());
fromValues
.
add
(
value1
);
fromValues
.
add
(
value2
);
fromValues
.
add
(
value3
);
fromValues
.
add
(
value4
);
fromValues
.
add
(
value5
);
fromValues
.
add
(
value6
);
values
.
add
(
fromValues
);
}
String
ar
=
pushFrom
(
values
,
userInfo
);
ActivityPlanApprovalDto
approvalDto
=
JSONObject
.
parseObject
(
ar
,
ActivityPlanApprovalDto
.
class
);
approvalDto
.
setPlanInfoIds
(
JSONObject
.
toJSONString
(
planIds
))
.
setPlanMonth
(
DateUtils
.
parseDateToStr
(
DateUtils
.
YYYY_MM
,
new
Date
()))
.
setEmployeeName
(
userInfo
.
getNickName
())
.
setEmployeeNo
(
userInfo
.
getUserName
())
.
setApprovalStatus
(
PlanStatus
.
PENDING
)
.
setCreateBy
(
userInfo
.
getNickName
())
.
setPlanInfoIdList
(
planIds
);
activityPlanApprovalDao
.
save
(
approvalDto
);
return
approvalDto
;
}
/**
* 市场推广费用申请(审批实例CODE:258B4D93-96D4-49E4-B9E1-DA6AB45740B0)
*/
private
String
pushFrom
(
List
<
List
>
fromValues
,
SysUser
userInfo
)
{
// 提交人
Map
<
String
,
Object
>
fromMap1
=
new
HashMap
<>();
fromMap1
.
put
(
"id"
,
"widget17491191360290001"
);
fromMap1
.
put
(
"type"
,
"input"
);
fromMap1
.
put
(
"value"
,
userInfo
.
getNickName
()+
"("
+
userInfo
.
getUserName
()+
")"
);
// CP活动月份
Map
<
String
,
Object
>
fromMap2
=
new
HashMap
<>();
fromMap2
.
put
(
"id"
,
"widget17491191565410001"
);
fromMap2
.
put
(
"type"
,
"input"
);
fromMap2
.
put
(
"value"
,
DateUtils
.
parseDateToStr
(
DateUtils
.
YYYY_MM
,
DateUtils
.
toDate
(
LocalDate
.
now
().
plusMonths
(
1
))));
// form表单值(明细表)
Map
<
String
,
Object
>
fromMap3
=
new
HashMap
<>();
fromMap3
.
put
(
"id"
,
"widget17482491805280001"
);
fromMap3
.
put
(
"type"
,
"fieldList"
);
fromMap3
.
put
(
"value"
,
fromValues
);
// 审批实例
Map
<
String
,
Object
>
approval
=
new
HashMap
<>();
approval
.
put
(
"form"
,
Arrays
.
asList
(
fromMap1
,
fromMap2
,
fromMap3
));
approval
.
put
(
"approval_code"
,
scfyCode
);
//todo approval.put("user_id",userInfo.getFsUserId());
approval
.
put
(
"user_id"
,
"ge59e787"
);
approval
.
put
(
"allow_resubmit"
,
false
);
approval
.
put
(
"allow_submit_again"
,
false
);
// 使用王小卤链路中心应用提交审批
String
approvalCode
=
feiShuUtil
.
createApproval
(
approval
);
// 根据code查询审批详情
return
feiShuUtil
.
getApprovalInfo
(
approvalCode
);
}
}
src/main/resources/bootstrap-dev.yml
浏览文件 @
0f26f385
...
...
@@ -4,6 +4,8 @@ spring:
cloud
:
nacos
:
# username:
# password:
discovery
:
server-addr
:
192.168.100.38:8848
group
:
sfa
...
...
@@ -13,3 +15,5 @@ spring:
file-extension
:
yaml
group
:
sfa
namespace
:
9fb64726-e415-43e4-9e79-9be8d2666671
shared-configs
:
-
data-id
:
wangxiaolu-sfa-shared.yaml
src/main/resources/mapper/operation/SfaKqmxMapper.xml
浏览文件 @
0f26f385
...
...
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.sfa.operation.domain.mapper.SfaKqmxMapper"
>
<mapper
namespace=
"com.sfa.operation.domain.
kq.
mapper.SfaKqmxMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.sfa.operation.domain.entity.SfaKqmx"
>
<resultMap
id=
"BaseResultMap"
type=
"com.sfa.operation.domain.
kq.
entity.SfaKqmx"
>
<id
property=
"kqmxId"
column=
"kqmx_id"
jdbcType=
"BIGINT"
/>
<result
property=
"kqUserid"
column=
"kq_userid"
jdbcType=
"BIGINT"
/>
<result
property=
"ruleId"
column=
"rule_id"
jdbcType=
"BIGINT"
/>
...
...
@@ -46,7 +46,7 @@
update_user_id,update_time,remark
</sql>
<insert
id=
"insertOne"
parameterType=
"com.sfa.operation.domain.entity.SfaKqmx"
>
<insert
id=
"insertOne"
parameterType=
"com.sfa.operation.domain.
kq.
entity.SfaKqmx"
>
INSERT INTO sfa_kqmx (kq_userid, rule_id, rule_name, kq_time, kq_local, kq_lon, kq_lat, kq_address,
kq_province_num, kq_provinc, kq_city_num, kq_city, kq_county_num, kq_county, kq_picurl,
kq_type, create_date, create_by, create_user_id)
...
...
src/main/resources/mapper/promotion/ActivityPlanApprovalMapper.xml
0 → 100644
浏览文件 @
0f26f385
<?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.sfa.operation.domain.promotion.mapper.ActivityPlanApprovalMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.sfa.operation.domain.promotion.entity.ActivityPlanApproval"
>
<id
property=
"id"
column=
"id"
jdbcType=
"BIGINT"
/>
<result
property=
"employeeId"
column=
"employee_id"
jdbcType=
"INTEGER"
/>
<result
property=
"employeeName"
column=
"employee_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"employeeNo"
column=
"employee_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"fsInstanceId"
column=
"fs_instance_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"approvalStatus"
column=
"approval_status"
jdbcType=
"VARCHAR"
/>
<result
property=
"form"
column=
"form"
jdbcType=
"VARCHAR"
/>
<result
property=
"planInfoIds"
column=
"plan_info_ids"
jdbcType=
"VARCHAR"
/>
<result
property=
"createBy"
column=
"create_by"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"modifyTime"
column=
"modify_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,employee_id,
employee_name,employee_no,fs_instance_id,
approval_status,form,create_by,
create_time,modify_time
</sql>
</mapper>
src/main/resources/mapper/promotion/ActivityPlanInfoMapper.xml
0 → 100644
浏览文件 @
0f26f385
<?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.sfa.operation.domain.promotion.mapper.ActivityPlanInfoMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.sfa.operation.domain.promotion.entity.ActivityPlanInfo"
>
<id
property=
"id"
column=
"id"
jdbcType=
"BIGINT"
/>
<result
property=
"planFileId"
column=
"plan_file_id"
jdbcType=
"BIGINT"
/>
<result
property=
"employeeId"
column=
"employee_id"
jdbcType=
"INTEGER"
/>
<result
property=
"employeeName"
column=
"employee_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"employeeNo"
column=
"employee_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"year"
column=
"year"
jdbcType=
"INTEGER"
/>
<result
property=
"month"
column=
"month"
jdbcType=
"INTEGER"
/>
<result
property=
"date"
column=
"date"
jdbcType=
"DATE"
/>
<result
property=
"lineName"
column=
"line_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeName"
column=
"store_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"storeCode"
column=
"store_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"orgQcId"
column=
"org_qc_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"orgName"
column=
"org_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"patternId"
column=
"pattern_id"
jdbcType=
"INTEGER"
/>
<result
property=
"pattern"
column=
"pattern"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerId"
column=
"dealer_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"bothT"
column=
"both_t"
jdbcType=
"VARCHAR"
/>
<result
property=
"province"
column=
"province"
jdbcType=
"VARCHAR"
/>
<result
property=
"city"
column=
"city"
jdbcType=
"VARCHAR"
/>
<result
property=
"area"
column=
"area"
jdbcType=
"VARCHAR"
/>
<result
property=
"addr"
column=
"addr"
jdbcType=
"VARCHAR"
/>
<result
property=
"clockInTime"
column=
"clock_in_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"clockOutTime"
column=
"clock_out_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"salary"
column=
"salary"
jdbcType=
"DECIMAL"
/>
<result
property=
"incidentals"
column=
"incidentals"
jdbcType=
"DECIMAL"
/>
<result
property=
"planStatus"
column=
"plan_status"
jdbcType=
"INTEGER"
/>
<result
property=
"fsInstanceId"
column=
"fs_instance_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"serialNumber"
column=
"serial_number"
jdbcType=
"VARCHAR"
/>
<result
property=
"approvalEmpName"
column=
"approval_emp_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"modifyTime"
column=
"modify_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"isDelete"
column=
"is_delete"
jdbcType=
"INTEGER"
/>
<result
property=
"createBy"
column=
"create_by"
jdbcType=
"VARCHAR"
/>
<result
property=
"modifyBy"
column=
"modify_by"
jdbcType=
"VARCHAR"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,plan_file_id,employee_id,
employee_name,employee_no,year,
month,date,line_name,
store_name,store_code,org_qc_id,
org_name,pattern_id,pattern,
dealer_id,dealer_name,both_t,
province,city,area,
addr,clock_in_time,clock_out_time,
salary,incidentals,plan_status,
fs_instance_id,serial_number,approval_emp_name,
create_time,modify_time,is_delete,
create_by,modify_by
</sql>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论