Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
8
8timerapiv200
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
8timerv2
8timerapiv200
Commits
14d27f54
Commit
14d27f54
authored
Apr 24, 2020
by
邓实川
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://120.24.24.239:8082/8timerv2/8timerapiv200.git
into dsc
parents
6033b2e6
8fbf7b01
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
848 additions
and
203 deletions
+848
-203
pom.xml
+3
-3
src/main/java/cn/timer/api/bean/qyzx/QyzxEntInfoM.java
+24
-9
src/main/java/cn/timer/api/bean/qyzx/QyzxFeebackAccessory.java
+8
-2
src/main/java/cn/timer/api/bean/qyzx/QyzxInvoiceUsual.java
+115
-0
src/main/java/cn/timer/api/bean/qyzx/QyzxSuggestionFeeback.java
+6
-1
src/main/java/cn/timer/api/bean/spmk/SpmkApproveExecuteRecord.java
+4
-0
src/main/java/cn/timer/api/bean/spmk/SpmkApproveSummary.java
+1
-1
src/main/java/cn/timer/api/config/autofill/MyMetaObjectHandler.java
+6
-1
src/main/java/cn/timer/api/config/enums/CommonEnum.java
+4
-3
src/main/java/cn/timer/api/config/enums/Regular.java
+3
-1
src/main/java/cn/timer/api/controller/LoginController.java
+1
-0
src/main/java/cn/timer/api/controller/dzht/DzhtController.java
+1
-0
src/main/java/cn/timer/api/controller/qyzx/QyzxController.java
+87
-53
src/main/java/cn/timer/api/controller/spmk/SpmkServiceImpl.java
+99
-32
src/main/java/cn/timer/api/controller/yggl/YgglController.java
+96
-61
src/main/java/cn/timer/api/dao/qyzx/QyzxEntInfoMMapper.java
+3
-0
src/main/java/cn/timer/api/dao/qyzx/QyzxFeebackAccessoryMapper.java
+3
-1
src/main/java/cn/timer/api/dao/qyzx/QyzxInvoiceUsualMapper.java
+23
-0
src/main/java/cn/timer/api/dao/qyzx/QyzxSuggestionFeebackMapper.java
+3
-1
src/main/java/cn/timer/api/dto/qyzx/EntauthDto.java
+1
-1
src/main/java/cn/timer/api/dto/spmk/ApprovingDto.java
+37
-0
src/main/java/cn/timer/api/dto/spmk/Condition.java
+6
-1
src/main/java/cn/timer/api/dto/spmk/Router.java
+5
-0
src/main/java/cn/timer/api/dto/spmk/SpmkApprovalGDto.java
+23
-4
src/main/java/cn/timer/api/dto/spmk/SpmkApproveSummaryDto.java
+2
-1
src/main/java/cn/timer/api/dto/spmk/SpmkCustomApprovalDto.java
+1
-2
src/main/java/cn/timer/api/utils/RouterUtils.java
+264
-16
src/main/resources/application-dev.yml
+1
-1
src/main/resources/mapping/qyzx/QyzxEntInfoMMapper.xml
+11
-1
src/main/resources/mapping/spmk/SpmkApprovalGMapper.out.xml
+0
-0
src/main/resources/mapping/spmk/SpmkApprovalGMapper.xml
+7
-7
No files found.
pom.xml
View file @
14d27f54
...
...
@@ -102,11 +102,11 @@
</dependency>
<!-- optional这个需要为 true 热部署才有效 -->
<dependency>
<
!-- <
dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependency>
-->
<!-- swagger2 -->
<dependency>
...
...
@@ -272,7 +272,7 @@
<version>
1.1.10
</version>
</dependency>
<!--
https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter
-->
<!--
mybatis-plus
-->
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
...
...
src/main/java/cn/timer/api/bean/qyzx/QyzxEntInfoM.java
View file @
14d27f54
...
...
@@ -37,28 +37,34 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> {
@Id
@GeneratedValue
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
value
=
"组织机构代码 组织机构代码"
,
example
=
"
101
"
)
@ApiModelProperty
(
value
=
"组织机构代码 组织机构代码"
,
example
=
"
4
"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"企业名称 "
,
example
=
"
企业名称
"
)
@ApiModelProperty
(
value
=
"企业名称 "
,
example
=
"
优领人才
"
)
private
String
name
;
@ApiModelProperty
(
value
=
"企业简介 企业简介"
,
example
=
"101"
)
@ApiModelProperty
(
value
=
"认证名 "
,
example
=
"广东优领人才科技服务有限公司"
)
private
String
attestName
;
@ApiModelProperty
(
value
=
"简介"
,
example
=
"公司福利好"
)
private
String
intro
;
@ApiModelProperty
(
value
=
"法人 "
,
example
=
"刘德华"
)
private
String
operName
;
@ApiModelProperty
(
value
=
"企业规模 10人以下、10-19人、20-99人、100-500人、500人以上"
,
example
=
"
101
"
)
@ApiModelProperty
(
value
=
"企业规模 10人以下、10-19人、20-99人、100-500人、500人以上"
,
example
=
"
3
"
)
private
Integer
size
;
@ApiModelProperty
(
value
=
"电话号码 "
,
example
=
"18712345678"
)
private
String
phone
;
@ApiModelProperty
(
value
=
"办公地址 "
,
example
=
" 省/市/区 例:广东省/广州市/白云区"
)
@ApiModelProperty
(
value
=
"所在地区"
,
example
=
"440111"
)
private
Integer
area
;
@ApiModelProperty
(
value
=
"办公地址 "
,
example
=
"广从一路5号柏曼酒店3楼"
)
private
String
workAddress
;
@ApiModelProperty
(
value
=
"企业
编码
"
,
example
=
" 例:YLZYCS(YL:优领简写;ZY:版本;CS:账户公司简称)"
)
@ApiModelProperty
(
value
=
"企业
简写
"
,
example
=
" 例:YLZYCS(YL:优领简写;ZY:版本;CS:账户公司简称)"
)
private
String
codes
;
@ApiModelProperty
(
value
=
"企业LOGO "
,
example
=
"企业LOGO"
)
...
...
@@ -70,13 +76,13 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> {
@ApiModelProperty
(
value
=
"开通渠道 1直属、2总代理、3独家代理、4一般代理商、5区域代理商"
,
example
=
"101"
)
private
Integer
openChannel
;
@ApiModelProperty
(
value
=
"联系人
"
,
example
=
"刘德华"
)
@ApiModelProperty
(
value
=
"联系人"
,
example
=
"刘德华"
)
private
String
linkMan
;
@ApiModelProperty
(
value
=
"联系人电话 "
,
example
=
"18712345678"
)
private
String
linkManPhone
;
@ApiModelProperty
(
value
=
"统一社会信用代码 "
,
example
=
"
统一社会信用代码"
)
@ApiModelProperty
(
value
=
"统一社会信用代码 "
,
example
=
"统一社会信用代码"
)
private
String
creditCode
;
@ApiModelProperty
(
value
=
"是否上市 0:否 1:是"
,
example
=
"101"
)
...
...
@@ -86,7 +92,16 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> {
@ApiModelProperty
(
value
=
"企业注册时间 "
,
example
=
"企业注册时间"
)
private
Date
registerTime
;
@ApiModelProperty
(
value
=
"到期时间 "
,
example
=
"到期时间"
)
@ApiModelProperty
(
value
=
"营业执照 "
,
example
=
"营业执照url "
)
private
String
licenseUrl
;
@ApiModelProperty
(
value
=
"认证状态 "
,
example
=
"0未认证,1 认证中,2认证成功,3认证失败 "
)
private
Integer
attestStatus
;
@ApiModelProperty
(
value
=
"认证时间 "
,
example
=
"2019-12-12 08:00:00"
)
private
Date
attestTime
;
@ApiModelProperty
(
value
=
"到期时间 "
,
example
=
"2039-12-12 08:00:00"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"企业版本,0试用,1标准,2专业, "
,
example
=
"0"
)
...
...
src/main/java/cn/timer/api/bean/qyzx/QyzxFeebackAccessory.java
View file @
14d27f54
package
cn
.
timer
.
api
.
bean
.
qyzx
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
cn.timer.api.bean.qyzx.QyzxEmpLogin.QyzxEmpLoginBuilder
;
import
cn.timer.api.dto.login.QysDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -21,10 +25,12 @@ import lombok.NoArgsConstructor;
/**
* @author Tang 2019-11-11
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
(
toBuilder
=
true
)
@Table
(
name
=
"qyzx_feeback_accessory"
)
@ApiModel
(
"反馈附件表"
)
public
class
QyzxFeebackAccessory
extends
Model
<
QyzxFeebackAccessory
>
{
...
...
src/main/java/cn/timer/api/bean/qyzx/QyzxInvoiceUsual.java
0 → 100644
View file @
14d27f54
/**
* <p>Title: QyzxInvoiceData.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
package
cn
.
timer
.
api
.
bean
.
qyzx
;
import
java.util.Date
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* <p>Title: QyzxInvoiceData.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
@Entity
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table
(
name
=
"qyzx_invoice_data"
)
@ApiModel
(
"发票资料表"
)
public
class
QyzxInvoiceUsual
extends
Model
<
QyzxInvoiceUsual
>{
private
static
final
long
serialVersionUID
=
2890357568571822258L
;
@Id
@GeneratedValue
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
value
=
"主键"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"发票抬头"
,
example
=
"广东优领"
)
private
String
invoiceTitle
;
@ApiModelProperty
(
value
=
"税号"
,
example
=
"915345164"
)
private
String
dutyParagraph
;
@ApiModelProperty
(
value
=
"公司地址"
,
example
=
"广东省"
)
private
String
companyAddress
;
@ApiModelProperty
(
value
=
"电话号码"
,
example
=
"18152456464"
)
private
String
companyPhone
;
@ApiModelProperty
(
value
=
"开户行"
,
example
=
"中信银行广州白云支行"
)
private
String
bankName
;
@ApiModelProperty
(
value
=
"银行账号"
,
example
=
"8110901011900785029"
)
private
String
bankAccount
;
@ApiModelProperty
(
value
=
"发票类型"
,
example
=
"0-普通 1-专用"
)
private
Integer
invoiceType
;
@ApiModelProperty
(
value
=
"收货人"
,
example
=
"翁🐻"
)
private
String
consignee
;
@ApiModelProperty
(
value
=
"收货人电话"
,
example
=
"13144400255"
)
private
String
consigneePhone
;
@ApiModelProperty
(
value
=
"邮箱"
,
example
=
"13144400255@163.com"
)
private
String
email
;
@ApiModelProperty
(
value
=
"收货地址"
,
example
=
"白云东平伯曼酒店"
)
private
String
shippingAddress
;
@ApiModelProperty
(
value
=
"邮编"
,
example
=
"510080"
)
private
String
zipCode
;
@ApiModelProperty
(
value
=
"企业"
,
example
=
"117"
)
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"模块状态"
,
example
=
"默认0-开启,1-关闭"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"是否删除"
,
example
=
"默认0-未删除,1-删除"
)
private
Integer
isDelete
;
@TableField
(
fill
=
FieldFill
.
INSERT
)
@ApiModelProperty
(
value
=
"创建时间 "
,
example
=
""
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
private
Integer
createUser
;
@TableField
(
fill
=
FieldFill
.
UPDATE
)
@ApiModelProperty
(
value
=
"修改时间 "
,
example
=
""
)
private
Date
modifyTime
;
@ApiModelProperty
(
value
=
"修改人 "
,
example
=
""
)
private
Integer
modifyUser
;
}
src/main/java/cn/timer/api/bean/qyzx/QyzxSuggestionFeeback.java
View file @
14d27f54
package
cn
.
timer
.
api
.
bean
.
qyzx
;
import
java.util.Date
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
@@ -16,10 +19,12 @@ import lombok.NoArgsConstructor;
/**
* @author Tang 2019-11-11
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
(
toBuilder
=
true
)
@Table
(
name
=
"qyzx_suggestion_feeback"
)
@ApiModel
(
"意见反馈表"
)
public
class
QyzxSuggestionFeeback
extends
Model
<
QyzxSuggestionFeeback
>
{
...
...
src/main/java/cn/timer/api/bean/spmk/SpmkApproveExecuteRecord.java
View file @
14d27f54
package
cn
.
timer
.
api
.
bean
.
spmk
;
import
java.util.Date
;
import
java.util.List
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
...
...
@@ -57,4 +58,6 @@ public class SpmkApproveExecuteRecord extends Model<SpmkApproveExecuteRecord> {
@ApiModelProperty
(
value
=
"创建时间 "
,
example
=
"创建时间"
)
private
Date
createTime
;
private
List
<
SpmkExecutor
>
spmkExecutors
;
}
\ No newline at end of file
src/main/java/cn/timer/api/bean/spmk/SpmkApproveSummary.java
View file @
14d27f54
...
...
@@ -64,7 +64,7 @@ public class SpmkApproveSummary extends Model<SpmkApproveSummary> {
private
String
approveName
;
@TableField
(
fill
=
FieldFill
.
INSERT
)
@ApiModelProperty
(
value
=
"状态 0审批中 1审批撤销
2审批拒绝 3审批通过/审批完成
"
,
example
=
"101"
)
@ApiModelProperty
(
value
=
"状态 0审批中 1审批撤销
2审批通过/审批完成 3审批拒绝
"
,
example
=
"101"
)
private
Integer
sts
;
@ApiModelProperty
(
value
=
"当前审批人 "
,
example
=
"当前审批人"
)
...
...
src/main/java/cn/timer/api/config/autofill/MyMetaObjectHandler.java
View file @
14d27f54
...
...
@@ -18,7 +18,11 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
log
.
info
(
"start insert fill ...."
);
Date
date
=
new
Date
();
this
.
strictInsertFill
(
metaObject
,
"createTime"
,
Date
.
class
,
date
);
// 起始版本 3.3.0(推荐使用)
this
.
strictInsertFill
(
metaObject
,
"sts"
,
Integer
.
class
,
0
);
// 起始版本 3.3.0(推荐使用)
this
.
strictInsertFill
(
metaObject
,
"lrsjTime"
,
Date
.
class
,
date
);
this
.
strictInsertFill
(
metaObject
,
"regTime"
,
Date
.
class
,
date
);
this
.
strictInsertFill
(
metaObject
,
"registerTime"
,
Date
.
class
,
date
);
this
.
strictInsertFill
(
metaObject
,
"addtime"
,
Date
.
class
,
date
);
this
.
strictInsertFill
(
metaObject
,
"sts"
,
int
.
class
,
0
);
// 起始版本 3.3.0(推荐使用)
}
...
...
@@ -27,6 +31,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
log
.
info
(
"start update fill ...."
);
Date
date
=
new
Date
();
this
.
strictUpdateFill
(
metaObject
,
"updateTime"
,
Date
.
class
,
date
);
// 起始版本 3.3.0(推荐使用)
this
.
strictUpdateFill
(
metaObject
,
"modifyTime"
,
Date
.
class
,
date
);
}
}
src/main/java/cn/timer/api/config/enums/CommonEnum.java
View file @
14d27f54
...
...
@@ -49,9 +49,10 @@ public enum CommonEnum {
/**
* 企业认证状态
*/
AUTH_TYPE_UNDEREVIEW
(
1
,
"审核中"
),
AUTH_TYPE_FAILURE
(
2
,
"审核失败"
),
AUTH_TYPE_SUCCESS
(
3
,
"审核成功"
),
AUTH_TYPE_NOHADREVIEW
(
0
,
"未认证"
),
AUTH_TYPE_UNDEREVIEW
(
1
,
"认证中"
),
AUTH_TYPE_SUCCESS
(
2
,
"认证成功"
),
AUTH_TYPE_FAILURE
(
3
,
"认证失败"
),
/**
...
...
src/main/java/cn/timer/api/config/enums/Regular.java
View file @
14d27f54
...
...
@@ -40,7 +40,9 @@ public enum Regular {
* 强密码
*/
SHPW
(
"SHPW"
,
"^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$"
),
//纯汉字输入
/**
* 纯汉字输入
*/
CHINESE
(
"CHINESE"
,
"[\\u4E00-\\u9FA5]*"
),
/**
* 邮箱
...
...
src/main/java/cn/timer/api/controller/LoginController.java
View file @
14d27f54
...
...
@@ -28,6 +28,7 @@ import cn.hutool.core.util.StrUtil;
import
cn.timer.api.bean.qyzx.QyzxEmpEntAsso
;
import
cn.timer.api.bean.qyzx.QyzxEmpLogin
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.bean.zzgl.ZzglAuth
;
import
cn.timer.api.bean.zzgl.ZzglBmgwM
;
...
...
src/main/java/cn/timer/api/controller/dzht/DzhtController.java
View file @
14d27f54
...
...
@@ -36,6 +36,7 @@ import cn.timer.api.bean.dzht.DzhtAssoHtwj;
import
cn.timer.api.bean.dzht.DzhtAssoQyrz
;
import
cn.timer.api.bean.qyzx.QyzxEmpEntAsso
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.UserBean
;
...
...
src/main/java/cn/timer/api/controller/qyzx/QyzxController.java
View file @
14d27f54
...
...
@@ -34,6 +34,7 @@ import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import
cn.timer.api.bean.qyzx.QyzxEntAuth
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.bean.qyzx.QyzxFeebackAccessory
;
import
cn.timer.api.bean.qyzx.QyzxInvoiceUsual
;
import
cn.timer.api.bean.qyzx.QyzxLogBuy
;
import
cn.timer.api.bean.qyzx.QyzxPayServe
;
import
cn.timer.api.bean.qyzx.QyzxSuggestionFeeback
;
...
...
@@ -48,6 +49,7 @@ import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import
cn.timer.api.dao.qyzx.QyzxEntAuthMapper
;
import
cn.timer.api.dao.qyzx.QyzxEntInfoMMapper
;
import
cn.timer.api.dao.qyzx.QyzxFeebackAccessoryMapper
;
import
cn.timer.api.dao.qyzx.QyzxInvoiceUsualMapper
;
import
cn.timer.api.dao.qyzx.QyzxLogBuyMapper
;
import
cn.timer.api.dao.qyzx.QyzxPayServeMapper
;
import
cn.timer.api.dao.qyzx.QyzxSuggestionFeebackMapper
;
...
...
@@ -105,6 +107,9 @@ public class QyzxController {
@Autowired
private
QyzxFeebackAccessoryMapper
qyzxFeebackAccessoryMapper
;
@Autowired
private
QyzxInvoiceUsualMapper
qyzxInvoiceUsualMapper
;
/**
* 获取企业信息
*
...
...
@@ -121,6 +126,23 @@ public class QyzxController {
}
/**
* 添加/修改企业信息
*
* @param
* @return
*/
@PostMapping
(
value
=
"/ent"
)
@ApiOperation
(
value
=
"添加/修改企业信息"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxEntInfoM
>
addent
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxEntInfoM
qyzxEntInfoM
)
{
qyzxEntInfoM
.
setId
(
userBean
.
getOrgCode
());
QyzxEntInfoM
q
=
new
LambdaQueryChainWrapper
<
QyzxEntInfoM
>(
qyzxEntInfoMMapper
).
eq
(
QyzxEntInfoM:
:
getId
,
userBean
.
getOrgCode
()).
one
();
qyzxEntInfoM
.
setRegisterTime
(
q
.
getRegisterTime
());
qyzxEntInfoM
.
insertOrUpdate
();
return
ResultUtil
.
data
(
qyzxEntInfoM
,
"添加/修改企业"
);
}
/**
* 企业认证-申请
*
* @param qyzxEntAuth
...
...
@@ -128,14 +150,13 @@ public class QyzxController {
*/
@PostMapping
(
value
=
"/entauth"
)
@ApiOperation
(
value
=
"企业认证"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxEnt
Auth
>
entauth
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxEntAuth
qyzxEntAuth
)
{
public
Result
<
QyzxEnt
InfoM
>
entauth
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxEntInfoM
qyzxEntInfoM
)
{
// 设置审核状态
qyzxEntAuth
.
setAuthType
(
CommonEnum
.
AUTH_TYPE_UNDEREVIEW
.
getType
());
qyzxEntAuth
.
setId
(
userBean
.
getOrgCode
());
// 插入数据
qyzxEntAuth
.
insert
();
qyzxEntInfoM
.
setAttestStatus
(
CommonEnum
.
AUTH_TYPE_UNDEREVIEW
.
getType
());
qyzxEntInfoM
.
setId
(
userBean
.
getOrgCode
());
qyzxEntInfoM
.
updateById
();
// }
return
ResultUtil
.
data
(
qyzxEnt
Auth
,
"申请企业认证中"
);
return
ResultUtil
.
data
(
qyzxEnt
InfoM
,
"申请企业认证中"
);
}
/**
...
...
@@ -144,22 +165,18 @@ public class QyzxController {
* @param qyzxEntAuth
* @return
*/
@PostMapping
(
value
=
"/entauthcheck"
)
@ApiOperation
(
value
=
"企业认证-审核-通过/未通过"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxEntAuth
>
entauthcheck1
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxEntAuth
qyzxEntAuth
)
{
Integer
id
=
qyzxEntAuth
.
getId
();
Integer
authType
=
qyzxEntAuth
.
getAuthType
();
if
(
id
==
null
||
authType
==
null
)
{
return
ResultUtil
.
error
(
"参数缺少/异常"
);
}
QyzxEntAuth
entAuth
=
QyzxEntAuth
.
builder
().
id
(
id
).
authType
(
authType
).
build
();
boolean
b
=
entAuth
.
updateById
();
if
(
b
)
{
return
ResultUtil
.
data
(
qyzxEntAuth
,
"企业认证-审批成功"
);
}
else
{
return
ResultUtil
.
error
(
"企业认证-审批失败"
);
}
}
/*
* @PostMapping(value = "/entauthcheck")
*
* @ApiOperation(value = "企业认证-审核-通过/未通过", httpMethod = "POST", notes =
* "接口发布说明") public Result<QyzxEntAuth> entauthcheck1(@CurrentUser UserBean
* userBean, @RequestBody QyzxEntAuth qyzxEntAuth) { Integer id =
* qyzxEntAuth.getId(); Integer authType = qyzxEntAuth.getAuthType(); if (id ==
* null || authType == null) { return ResultUtil.error("参数缺少/异常"); } QyzxEntAuth
* entAuth = QyzxEntAuth.builder().id(id).authType(authType).build(); boolean b
* = entAuth.updateById(); if (b) { return ResultUtil.data(qyzxEntAuth,
* "企业认证-审批成功"); } else { return ResultUtil.error("企业认证-审批失败"); } }
*/
/**
* 运营管理 企业认证-审核-通过/不通过(weng)
...
...
@@ -169,19 +186,51 @@ public class QyzxController {
*/
@PostMapping
(
value
=
"/entauthpass"
)
@ApiOperation
(
value
=
"企业认证-审核-通过"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
String
>
entauthpass
(
@RequestBody
EntauthDto
entauthDto
)
{
//
2未通过,3通过
String
msg
=
"企业
认证不通过"
;
public
Result
<
String
>
entauthpass
(
@RequestBody
EntauthDto
entauthDto
)
{
//
2未通过,3通过
String
msg
=
"企业
未认证"
;
Integer
type
=
entauthDto
.
getAuthType
();
if
(
type
!=
2
)
{
type
=
3
;
if
(
type
==
CommonEnum
.
AUTH_TYPE_SUCCESS
.
getType
())
{
msg
=
"企业认证成功"
;
}
boolean
b
=
new
LambdaUpdateChainWrapper
<
QyzxEntAuth
>(
qyzxEntAuthMapper
)
.
eq
(
QyzxEntAuth:
:
getId
,
entauthDto
.
getOrgCode
()).
set
(
QyzxEntAuth:
:
getAuthType
,
type
).
update
();
if
(
b
)
{
if
(
type
==
CommonEnum
.
AUTH_TYPE_FAILURE
.
getType
())
{
msg
=
"企业认证失败"
;
}
boolean
b
=
new
LambdaUpdateChainWrapper
<
QyzxEntInfoM
>(
qyzxEntInfoMMapper
).
eq
(
QyzxEntInfoM:
:
getId
,
entauthDto
.
getOrgCode
())
.
set
(
QyzxEntInfoM:
:
getAttestStatus
,
type
).
update
();
if
(
b
){
return
ResultUtil
.
data
(
msg
);
}
return
ResultUtil
.
error
(
"企业认证未通过"
);
return
ResultUtil
.
data
(
"企业认证流程有误"
);
}
/**
* 新增/编辑常用企业开票资料
*
* @param QyzxInvoiceUsual
* @return
*/
@PostMapping
(
value
=
"/invoiceusual"
)
@ApiOperation
(
value
=
"新增/编辑常用企业开票资料"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxInvoiceUsual
>
invoiceusual
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxInvoiceUsual
qyzxInvoiceUsual
)
{
qyzxInvoiceUsual
.
setOrgCode
(
userBean
.
getOrgCode
());
qyzxInvoiceUsual
.
setModifyUser
(
userBean
.
getEmpNum
());
boolean
tof
=
qyzxInvoiceUsual
.
insertOrUpdate
();
if
(
tof
)
{
return
ResultUtil
.
data
(
qyzxInvoiceUsual
,
"常用企业开票资料已修改"
);
}
return
ResultUtil
.
error
(
"开票资料修改无效"
);
}
/**
* 显示常用的企业开票资料
*
* @param QyzxInvoiceUsual
* @return
*/
@SuppressWarnings
(
"deprecation"
)
@GetMapping
(
value
=
"/invoiceusual"
)
@ApiOperation
(
value
=
"显示常用的企业开票资料"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxInvoiceUsual
>
invoiceusual
(
@CurrentUser
UserBean
userBean
)
{
QyzxInvoiceUsual
one
=
new
LambdaQueryChainWrapper
<
QyzxInvoiceUsual
>(
qyzxInvoiceUsualMapper
).
eq
(
QyzxInvoiceUsual:
:
getOrgCode
,
userBean
.
getOrgCode
()).
one
();
return
ResultUtil
.
data
(
one
,
"企业超管头像和电话号码"
);
}
/**
...
...
@@ -447,11 +496,14 @@ public class QyzxController {
* 意见反馈
*/
@PostMapping
(
value
=
"/feedback"
)
@ApiOperation
(
value
=
"意见反馈)"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxLogBuy
>
feedback
(
@CurrentUser
UserBean
userBean
,
@RequestParam
(
required
=
false
)
String
moudle
,
@RequestParam
(
required
=
false
)
String
opinionText
,
@Param
(
"files"
)
List
<
MultipartFile
>
files
)
{
@ApiOperation
(
value
=
"意见反馈"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxSuggestionFeeback
>
feedback
(
@CurrentUser
UserBean
userBean
,
@RequestParam
(
required
=
false
)
String
opinionText
,
@RequestParam
(
required
=
false
)
String
moudle
,
@Param
(
"files"
)
List
<
MultipartFile
>
files
)
{
String
url
=
null
;
List
<
String
>
list
=
new
ArrayList
<
String
>();
if
(
files
!=
null
)
{
for
(
MultipartFile
file
:
files
)
{
String
path
=
"8timer2.0/"
+
userBean
.
getOrgCode
()
+
"/"
+
moudle
+
"/"
+
file
.
getOriginalFilename
();
if
(
file
==
null
||
file
.
getSize
()
<=
0
)
{
...
...
@@ -465,6 +517,7 @@ public class QyzxController {
}
}
}
}
QyzxSuggestionFeeback
feeback
=
new
QyzxSuggestionFeeback
();
feeback
.
setEmpNum
(
userBean
.
getEmpNum
());
feeback
.
setOpinionText
(
opinionText
);
...
...
@@ -588,26 +641,7 @@ public class QyzxController {
return
ResultUtil
.
data
(
page
,
logBuyDto
,
"查询成功"
);
}
/**
* 添加/修改企业
*
* @param
* @return
*/
@PostMapping
(
value
=
"/ent"
)
@ApiOperation
(
value
=
"添加/修改企业"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxEntInfoM
>
addent
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxEntInfoM
qyzxEntInfoM
)
{
qyzxEntInfoM
.
insertOrUpdate
();
Integer
count
=
qyzxEmpEntAssoMapper
.
selectCount
(
new
QueryWrapper
<
QyzxEmpEntAsso
>()
.
eq
(
"emp_num"
,
userBean
.
getEmpNum
()).
eq
(
"org_code"
,
qyzxEntInfoM
.
getId
()));
if
(
count
==
null
||
count
<=
0
)
QyzxEmpEntAsso
.
builder
().
empNum
(
userBean
.
getEmpNum
()).
orgCode
(
qyzxEntInfoM
.
getId
()).
userType
(
1
).
status
(
1
)
.
build
().
insert
();
// 添加关联表
QyzxEmpEntAsso
.
builder
().
empNum
(
userBean
.
getEmpNum
()).
orgCode
(
qyzxEntInfoM
.
getId
()).
userType
(
1
).
build
()
.
insertOrUpdate
();
return
ResultUtil
.
data
(
qyzxEntInfoM
,
"添加/修改企业"
);
}
/**
* 账号管理 获取账号
...
...
src/main/java/cn/timer/api/controller/spmk/SpmkServiceImpl.java
View file @
14d27f54
...
...
@@ -60,7 +60,9 @@ import cn.timer.api.dao.spmk.SpmkExecutorMapper;
import
cn.timer.api.dao.spmk.SpmkInitiatorConfigMapper
;
import
cn.timer.api.dao.spmk.SpmkSpglMapper
;
import
cn.timer.api.dao.spmk.SpmkSpzMapper
;
import
cn.timer.api.dto.spmk.ApprovingDto
;
import
cn.timer.api.dto.spmk.FlowChildren
;
import
cn.timer.api.dto.spmk.FromData
;
import
cn.timer.api.dto.spmk.Router
;
import
cn.timer.api.dto.spmk.Spmk
;
import
cn.timer.api.dto.spmk.SpmkApprovalTemplateDto
;
...
...
@@ -377,18 +379,6 @@ public class SpmkServiceImpl {
}
/**
* 图标列表
*/
@GetMapping
(
value
=
"/icon"
)
@ApiOperation
(
value
=
"图标列表"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
SpmkIcon
>>
selectListIcon
(
@CurrentUser
UserBean
userBean
){
List
<
SpmkIcon
>
spmkIcons
=
SpmkIcon
.
builder
().
build
().
selectAll
();
return
ResultUtil
.
data
(
spmkIcons
,
"获取图标列表成功"
);
}
/**
* 假期规则列表
*/
@GetMapping
(
value
=
"/jqgz"
)
...
...
@@ -475,7 +465,18 @@ public class SpmkServiceImpl {
@Autowired
private
SpmkCustomApprovalMapper
spmkCustomApprovalMapper
;
/**
* 图标列表
*/
@GetMapping
(
value
=
"/icon"
)
@ApiOperation
(
value
=
"99.图标列表"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
99
)
public
Result
<
List
<
SpmkIcon
>>
selectListIcon
(
@CurrentUser
UserBean
userBean
){
List
<
SpmkIcon
>
spmkIcons
=
SpmkIcon
.
builder
().
build
().
selectAll
();
return
ResultUtil
.
data
(
spmkIcons
,
"获取图标列表成功"
);
}
//TODO 审批模板组
...
...
@@ -488,7 +489,7 @@ public class SpmkServiceImpl {
@ApiOperationSupport
(
order
=
1
)
public
Result
<
Object
>
saveAtg
(
@RequestBody
SpmkApprovalTemplateG
spmkApprovalTemplateG
){
return
spmkApprovalTemplateG
.
insertOrUpdate
()
?
ResultUtil
.
success
(
"操作成功!"
)
:
ResultUtil
.
error
(
"操作失败!"
);
return
spmkApprovalTemplateG
.
insertOrUpdate
()
?
ResultUtil
.
data
(
spmkApprovalTemplateG
,
"操作成功!"
)
:
ResultUtil
.
error
(
"操作失败!"
);
}
...
...
@@ -550,7 +551,13 @@ public class SpmkServiceImpl {
at
.
setFroms
(
ObjectUtil
.
serialize
(
spmkApprovalTemplateDto
.
getFroms
()));
at
.
setRouter
(
ObjectUtil
.
serialize
(
spmkApprovalTemplateDto
.
getRouter
()));
return
at
.
insertOrUpdate
()
?
ResultUtil
.
success
(
"操作成功!"
)
:
ResultUtil
.
error
(
"操作失败!-2"
);
if
(!
at
.
insertOrUpdate
())
return
ResultUtil
.
error
(
"操作失败!-2"
);
// 清空前端不需要的字段再返回,节省流量
at
.
setFroms
(
null
);
at
.
setRouter
(
null
);
return
ResultUtil
.
data
(
at
,
"操作成功!"
);
}
...
...
@@ -601,7 +608,7 @@ public class SpmkServiceImpl {
@ApiOperationSupport
(
order
=
9
)
public
Result
<
Object
>
saveAg
(
@CurrentUser
UserBean
userBean
,
@RequestBody
SpmkApprovalG
spmkApprovalG
){
spmkApprovalG
.
setOrgCode
(
userBean
.
getOrgCode
());
return
spmkApprovalG
.
insertOrUpdate
()
?
ResultUtil
.
success
(
"操作成功!"
)
:
ResultUtil
.
error
(
"操作失败!"
);
return
spmkApprovalG
.
insertOrUpdate
()
?
ResultUtil
.
data
(
spmkApprovalG
,
"操作成功!"
)
:
ResultUtil
.
error
(
"操作失败!"
);
}
...
...
@@ -639,7 +646,6 @@ public class SpmkServiceImpl {
@ApiOperation
(
value
=
"12.排序-审批组"
,
httpMethod
=
"PUT"
,
notes
=
"排序-审批组"
)
@ApiOperationSupport
(
order
=
12
)
public
Result
<
Object
>
ranksAg
(
@RequestBody
List
<
SpmkApprovalG
>
list
){
return
spmkApprovalGMapper
.
updateListRandsById
(
list
)
?
ResultUtil
.
success
(
"操作成功!"
)
:
ResultUtil
.
error
(
"操作失败!"
);
}
...
...
@@ -670,9 +676,18 @@ public class SpmkServiceImpl {
Console
.
log
(
"自定义审批id: "
+
id
);
List
<
SpmkInitiatorConfig
>
listIc
=
spmkCustomApprovalDto
.
getInitiatorConfigs
();
if
(
listIc
!=
null
&&
listIc
.
size
()
>
0
)
{
for
(
int
i
=
0
,
n
=
listIc
.
size
();
i
<
n
;
i
++)
{
listIc
.
get
(
i
).
setCustomApprovalId
(
id
);
}
if
(!
spmkInitiatorConfigMapper
.
insertList
(
listIc
))
{
// 手动抛出异常,事务回滚
throw
new
Exception
();
}
}
SpmkInitiatorConfig
.
builder
().
build
().
delete
(
new
QueryWrapper
<
SpmkInitiatorConfig
>().
lambda
().
eq
(
SpmkInitiatorConfig:
:
getCustomApprovalId
,
id
));
//
/**
...
...
@@ -681,27 +696,30 @@ public class SpmkServiceImpl {
* 2.新增 最新的 SpmkInitiatorConfig-审批发起人配置,
* 3.新增 SpmkCustomApproval-自定义审批
*/
if
(!
SpmkInitiatorConfig
.
builder
().
build
().
delete
(
new
QueryWrapper
<
SpmkInitiatorConfig
>().
lambda
().
eq
(
SpmkInitiatorConfig:
:
getCustomApprovalId
,
id
))
||
!
spmkInitiatorConfigMapper
.
insertList
(
listIc
))
{
// 手动抛出异常,事务回滚
throw
new
Exception
();
}
return
ResultUtil
.
success
(
"操作成功!"
);
// 清空前端不需要的字段再返回,节省流量
ca
.
setFroms
(
null
);
ca
.
setRouter
(
null
);
return
ResultUtil
.
data
(
ca
,
"操作成功!"
);
}
/**
* 删除-自定义审批
* @throws Exception
*/
@DeleteMapping
(
value
=
"/delete_custom_approval/{id}"
)
@ApiOperation
(
value
=
"14.删除-自定义审批"
,
httpMethod
=
"DELETE"
,
notes
=
"删除-自定义审批"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@ApiOperationSupport
(
order
=
14
)
public
Result
<
Object
>
deleteCaById
(
@PathVariable
int
id
){
public
Result
<
Object
>
deleteCaById
(
@PathVariable
int
id
)
throws
Exception
{
SpmkInitiatorConfig
.
builder
().
build
().
delete
(
new
QueryWrapper
<
SpmkInitiatorConfig
>().
lambda
().
eq
(
SpmkInitiatorConfig:
:
getCustomApprovalId
,
id
));
if
(!
SpmkCustomApproval
.
builder
().
id
(
id
).
build
().
deleteById
())
{
throw
new
Exception
();
}
return
SpmkCustomApproval
.
builder
().
id
(
id
).
build
().
deleteById
()
&&
SpmkInitiatorConfig
.
builder
().
build
().
delete
(
new
QueryWrapper
<
SpmkInitiatorConfig
>().
lambda
().
eq
(
SpmkInitiatorConfig:
:
getCustomApprovalId
,
id
))
?
ResultUtil
.
success
(
"操作成功!"
)
:
ResultUtil
.
error
(
"没有找到该对象"
);
return
ResultUtil
.
success
(
"操作成功!"
);
}
...
...
@@ -712,8 +730,14 @@ public class SpmkServiceImpl {
@ApiOperation
(
value
=
"15.id查询-自定义审批"
,
httpMethod
=
"GET"
,
notes
=
"id查询-自定义审批"
)
@ApiOperationSupport
(
order
=
15
)
public
Result
<
Object
>
selectCaById
(
@PathVariable
int
id
){
SpmkCustomApproval
ca
=
SpmkCustomApproval
.
builder
().
id
(
id
).
build
().
selectById
();
SpmkCustomApprovalDto
caD
=
SpmkCustomApprovalDto
.
builder
()
.
froms
((
List
<
JSONObject
>)
ObjectUtil
.
unserialize
(
ca
.
getFroms
()))
.
router
(
ObjectUtil
.
unserialize
(
ca
.
getRouter
()))
.
build
();
BeanUtil
.
copyProperties
(
ca
,
caD
,
"froms"
,
"router"
);
return
ResultUtil
.
data
(
SpmkCustomApproval
.
builder
().
id
(
id
).
build
().
selectById
()
,
"操作成功!"
);
return
ResultUtil
.
data
(
caD
,
"操作成功!"
);
}
...
...
@@ -756,14 +780,18 @@ public class SpmkServiceImpl {
List
<
Router
>
listRouter
=
new
ArrayList
<
Router
>();
listRouter
.
add
(
spmkApproveSummaryDto
.
getRouter
());
JSONObject
jSONObject
=
spmkApproveSummaryDto
.
getRequestData
().
put
(
"orgCode"
,
userBean
.
getOrgCode
());
JSONObject
jSONObject
=
spmkApproveSummaryDto
.
getRequestData
()
.
put
(
"orgCode"
,
FromData
.
builder
().
value
(
String
.
valueOf
(
userBean
.
getOrgCode
())).
build
())
.
put
(
"initiator"
,
FromData
.
builder
().
value
(
spmkApproveSummaryDto
.
getInitiator
()).
build
());
RouterUtils
.
NextNode
(
listRouter
,
jSONObject
,
ISFIRST
);
List
<
FlowChildren
>
listFlowChildren
=
new
ArrayList
<
FlowChildren
>();
RouterUtils
.
getIsFlowChildren
(
listRouter
,
listFlowChildren
);
System
.
out
.
println
(
jSONObject
);
System
.
out
.
println
(
listRouter
);
System
.
out
.
println
(
listFlowChildren
);
// System.out.println(jSONObject);
// System.out.println(listRouter);
// System.out.println(listFlowChildren);
// 当前审批人
String
currentApprover
=
jSONObject
.
getStr
(
"current_approver"
);
...
...
@@ -775,18 +803,22 @@ public class SpmkServiceImpl {
.
title
(
spmkApproveSummaryDto
.
getTitle
())
.
initiator
(
spmkApproveSummaryDto
.
getInitiator
())
.
approveName
(
spmkApproveSummaryDto
.
getApproveName
())
.
sts
(
0
)
.
currentApprover
(
currentApprover
).
build
();
if
(!
as
.
insert
())
{
return
ResultUtil
.
error
(
"操作失败!"
);
}
// 插入记录
RouterUtils
.
insertogExecuteRecord
(
listFlowChildren
,
as
.
getId
());
// 封装 审批详情
SpmkApproveDetail
ad
=
SpmkApproveDetail
.
builder
().
build
();
ad
.
setApproveSummaryId
(
as
.
getId
());
ad
.
setName
(
spmkApproveSummaryDto
.
getTitle
());
ad
.
setRequestData
(
ObjectUtil
.
serialize
(
spmkApproveSummaryDto
.
getRequestData
()));
ad
.
setFroms
(
ObjectUtil
.
serialize
(
spmkApproveSummaryDto
.
getFroms
()));
ad
.
setFroms
(
ObjectUtil
.
serialize
(
(
List
<
JSONObject
>)
spmkApproveSummaryDto
.
getFroms
()));
ad
.
setRouter
(
ObjectUtil
.
serialize
(
listRouter
.
get
(
0
)));
ad
.
setFlowChildren
(
ObjectUtil
.
serialize
(
listFlowChildren
));
...
...
@@ -837,6 +869,41 @@ public class SpmkServiceImpl {
return
ResultUtil
.
data
(
adD
,
"操作成功!"
);
}
//TODO 审批人审批
/**
* 审批人审批
*/
@PostMapping
(
value
=
"/approving"
)
@ApiOperation
(
value
=
"20.审批人审批"
,
httpMethod
=
"POST"
,
notes
=
"审批人审批"
)
@ApiOperationSupport
(
order
=
19
)
public
Result
<
Object
>
approving
(
@RequestBody
ApprovingDto
approvingDto
)
{
SpmkApproveDetail
ad
=
SpmkApproveDetail
.
builder
().
build
()
.
selectOne
(
new
QueryWrapper
<
SpmkApproveDetail
>()
.
lambda
()
.
eq
(
SpmkApproveDetail:
:
getApproveSummaryId
,
approvingDto
.
getAsId
()));
SpmkApproveSummary
aSummary
=
spmkApproveSummaryMapper
.
selectById
(
approvingDto
.
getAsId
());
if
(
aSummary
.
getSts
()
==
0
)
{
List
<
FlowChildren
>
listFlowChildren
=
(
List
<
FlowChildren
>)
ObjectUtil
.
unserialize
(
ad
.
getFlowChildren
());
RouterUtils
.
approving
(
listFlowChildren
,
approvingDto
.
getAsId
(),
approvingDto
.
getExecuteRecordId
(),
approvingDto
.
getExecutorId
(),
approvingDto
.
getOpinion
(),
approvingDto
.
getSts
());
System
.
out
.
println
(
listFlowChildren
);
// 更新 flowChildren
SpmkApproveDetail
.
builder
().
id
(
ad
.
getId
()).
froms
(
ObjectUtil
.
serialize
(
listFlowChildren
)).
build
().
updateById
();
}
else
{
return
ResultUtil
.
error
(
"该审批已结束!"
);
}
return
ResultUtil
.
data
(
null
,
"操作成功!"
);
}
...
...
src/main/java/cn/timer/api/controller/yggl/YgglController.java
View file @
14d27f54
...
...
@@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaU
import
com.github.pagehelper.util.StringUtil
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
cn.hutool.Hutool
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.BetweenFormater.Level
;
import
cn.hutool.core.date.DateUtil
;
...
...
@@ -240,14 +241,15 @@ public class YgglController {
// 添加三张表
// 员工权限表(未定)
// 员工企业关联表和员工档案,员工成长表(未定)
QyzxEmpEntAsso
.
builder
().
empNum
(
qyzxEmpLogin
.
getId
()).
orgCode
(
orgCode
).
userType
(
CommonEnum
.
U_TYPE_EMP
.
getType
()).
status
(
1
).
build
().
insert
();
// usertype2普通员工 status1正常
QyzxEmpEntAsso
.
builder
().
empNum
(
qyzxEmpLogin
.
getId
()).
orgCode
(
orgCode
)
.
userType
(
CommonEnum
.
U_TYPE_EMP
.
getType
()).
status
(
1
).
build
().
insert
();
// usertype2普通员工 status1正常
YgglMainEmp
ygglMainEmp
=
YgglMainEmp
.
builder
().
name
(
name
).
phone
(
phone
).
zjType
(
zjType
).
zjNum
(
zjNum
)
.
jobType
(
jobType
).
rzTime
(
rzTime
).
syq
(
syq
).
sex
(
sex
).
empNum
(
qyzxEmpLogin
.
getId
()).
orgCode
(
orgCode
)
.
build
();
ygglMainEmp
.
insert
();
new
LambdaUpdateChainWrapper
<
YgglMainEmp
>(
ygglMainEmpMapper
)
.
set
(
addygdaDto
.
getBmgwId
()!=
null
,
YgglMainEmp:
:
getBmgwId
,
addygdaDto
.
getBmgwId
())
.
set
(
addygdaDto
.
getBmgwId
()
!=
null
,
YgglMainEmp:
:
getBmgwId
,
addygdaDto
.
getBmgwId
())
.
eq
(
YgglMainEmp:
:
getOrgCode
,
orgCode
).
eq
(
YgglMainEmp:
:
getId
,
ygglMainEmp
.
getId
()).
update
();
return
ResultUtil
.
data
(
ygglMainEmp
,
"新添加员工档案成功!"
);
}
else
{
...
...
@@ -258,13 +260,14 @@ public class YgglController {
if
(
ishad
==
null
)
{
// 添加三张表
// 员工权限表(未定)
QyzxEmpEntAsso
.
builder
().
empNum
(
login
.
getId
()).
orgCode
(
orgCode
).
userType
(
2
).
status
(
1
).
build
().
insert
();
// usertype2普通员工 status1正常
QyzxEmpEntAsso
.
builder
().
empNum
(
login
.
getId
()).
orgCode
(
orgCode
).
userType
(
2
).
status
(
1
).
build
().
insert
();
// usertype2普通员工
// status1正常
YgglMainEmp
ygglMainEmp
=
YgglMainEmp
.
builder
().
name
(
name
).
phone
(
phone
).
zjType
(
zjType
).
zjNum
(
zjNum
)
.
jobType
(
jobType
).
rzTime
(
rzTime
).
syq
(
syq
).
sex
(
sex
).
empNum
(
login
.
getId
()).
orgCode
(
orgCode
)
.
build
();
ygglMainEmp
.
insert
();
new
LambdaUpdateChainWrapper
<
YgglMainEmp
>(
ygglMainEmpMapper
)
.
set
(
addygdaDto
.
getBmgwId
()!=
null
,
YgglMainEmp:
:
getBmgwId
,
addygdaDto
.
getBmgwId
())
.
set
(
addygdaDto
.
getBmgwId
()
!=
null
,
YgglMainEmp:
:
getBmgwId
,
addygdaDto
.
getBmgwId
())
.
eq
(
YgglMainEmp:
:
getOrgCode
,
orgCode
).
eq
(
YgglMainEmp:
:
getId
,
ygglMainEmp
.
getId
()).
update
();
return
ResultUtil
.
data
(
ygglMainEmp
,
"添加员工档案成功!"
);
}
else
{
...
...
@@ -403,8 +406,8 @@ public class YgglController {
.
eq
(
"phone"
,
e
.
getPhone
()).
eq
(
"org_code"
,
userBean
.
getOrgCode
()));
if
(
ishad
==
null
)
{
// 员工权限表(未定)
QyzxEmpEntAsso
.
builder
().
empNum
(
login
.
getId
()).
orgCode
(
userBean
.
getOrgCode
()).
userType
(
2
).
status
(
1
)
.
build
()
.
insert
();
// userType2普通员工,status1正常
QyzxEmpEntAsso
.
builder
().
empNum
(
login
.
getId
()).
orgCode
(
userBean
.
getOrgCode
()).
userType
(
2
).
status
(
1
)
.
build
().
insert
();
// userType2普通员工,status1正常
YgglMainEmp
emp
=
YgglMainEmp
.
builder
().
name
(
e
.
getName
()).
phone
(
e
.
getPhone
()).
zjType
(
0
)
.
zjNum
(
e
.
getZj
()).
jobType
(
jobType
).
rzTime
(
rzdate
).
updateTime
(
new
Date
())
.
updateMan
(
userBean
.
getEmpNum
()).
syq
(
syq
).
sex
(
sex
).
jobNum
(
jobNum
).
empNum
(
login
.
getId
())
...
...
@@ -1505,44 +1508,70 @@ public class YgglController {
*
* @param
* @return
*//*
* @PostMapping(value = "/jg")
*
* @ApiOperation(value = "展示籍贯所有省市区", httpMethod = "POST", notes = "接口发布说明")
*
* @ApiOperationSupport(order = 60) public Result<List<YgjgDto>>
* selectjgs(@CurrentUser UserBean userBean, @RequestBody YgjgDto ygjgDto) {
* Integer type = ygjgDto.getType(); Integer upId = ygjgDto.getJgid();
* List<YgjgDto> maps = new ArrayList<YgjgDto>(); if (type == 1) { // 省份
* List<YgProDto> list = new LambdaQueryChainWrapper<YgProDto>(ygProDtoMapper)
* .select(YgProDto::getId, YgProDto::getProvince,
* YgProDto::getName).orderByAsc(YgProDto::getProvince) .list(); for (YgProDto
* pro : list) { maps.add(new YgjgDto(pro.getId(), pro.getProvince(),
* pro.getName(), null)); } } if (type == 2) { // 城市 List<YgCityDto> list = new
* LambdaQueryChainWrapper<YgCityDto>(ygCityDtoMapper) .select(YgCityDto::getId,
* YgCityDto::getCity, YgCityDto::getName).eq(YgCityDto::getProvince, upId)
* .orderByAsc(YgCityDto::getProvince).orderByAsc(YgCityDto::getCity).list();
* for (YgCityDto city : list) { maps.add(new YgjgDto(city.getId(),
* city.getCity(), city.getName(), null)); } } if (type == 3) { // 地区
* List<YgAreaDto> list = new
* LambdaQueryChainWrapper<YgAreaDto>(ygAreaDtoMapper) .select(YgAreaDto::getId,
* YgAreaDto::getName).eq(YgAreaDto::getCity, upId)
* .orderByAsc(YgAreaDto::getProvince).orderByAsc(YgAreaDto::getCity).list();
* for (YgAreaDto area : list) { maps.add(new YgjgDto(area.getId(),
* area.getId(), area.getName(), null)); } } // IYgjgDto iYgjgDto =
* PunishFactory.getPunish(type); // List<String> strings =
* iYgjgDto.exePunish(); // System.out.println(strings); if (!maps.isEmpty())
* return ResultUtil.data(maps, "展示籍贯成功"); return ResultUtil.success(null); }
*/
@PostMapping
(
value
=
"/jg"
)
@ApiOperation
(
value
=
"展示籍贯所有省市区"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
60
)
public
Result
<
List
<
YgjgDto
>>
selectjgs
(
@CurrentUser
UserBean
userBean
,
@RequestBody
YgjgDto
ygjgDto
)
{
Integer
type
=
ygjgDto
.
getType
();
Integer
upId
=
ygjgDto
.
getJgid
();
List
<
YgjgDto
>
maps
=
new
ArrayList
<
YgjgDto
>();
if
(
type
==
1
)
{
// 省份
/**
* 展示籍贯/展示所有籍贯(威力增强版)
*
* @param
* @return
*/
@PostMapping
(
value
=
"/jgshow/{jgid}"
)
@ApiOperation
(
value
=
"展示籍贯所有省市区威力增强版"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
388
)
public
Result
<
Map
<
String
,
String
>>
selectjgs1
(
@CurrentUser
UserBean
userBean
,
@PathVariable
String
jgid
)
{
// public Result<List<YgjgDto>> selectjgs1(@CurrentUser UserBean userBean,
// @RequestBody YgjgDto ygjgDto) {
Integer
upId
=
Integer
.
valueOf
(
jgid
);
// List<YgjgDto> maps = new ArrayList<YgjgDto>();
Map
<
String
,
String
>
maps
=
new
HashMap
<
String
,
String
>();
if
(
upId
==
null
||
upId
%
100
!=
0
)
{
// 省份
List
<
YgProDto
>
list
=
new
LambdaQueryChainWrapper
<
YgProDto
>(
ygProDtoMapper
)
.
select
(
YgProDto:
:
getId
,
YgProDto:
:
getProvince
,
YgProDto:
:
getName
).
orderByAsc
(
YgProDto:
:
getProvince
)
.
list
();
for
(
YgProDto
pro
:
list
)
{
maps
.
add
(
new
YgjgDto
(
pro
.
getId
(),
pro
.
getProvince
(),
pro
.
getName
(),
null
));
}
}
if
(
type
==
2
)
{
// 城市
list
.
forEach
((
item
)
->
maps
.
put
((
item
.
getId
()).
toString
(),
item
.
getName
()));
}
else
if
(
upId
%
10000
==
0
)
{
List
<
YgCityDto
>
list
=
new
LambdaQueryChainWrapper
<
YgCityDto
>(
ygCityDtoMapper
)
.
select
(
YgCityDto:
:
getId
,
YgCityDto:
:
getCity
,
YgCityDto:
:
getName
).
eq
(
YgCityDto:
:
getProvince
,
upId
)
.
orderByAsc
(
YgCityDto:
:
getProvince
).
orderByAsc
(
YgCityDto:
:
getCity
).
list
();
for
(
YgCityDto
city
:
list
)
{
maps
.
add
(
new
YgjgDto
(
city
.
getId
(),
city
.
getCity
(),
city
.
getName
(),
null
));
}
}
if
(
type
==
3
)
{
// 地区
.
select
(
YgCityDto:
:
getId
,
YgCityDto:
:
getProvince
,
YgCityDto:
:
getCity
,
YgCityDto:
:
getName
)
.
eq
(
YgCityDto:
:
getProvince
,
upId
).
orderByAsc
(
YgCityDto:
:
getProvince
).
orderByAsc
(
YgCityDto:
:
getCity
)
.
list
();
list
.
forEach
((
item
)
->
maps
.
put
((
item
.
getId
()).
toString
(),
item
.
getName
()));
}
else
if
(
upId
%
100
==
0
)
{
List
<
YgAreaDto
>
list
=
new
LambdaQueryChainWrapper
<
YgAreaDto
>(
ygAreaDtoMapper
)
.
select
(
YgAreaDto:
:
getId
,
YgAreaDto:
:
getName
).
eq
(
YgAreaDto:
:
getCity
,
upId
)
.
orderByAsc
(
YgAreaDto:
:
getProvince
).
orderByAsc
(
YgAreaDto:
:
getCity
).
list
();
for
(
YgAreaDto
area
:
list
)
{
maps
.
add
(
new
YgjgDto
(
area
.
getId
(),
area
.
getId
(),
area
.
getName
(),
null
));
}
list
.
forEach
((
item
)
->
maps
.
put
((
item
.
getId
()).
toString
(),
item
.
getName
()));
}
// IYgjgDto iYgjgDto = PunishFactory.getPunish(type);
// List<String> strings = iYgjgDto.exePunish();
// System.out.println(strings);
if
(!
maps
.
isEmpty
())
return
ResultUtil
.
data
(
maps
,
"展示籍贯成功"
);
return
ResultUtil
.
success
(
null
);
}
/**
...
...
@@ -1551,7 +1580,7 @@ public class YgglController {
* @param
* @return
*/
@PostMapping
(
value
=
"/jgp"
)
@PostMapping
(
value
=
"/jgp
rint
"
)
@ApiOperation
(
value
=
"根据籍贯id显示籍贯城市名"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
61
)
public
Result
<
YgjgDto
>
selectjg
(
@CurrentUser
UserBean
userBean
,
@RequestBody
YgjgDto
jgcity
)
{
...
...
@@ -1672,6 +1701,7 @@ public class YgglController {
/**
* 员工信息统计图
*
* @return 成功信息(weng)
*/
@GetMapping
(
"/Cartogram"
)
...
...
@@ -1689,51 +1719,55 @@ public class YgglController {
* (bean.getWorkage() == null) { bean.setWorkage(-1); } return true;
* }).collect(Collectors.toList());
*/
Map
<
String
,
Long
>
gw
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getGw
,
Collectors
.
counting
()));
Map
<
String
,
Long
>
gw
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getGw
,
Collectors
.
counting
()));
List
<
YgKVDto
>
gwList
=
new
ArrayList
<
YgKVDto
>();
for
(
Map
.
Entry
<
String
,
Long
>
entry
:
gw
.
entrySet
())
{
gwList
.
add
(
new
YgKVDto
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
for
(
Map
.
Entry
<
String
,
Long
>
entry
:
gw
.
entrySet
())
{
gwList
.
add
(
new
YgKVDto
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
Map
<
String
,
Long
>
bm
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getBm
,
Collectors
.
counting
()));
Map
<
String
,
Long
>
bm
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getBm
,
Collectors
.
counting
()));
List
<
YgKVDto
>
bmList
=
new
ArrayList
<
YgKVDto
>();
for
(
Map
.
Entry
<
String
,
Long
>
entry
:
bm
.
entrySet
())
{
bmList
.
add
(
new
YgKVDto
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
for
(
Map
.
Entry
<
String
,
Long
>
entry
:
bm
.
entrySet
())
{
bmList
.
add
(
new
YgKVDto
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
//Map<String, Map<String, Long>> bmgw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())));
Map
<
String
,
Long
>
edu
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getEduname
,
Collectors
.
counting
()));
// Map<String, Map<String, Long>> bmgw =
// bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())));
Map
<
String
,
Long
>
edu
=
bintu
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getEduname
,
Collectors
.
counting
()));
List
<
YgKVDto
>
eduList
=
new
ArrayList
<
YgKVDto
>();
for
(
Map
.
Entry
<
String
,
Long
>
entry
:
edu
.
entrySet
())
{
eduList
.
add
(
new
YgKVDto
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
for
(
Map
.
Entry
<
String
,
Long
>
entry
:
edu
.
entrySet
())
{
eduList
.
add
(
new
YgKVDto
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
Map
<
Integer
,
Long
>
jobStatus
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getJobStatus
,
Collectors
.
counting
()));
Map
<
Integer
,
Long
>
jobStatus
=
bintu
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getJobStatus
,
Collectors
.
counting
()));
List
<
YgKVDto
>
jobStatusList
=
new
ArrayList
<
YgKVDto
>();
for
(
Entry
<
Integer
,
Long
>
entry
:
jobStatus
.
entrySet
())
{
jobStatusList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
for
(
Entry
<
Integer
,
Long
>
entry
:
jobStatus
.
entrySet
())
{
jobStatusList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
}
Map
<
String
,
Long
>
proname
=
bintu
.
stream
().
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getProname
,
Collectors
.
counting
()));
Map
<
String
,
Long
>
proname
=
bintu
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
YgbintuDto:
:
getProname
,
Collectors
.
counting
()));
List
<
YgKVDto
>
pronameList
=
new
ArrayList
<
YgKVDto
>();
for
(
Entry
<
String
,
Long
>
entry
:
proname
.
entrySet
())
{
pronameList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
for
(
Entry
<
String
,
Long
>
entry
:
proname
.
entrySet
())
{
pronameList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
}
Map
<
String
,
Integer
>
workage
=
YgEnumInterface
.
workage
.
choose
(
bintu
);
List
<
YgKVDto
>
workageList
=
new
ArrayList
<
YgKVDto
>();
for
(
Entry
<
String
,
Integer
>
entry
:
workage
.
entrySet
())
{
workageList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
for
(
Entry
<
String
,
Integer
>
entry
:
workage
.
entrySet
())
{
workageList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
}
Map
<
String
,
Integer
>
age
=
YgEnumInterface
.
age
.
choose
(
bintu
);
List
<
YgKVDto
>
ageList
=
new
ArrayList
<
YgKVDto
>();
for
(
Entry
<
String
,
Integer
>
entry
:
age
.
entrySet
())
{
ageList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
for
(
Entry
<
String
,
Integer
>
entry
:
age
.
entrySet
())
{
ageList
.
add
(
new
YgKVDto
(
entry
.
getKey
().
toString
(),
entry
.
getValue
().
toString
()));
}
//在职
Integer
zaizhi
=
jobStatus
.
get
(
1
).
intValue
()
+
jobStatus
.
get
(
2
).
intValue
();
//本月新入职
//
在职
Integer
zaizhi
=
jobStatus
.
get
(
1
).
intValue
()
+
jobStatus
.
get
(
2
).
intValue
();
//
本月新入职
Integer
xinruzhi
=
workage
.
get
(
"本月新入职"
).
intValue
();
//本月离职
//
本月离职
Integer
lizhi
=
ygglMainEmpMapper
.
benyueLz
(
orgCode
);
//本月转正
//
本月转正
Integer
zhuanzhen
=
ygglMainEmpMapper
.
benyueZz
(
orgCode
);
//平均年龄
//
平均年龄
Integer
nianlin
=
age
.
get
(
"平均年龄"
).
intValue
();
YgCartogramDto
ybp
=
new
YgCartogramDto
();
ybp
.
setOnTheJob
(
zaizhi
);
...
...
@@ -1751,6 +1785,7 @@ public class YgglController {
ybp
.
setAge
(
ageList
);
return
ResultUtil
.
data
(
ybp
,
"获取员工管理统计图信息成功!"
);
}
/**
* 获取员工社保公积金
*
...
...
src/main/java/cn/timer/api/dao/qyzx/QyzxEntInfoMMapper.java
View file @
14d27f54
...
...
@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
/**
* 企业信息
* @author Tang 2019-11-11
...
...
src/main/java/cn/timer/api/dao/qyzx/QyzxFeebackAccessoryMapper.java
View file @
14d27f54
...
...
@@ -5,12 +5,14 @@ import org.springframework.stereotype.Repository;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
cn.timer.api.bean.qyzx.QyzxFeebackAccessory
;
/**
* 员工企业关联表
* @author Tang 2019-11-11
*/
@Repository
public
interface
QyzxFeebackAccessoryMapper
extends
BaseMapper
<
QyzxFeebackAccessory
Mapper
>
{
public
interface
QyzxFeebackAccessoryMapper
extends
BaseMapper
<
QyzxFeebackAccessory
>
{
}
src/main/java/cn/timer/api/dao/qyzx/QyzxInvoiceUsualMapper.java
0 → 100644
View file @
14d27f54
/**
* <p>Title: QyzxInvoiceDataMapper.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
package
cn
.
timer
.
api
.
dao
.
qyzx
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
cn.timer.api.bean.qyzx.QyzxInvoiceUsual
;
/**
* <p>Title: QyzxInvoiceDataMapper.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
public
interface
QyzxInvoiceUsualMapper
extends
BaseMapper
<
QyzxInvoiceUsual
>{
}
src/main/java/cn/timer/api/dao/qyzx/QyzxSuggestionFeebackMapper.java
View file @
14d27f54
...
...
@@ -5,12 +5,14 @@ import org.springframework.stereotype.Repository;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
cn.timer.api.bean.qyzx.QyzxSuggestionFeeback
;
/**
* 员工企业关联表
* @author Tang 2019-11-11
*/
@Repository
public
interface
QyzxSuggestionFeebackMapper
extends
BaseMapper
<
QyzxSuggestionFeeback
Mapper
>
{
public
interface
QyzxSuggestionFeebackMapper
extends
BaseMapper
<
QyzxSuggestionFeeback
>
{
}
src/main/java/cn/timer/api/dto/qyzx/EntauthDto.java
View file @
14d27f54
...
...
@@ -31,7 +31,7 @@ public class EntauthDto extends Page implements Serializable{
@ApiModelProperty
(
value
=
"组织机构代码"
,
example
=
"117"
)
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"认证状态"
,
example
=
"2
未通过或3
通过"
)
@ApiModelProperty
(
value
=
"认证状态"
,
example
=
"2
通过或3未
通过"
)
private
Integer
authType
;
...
...
src/main/java/cn/timer/api/dto/spmk/ApprovingDto.java
0 → 100644
View file @
14d27f54
package
cn
.
timer
.
api
.
dto
.
spmk
;
import
java.util.Date
;
import
java.util.List
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
cn.hutool.json.JSONObject
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
ApprovingDto
{
@ApiModelProperty
(
value
=
"审批汇总id"
,
example
=
"2"
)
private
Integer
asId
;
@ApiModelProperty
(
value
=
"审批执行记录id"
,
example
=
"10"
)
private
Integer
executeRecordId
;
@ApiModelProperty
(
value
=
"执行人记录id"
,
example
=
"10"
)
private
Integer
executorId
;
@ApiModelProperty
(
value
=
"意见"
,
example
=
"MMMMMMMM"
)
private
String
opinion
;
@ApiModelProperty
(
value
=
"状态 2同意 3拒绝"
,
example
=
"2"
)
private
Integer
sts
;
}
src/main/java/cn/timer/api/dto/spmk/Condition.java
View file @
14d27f54
package
cn
.
timer
.
api
.
dto
.
spmk
;
import
java.io.Serializable
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
...
...
@@ -18,10 +19,14 @@ public class Condition implements Serializable {
*/
private
static
final
long
serialVersionUID
=
1L
;
private
String
className
;
private
String
displayName
;
private
String
key
;
private
String
format
;
private
String
value
;
private
List
<
String
>
values
;
}
src/main/java/cn/timer/api/dto/spmk/Router.java
View file @
14d27f54
...
...
@@ -55,4 +55,9 @@ public class Router extends JSONSupport implements Serializable{
*/
private
List
<
Router
>
children
;
/**
* 名称
*/
private
String
name
;
}
src/main/java/cn/timer/api/dto/spmk/SpmkApprovalGDto.java
View file @
14d27f54
package
cn
.
timer
.
api
.
dto
.
spmk
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
javax.persistence.Entity
;
import
cn.timer.api.bean.spmk.SpmkApprovalG
;
import
cn.hutool.json.JSONObject
;
import
cn.timer.api.bean.spmk.SpmkCustomApproval
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
SpmkApprovalGDto
extends
SpmkApprovalG
{
public
class
SpmkApprovalGDto
implements
Serializable
{
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"编号 编号"
,
example
=
"101"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"企业组织代码 企业组织代码"
,
example
=
"101"
)
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"组名 "
,
example
=
"组名"
)
private
String
name
;
@ApiModelProperty
(
value
=
"排序 排序"
,
example
=
"101"
)
private
Integer
ranks
;
@ApiModelProperty
(
value
=
"是否可编辑 0是 1否"
,
example
=
"101"
)
private
Integer
isEditable
;
private
List
<
SpmkCustomApproval
>
spmkCustomApprovals
;
}
src/main/java/cn/timer/api/dto/spmk/SpmkApproveSummaryDto.java
View file @
14d27f54
package
cn
.
timer
.
api
.
dto
.
spmk
;
import
java.util.Date
;
import
java.util.List
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.TableField
;
...
...
@@ -38,7 +39,7 @@ public class SpmkApproveSummaryDto{
private
JSONObject
requestData
;
@ApiModelProperty
(
value
=
"审批表单 "
,
example
=
"审批表单"
)
private
JSONObject
froms
;
private
List
<
JSONObject
>
froms
;
@ApiModelProperty
(
value
=
"审批流程 "
,
example
=
"审批流程"
)
private
Router
router
;
...
...
src/main/java/cn/timer/api/dto/spmk/SpmkCustomApprovalDto.java
View file @
14d27f54
...
...
@@ -54,7 +54,7 @@ public class SpmkCustomApprovalDto {
private
Integer
assoType
;
@ApiModelProperty
(
value
=
"审批表单 "
,
example
=
"审批表单"
)
private
JSONObject
froms
;
private
List
<
JSONObject
>
froms
;
@ApiModelProperty
(
value
=
"审批流程 "
,
example
=
"审批流程"
)
private
Router
router
;
...
...
@@ -62,5 +62,4 @@ public class SpmkCustomApprovalDto {
@ApiModelProperty
(
value
=
"可见发起人配置 "
,
example
=
"可见发起人配置 "
)
private
List
<
SpmkInitiatorConfig
>
initiatorConfigs
;
}
src/main/java/cn/timer/api/utils/RouterUtils.java
View file @
14d27f54
...
...
@@ -9,9 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Console
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.ReflectUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.timer.api.bean.spmk.SpmkApproveExecuteRecord
;
import
cn.timer.api.bean.spmk.SpmkApproveSummary
;
import
cn.timer.api.bean.spmk.SpmkExecutor
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.bean.zzgl.ZzglBmgwM
;
import
cn.timer.api.dto.spmk.Condition
;
...
...
@@ -83,6 +84,7 @@ public class RouterUtils {
if
(
isFirse
)
{
obj
.
put
(
"current_approver"
,
listUser
.
get
(
i
).
getName
());
}
break
user
;
// case EXECUTING:
// listUser.get(i).setExecute(EXECUTED);
...
...
@@ -90,7 +92,7 @@ public class RouterUtils {
}
}
isAuditNext
=
true
;
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
break
;
case
COPY:
if
(!
isAuditNext
)
{
...
...
@@ -102,7 +104,7 @@ public class RouterUtils {
for
(
int
i
=
0
;
i
<
listRelations
.
size
();
i
++)
{
// 装配 部门人员
if
(
RELATION_TYPE_DEPARTMENT
.
equals
(
listRelations
.
get
(
i
).
getType
()))
{
List
<
YgglMainEmp
>
listYgglMainEmp
=
selectOtherlistent
(
obj
.
get
(
"orgCode"
,
Integer
.
class
),
Integer
.
valueOf
(
listRelations
.
get
(
i
).
getDepartmentId
()));
List
<
YgglMainEmp
>
listYgglMainEmp
=
selectOtherlistent
(
Integer
.
parseInt
(
obj
.
get
(
"orgCode"
,
FromData
.
class
).
getValue
()
),
Integer
.
valueOf
(
listRelations
.
get
(
i
).
getDepartmentId
()));
List
<
User
>
listUsers
=
new
ArrayList
<
User
>();
for
(
YgglMainEmp
emp
:
listYgglMainEmp
)
{
User
user
=
new
User
();
...
...
@@ -111,11 +113,12 @@ public class RouterUtils {
listUsers
.
add
(
user
);
}
listRelations
.
get
(
i
).
setUsers
(
listUsers
);
}
else
if
(
RELATION_TYPE_USERS
.
equals
(
listRelations
.
get
(
i
).
getType
()))
{
// 直接跳过,此处 else if代码段 只做说明,可不写
}
}
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
break
;
}
break
;
...
...
@@ -146,13 +149,13 @@ public class RouterUtils {
}
}
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
break
;
}
break
;
case
EXECUTED:
Console
.
log
(
"下一个节点"
);
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
NextNode
(
router
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
break
;
}
...
...
@@ -168,23 +171,25 @@ public class RouterUtils {
routerRule
.
setFlow
(
true
);
}
else
{
for
(
Condition
condition
:
listCondition
)
{
for
(
String
string
:
condition
.
getValues
())
{
// 判断条件
if
(!
stringCompare
(
obj
.
get
(
condition
.
getKey
(),
FromData
.
class
).
getValue
(),
condition
.
getValue
()
,
condition
.
getFormat
()))
{
if
(!
stringCompare
(
obj
.
get
(
condition
.
getKey
(),
FromData
.
class
).
getValue
(),
string
,
condition
.
getFormat
()))
{
condition_b
=
false
;
}
}
}
}
routerRule
.
setFlow
(
condition_b
);
routerRule
.
setExecute
(
EXECUTED
);
if
(
routerRule
.
getFlow
())
{
Console
.
log
(
"条件逻辑"
);
NextNode
(
routerRule
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
NextNode
(
routerRule
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
}
break
;
case
EXECUTED:
if
(
routerRule
.
getFlow
())
{
NextNode
(
routerRule
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
NextNode
(
routerRule
.
getChildren
(),
obj
,
isFirse
,
isAuditNext
);
}
break
rulefor
;
}
...
...
@@ -279,21 +284,264 @@ public class RouterUtils {
}
}
};
// 审批执行记录 持久化
public
static
void
insertogExecuteRecord
(
List
<
FlowChildren
>
listFlowChildren
,
Integer
asId
)
{
for
(
int
i
=
0
,
m
=
listFlowChildren
.
size
()
;
i
<
m
;
i
++)
{
if
(
UNEXECUTED
.
equals
(
listFlowChildren
.
get
(
i
).
getExecute
()))
continue
;
switch
(
listFlowChildren
.
get
(
i
).
getClassName
())
{
case
CREATOR:
SpmkApproveExecuteRecord
aer
=
SpmkApproveExecuteRecord
.
builder
()
.
approveSummaryId
(
asId
)
.
name
(
"发起申请"
)
.
type
(
0
)
.
sts
(
2
)
.
build
();
// 新增 审批执行记录
aer
.
insert
();
// 新增 执行人
User
user
=
listFlowChildren
.
get
(
i
).
getRelation
().
get
(
0
).
getUsers
().
get
(
0
);
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
aer
.
getId
())
.
empNum
(
Integer
.
parseInt
(
user
.
getId
()))
.
executorName
(
user
.
getName
())
.
sts
(
2
)
.
build
()
.
insert
();
break
;
case
AUDIT:
SpmkApproveExecuteRecord
aer2
=
SpmkApproveExecuteRecord
.
builder
()
.
approveSummaryId
(
asId
)
.
name
(
"审批人"
)
.
type
(
2
)
.
sts
(
1
)
.
build
();
// 新增 审批执行记录
aer2
.
insert
();
// 新增 执行人
List
<
User
>
listUser
=
listFlowChildren
.
get
(
i
).
getRelation
().
get
(
0
).
getUsers
();
executor:
for
(
User
user2
:
listUser
)
{
SpmkExecutor
executor
=
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
aer2
.
getId
())
.
empNum
(
Integer
.
parseInt
(
user2
.
getId
()))
.
executorName
(
user2
.
getName
())
.
build
();
switch
(
user2
.
getExecute
())
{
case
EXECUTING:
executor
.
setSts
(
1
);
executor
.
insert
();
break
executor
;
case
EXECUTED:
executor
.
setSts
(
2
);
executor
.
insert
();
break
;
}
}
break
;
case
COPY:
SpmkApproveExecuteRecord
aer3
=
SpmkApproveExecuteRecord
.
builder
()
.
approveSummaryId
(
asId
)
.
name
(
"抄送人"
)
.
type
(
1
)
.
sts
(
2
)
.
build
();
// 新增 审批执行记录
aer3
.
insert
();
List
<
Relation
>
listRelation
=
listFlowChildren
.
get
(
i
).
getRelation
();
for
(
Relation
relation
:
listRelation
)
{
List
<
User
>
listUser2
=
relation
.
getUsers
();
// 新增 执行人
for
(
User
user2
:
listUser2
)
{
SpmkExecutor
executor
=
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
aer3
.
getId
())
.
empNum
(
Integer
.
parseInt
(
user2
.
getId
()))
.
executorName
(
user2
.
getName
())
.
sts
(
2
)
.
build
();
executor
.
insert
();
}
}
break
;
}
}
}
/**
* 审批持久化
* @param listFlowChildren 节点
* @param asId 审批汇总Id
* @param executorId 执行人记录Id
* @param opinion 意见
* @param sts 状态 1执行中 2通过 3拒绝
*/
public
static
void
approving
(
List
<
FlowChildren
>
listFlowChildren
,
Integer
asId
,
Integer
executeRecordId
,
Integer
executorId
,
String
opinion
,
Integer
sts
)
{
boolean
hasNextApprover
=
false
;
for
(
int
i
=
0
,
n
=
listFlowChildren
.
size
();
i
<
n
;
i
++)
{
// 新增 执行人
List
<
User
>
listUser
=
listFlowChildren
.
get
(
i
).
getRelation
().
get
(
0
).
getUsers
();
if
(
EXECUTED
.
equals
(
listFlowChildren
.
get
(
i
).
getExecute
()))
{
continue
;
}
else
if
(
EXECUTING
.
equals
(
listFlowChildren
.
get
(
i
).
getExecute
()))
{
// 新增 执行人
// listUser = flowChildren.getRelation().get(0).getUsers();
for
(
int
i_user
=
0
,
n_user
=
listUser
.
size
();
i_user
<
n_user
;
i_user
++)
{
if
(
EXECUTED
.
equals
(
listUser
.
get
(
i_user
).
getExecute
()))
{
continue
;
}
else
if
(
EXECUTING
.
equals
(
listUser
.
get
(
i_user
).
getExecute
()))
{
SpmkExecutor
.
builder
()
.
id
(
executorId
)
.
opinion
(
opinion
)
.
empNum
(
Integer
.
parseInt
(
listUser
.
get
(
i_user
).
getId
()))
.
executorName
(
listUser
.
get
(
i_user
).
getName
())
.
sts
(
sts
)
.
build
()
.
updateById
();
listUser
.
get
(
i_user
).
setExecute
(
EXECUTED
);
// 0未执行 1执行中 2同意 3拒绝
if
(
sts
==
3
)
{
// 更新 审批汇总 状态
SpmkApproveSummary
.
builder
().
id
(
asId
).
sts
(
sts
).
build
().
updateById
();
return
;
}
}
else
if
(
UNEXECUTED
.
equals
(
listUser
.
get
(
i_user
).
getExecute
()))
{
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
executeRecordId
)
.
empNum
(
Integer
.
parseInt
(
listUser
.
get
(
i_user
).
getId
()))
.
executorName
(
listUser
.
get
(
i_user
).
getName
())
.
sts
(
1
)
.
build
()
.
insert
();
hasNextApprover
=
true
;
listUser
.
get
(
i_user
).
setExecute
(
EXECUTING
);
}
}
if
(!
hasNextApprover
)
{
SpmkApproveExecuteRecord
aer
=
SpmkApproveExecuteRecord
.
builder
()
.
id
(
executeRecordId
)
.
sts
(
2
)
.
build
();
// 更新 审批执行记录
aer
.
updateById
();
listFlowChildren
.
get
(
i
).
setExecute
(
EXECUTED
);
}
}
else
if
(
UNEXECUTED
.
equals
(
listFlowChildren
.
get
(
i
).
getExecute
()))
{
if
(!
hasNextApprover
)
{
switch
(
listFlowChildren
.
get
(
i
).
getClassName
())
{
case
CREATOR:
SpmkApproveExecuteRecord
aer
=
SpmkApproveExecuteRecord
.
builder
()
.
approveSummaryId
(
asId
)
.
name
(
"发起申请"
)
.
type
(
0
)
.
sts
(
2
)
.
build
();
// 新增 审批执行记录
aer
.
insert
();
// 新增 执行人
User
user
=
listFlowChildren
.
get
(
i
).
getRelation
().
get
(
0
).
getUsers
().
get
(
0
);
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
aer
.
getId
())
.
empNum
(
Integer
.
parseInt
(
user
.
getId
()))
.
executorName
(
user
.
getName
())
.
sts
(
2
)
.
build
()
.
insert
();
listFlowChildren
.
get
(
i
).
setExecute
(
EXECUTED
);
break
;
case
AUDIT:
SpmkApproveExecuteRecord
aer2
=
SpmkApproveExecuteRecord
.
builder
()
.
approveSummaryId
(
asId
)
.
name
(
"审批人"
)
.
type
(
2
)
.
sts
(
1
)
.
build
();
// 新增 审批执行记录
aer2
.
insert
();
// 新增 执行人
// listUser = flowChildren.getRelation().get(0).getUsers();
for
(
int
i_user2
=
0
,
n_user2
=
listUser
.
size
();
i_user2
<
n_user2
;
i_user2
++)
{
User
u
=
listUser
.
get
(
i_user2
);
SpmkExecutor
executor
=
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
aer2
.
getId
())
.
empNum
(
Integer
.
parseInt
(
listUser
.
get
(
i_user2
).
getId
()))
.
executorName
(
listUser
.
get
(
i_user2
).
getName
())
.
sts
(
1
)
.
build
();
executor
.
insert
();
listUser
.
get
(
i_user2
).
setExecute
(
EXECUTING
);
}
listFlowChildren
.
get
(
i
).
setExecute
(
EXECUTING
);
break
;
case
COPY:
SpmkApproveExecuteRecord
aer3
=
SpmkApproveExecuteRecord
.
builder
()
.
approveSummaryId
(
asId
)
.
name
(
"抄送人"
)
.
type
(
1
)
.
sts
(
2
)
.
build
();
// 新增 审批执行记录
aer3
.
insert
();
List
<
Relation
>
listRelation
=
listFlowChildren
.
get
(
i
).
getRelation
();
for
(
Relation
relation
:
listRelation
)
{
List
<
User
>
listUser2
=
relation
.
getUsers
();
// 新增 执行人
for
(
User
user2
:
listUser2
)
{
SpmkExecutor
executor
=
SpmkExecutor
.
builder
()
.
approveExecuteRecordId
(
aer3
.
getId
())
.
empNum
(
Integer
.
parseInt
(
user2
.
getId
()))
.
executorName
(
user2
.
getName
())
.
sts
(
2
)
.
build
();
executor
.
insert
();
}
}
listFlowChildren
.
get
(
i
).
setExecute
(
EXECUTED
);
break
;
}
}
}
}
};
}
}
src/main/resources/application-dev.yml
View file @
14d27f54
...
...
@@ -141,7 +141,7 @@ pagehelper:
logging
:
level
:
root
:
info
cn.timer.api.dao
:
error
cn.timer.api.dao
:
debug
pattern
:
console
:
'
--%p--%m%n'
...
...
src/main/resources/mapping/qyzx/QyzxEntInfoMMapper.xml
View file @
14d27f54
...
...
@@ -21,6 +21,11 @@
<result
column=
"is_on_stock"
property=
"isOnStock"
/>
<result
column=
"level"
property=
"level"
/>
<result
column=
"register_time"
property=
"registerTime"
/>
<result
column=
"license_url"
property=
"licenseUrl"
/>
<result
column=
"area"
property=
"area"
/>
<result
column=
"attest_name"
property=
"attestName"
/>
<result
column=
"attest_status"
property=
"attestStatus"
/>
<result
column=
"attest_time"
property=
"attestTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
...
...
@@ -40,7 +45,12 @@
credit_code,
is_on_stock,
level,
register_time
register_time,
license_url,
area,
attest_name,
attest_status,
attest_time
</sql>
<!--
...
...
src/main/resources/mapping/spmk/SpmkApprovalGMapper.out.xml
0 → 100644
View file @
14d27f54
src/main/resources/mapping/spmk/SpmkApprovalGMapper.xml
View file @
14d27f54
...
...
@@ -60,9 +60,9 @@
b.is_opinion SpmkCustomApproval_is_opinion,
b.update_time SpmkCustomApproval_update_time,
b.create_time SpmkCustomApproval_create_time,
b.asso_type SpmkCustomApproval_asso_type,
b.asso_type SpmkCustomApproval_asso_type
<!--
,
b.froms SpmkCustomApproval_froms,
b.router SpmkCustomApproval_router
b.router SpmkCustomApproval_router
-->
</sql>
<select
id=
"selectListAgInCa"
resultMap=
"BaseResultMapDto"
>
...
...
@@ -73,16 +73,16 @@
LEFT JOIN spmk_custom_approval b ON a.id = b.approval_g_id
WHERE
b.org_code = #{org_code} AND b.id in
(
SELECT custom_approval_id FROM spmk_initiator_config WHERE
emp_num = #{emp_num}
GROUP BY custom_approval_id
)
WHERE
a.org_code = #{org_code}
<!-- AND b.id IN
(
SELECT custom_approval_id FROM spmk_initiator_config WHERE
asso_id = #{emp_num} AND type = 1
GROUP BY custom_approval_id
)
-->
ORDER BY a.ranks, b.ranks
</select>
<update
id=
"updateListRandsById"
parameterType=
"list"
>
<foreach
item=
"item"
index=
"index"
collection=
"list"
open=
""
separator=
";"
close=
""
>
UPDATE spmk_approval_
template_
g
UPDATE spmk_approval_g
<set>
<if
test =
'null != item.ranks'
>
ranks = #{item.ranks},
</if>
</set>
...
...
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