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
e5bff023
Commit
e5bff023
authored
4 years ago
by
邓实川
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
企业中心bug修改
parent
6d60b66f
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
70 additions
and
163 deletions
+70
-163
src/main/java/cn/timer/api/bean/qyzx/QyzxFeebackAccessory.java
+0
-42
src/main/java/cn/timer/api/bean/qyzx/QyzxSuggestionFeeback.java
+23
-17
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
+1
-0
src/main/java/cn/timer/api/controller/qyzx/QyzxController.java
+44
-42
src/main/java/cn/timer/api/dao/qyzx/QyzxEmpEntAssoMapper.java
+2
-3
src/main/java/cn/timer/api/dao/qyzx/QyzxFeebackAccessoryMapper.java
+0
-18
src/main/java/cn/timer/api/dto/qyzx/EntauthDto.java
+0
-1
src/main/java/cn/timer/api/dto/qyzx/FeebackDto.java
+0
-39
src/main/java/cn/timer/api/dto/qyzx/QyzxOperLogQuaryDto.java
+0
-1
No files found.
src/main/java/cn/timer/api/bean/qyzx/QyzxFeebackAccessory.java
deleted
100644 → 0
View file @
6d60b66f
package
cn
.
timer
.
api
.
bean
.
qyzx
;
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
;
import
lombok.Builder
;
import
lombok.Data
;
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
>
{
private
static
final
long
serialVersionUID
=
3545665863196016627L
;
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
value
=
"编号"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"意见id"
,
example
=
"1"
)
private
Integer
feebackId
;
@ApiModelProperty
(
value
=
"附件url地址"
,
example
=
"url"
)
private
String
opinionUrl
;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/bean/qyzx/QyzxSuggestionFeeback.java
View file @
e5bff023
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
;
...
...
@@ -17,41 +16,47 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
/**
* @author Tang 2019-11-11
*/
* @author Tang 2019-11-11
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
(
toBuilder
=
true
)
@Table
(
name
=
"qyzx_suggestion_feeback"
)
@Builder
(
toBuilder
=
true
)
@Table
(
name
=
"qyzx_suggestion_feeback"
)
@ApiModel
(
"意见反馈表"
)
public
class
QyzxSuggestionFeeback
extends
Model
<
QyzxSuggestionFeeback
>
{
private
static
final
long
serialVersionUID
=
3545665863196016627L
;
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
value
=
"编号"
,
example
=
"1"
)
@TableId
(
type
=
IdType
.
AUTO
)
@ApiModelProperty
(
value
=
"编号"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"员工编号"
,
example
=
"9688"
)
@ApiModelProperty
(
value
=
"员工编号"
,
example
=
"9688"
)
private
Integer
empNum
;
@ApiModelProperty
(
value
=
"意见文本"
,
example
=
"不好用"
)
@ApiModelProperty
(
value
=
"组织机构代码"
,
example
=
"117"
)
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"意见内容"
,
example
=
"不好用"
)
private
String
opinionText
;
@ApiModelProperty
(
value
=
"bug类型"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"附件"
,
example
=
"www.4399.com"
)
private
String
url
;
@ApiModelProperty
(
value
=
"bug类型"
,
example
=
"1"
)
private
Integer
bugType
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
"2020-4-20 08:00:00"
)
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
"2020-4-20 08:00:00"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"组织机构代码"
,
example
=
"117"
)
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"回复"
,
example
=
"那别用了"
)
@ApiModelProperty
(
value
=
"回复"
,
example
=
"那别用了"
)
private
String
reply
;
@ApiModelProperty
(
value
=
"回复时间"
,
example
=
"2020-4-21 08:00:00"
)
@ApiModelProperty
(
value
=
"回复时间"
,
example
=
"2020-4-21 08:00:00"
)
private
Date
replyTime
;
@ApiModelProperty
(
value
=
"联系方式"
,
example
=
"5481264596"
)
private
String
personalContact
;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
View file @
e5bff023
...
...
@@ -315,6 +315,7 @@ public class QyzxBusinessController {
@GetMapping
(
value
=
"/queryContractUseRecord"
)
@ApiOperation
(
value
=
"查询电子合同套餐使用记录"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
queryContractUseRecord
(
@CurrentUser
UserBean
userBean
)
{
// TODO
return
null
;
}
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/qyzx/QyzxController.java
View file @
e5bff023
...
...
@@ -7,7 +7,6 @@ import java.util.stream.Stream;
import
javax.servlet.http.HttpSession
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -16,27 +15,26 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper
;
import
com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper
;
import
com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.timer.api.bean.qyzx.QyzxAttaFwjsb
;
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.qyzx.QyzxFeebackAccessory
;
import
cn.timer.api.bean.qyzx.QyzxInvoiceUsual
;
import
cn.timer.api.bean.qyzx.QyzxLogBuy
;
import
cn.timer.api.bean.qyzx.QyzxOperLog
;
import
cn.timer.api.bean.qyzx.QyzxPayServe
;
import
cn.timer.api.bean.qyzx.QyzxSuggestionFeeback
;
import
cn.timer.api.bean.spmk.SpmkApproveSummary
;
import
cn.timer.api.bean.zzgl.ZzglAuth
;
import
cn.timer.api.bean.zzgl.ZzglBmgwM
;
import
cn.timer.api.config.annotation.CurrentUser
;
...
...
@@ -44,25 +42,20 @@ import cn.timer.api.config.annotation.UserBean;
import
cn.timer.api.config.enums.CommonEnum
;
import
cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper
;
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.QyzxOperLogMapper
;
import
cn.timer.api.dao.qyzx.QyzxPayServeMapper
;
import
cn.timer.api.dao.qyzx.QyzxSuggestionFeebackMapper
;
import
cn.timer.api.dao.zzgl.ZzglBmgwMMapper
;
import
cn.timer.api.dto.login.QysDto
;
import
cn.timer.api.dto.qyzx.AdminListDto
;
import
cn.timer.api.dto.qyzx.AttaFpglQueryDto
;
import
cn.timer.api.dto.qyzx.EntauthDto
;
import
cn.timer.api.dto.qyzx.FeebackDto
;
import
cn.timer.api.dto.qyzx.LogBuyDto
;
import
cn.timer.api.dto.qyzx.QyzxOperLogQuaryDto
;
import
cn.timer.api.utils.Result
;
import
cn.timer.api.utils.ResultUtil
;
import
cn.timer.api.utils.aliyun.OSSUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -88,21 +81,12 @@ public class QyzxController {
private
QyzxLogBuyMapper
qyzxLogBuyMapper
;
@Autowired
private
QyzxEntAuthMapper
qyzxEntAuthMapper
;
@Autowired
private
ZzglBmgwMMapper
zzglBmgwMMapper
;
@Autowired
private
QyzxPayServeMapper
qyzxPayServeMapper
;
@Autowired
private
QyzxSuggestionFeebackMapper
qyzxSuggestionFeebackMapper
;
@Autowired
private
QyzxFeebackAccessoryMapper
qyzxFeebackAccessoryMapper
;
@Autowired
private
QyzxInvoiceUsualMapper
qyzxInvoiceUsualMapper
;
/**
...
...
@@ -134,7 +118,6 @@ public class QyzxController {
QyzxEntInfoM
q
=
new
LambdaQueryChainWrapper
<
QyzxEntInfoM
>(
qyzxEntInfoMMapper
)
.
eq
(
QyzxEntInfoM:
:
getId
,
userBean
.
getOrgCode
()).
one
();
qyzxEntInfoM
.
setRegisterTime
(
q
.
getRegisterTime
());
qyzxEntInfoM
.
insertOrUpdate
();
...
...
@@ -227,12 +210,11 @@ public class QyzxController {
* @param QyzxInvoiceUsual
* @return
*/
@SuppressWarnings
(
"deprecation"
)
@GetMapping
(
value
=
"/invoiceusual"
)
@ApiOperation
(
value
=
"显示常用的企业开票资料"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
QyzxInvoiceUsual
>
invoiceusual
(
@CurrentUser
UserBean
userBean
)
{
QyzxInvoiceUsual
one
=
qyzxInvoiceUsualMapper
.
selectOne
(
new
QueryWrapper
<
QyzxInvoiceUsual
>().
lambda
()
.
eq
(
QyzxInvoiceUsual:
:
getOrgCode
,
userBean
.
getOrgCode
()));
QyzxInvoiceUsual
one
=
qyzxInvoiceUsualMapper
.
selectOne
(
new
QueryWrapper
<
QyzxInvoiceUsual
>().
lambda
()
.
eq
(
QyzxInvoiceUsual:
:
getOrgCode
,
userBean
.
getOrgCode
()));
if
(
one
!=
null
)
{
if
(
one
.
getShippingArea
()
==
null
)
{
one
.
setShippingArea
(
""
);
...
...
@@ -318,7 +300,8 @@ public class QyzxController {
// List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
// .eq(ZzglBmgwM::getOrgCode, ctrl.getId()).list();
List
<
ZzglBmgwM
>
zzglBmgwMs
=
zzglBmgwMMapper
.
selectList
(
new
QueryWrapper
<
ZzglBmgwM
>().
lambda
().
eq
(
ZzglBmgwM:
:
getOrgCode
,
ctrl
.
getId
()));
List
<
ZzglBmgwM
>
zzglBmgwMs
=
zzglBmgwMMapper
.
selectList
(
new
QueryWrapper
<
ZzglBmgwM
>().
lambda
().
eq
(
ZzglBmgwM:
:
getOrgCode
,
ctrl
.
getId
()));
// 传入的部门岗位是登录者的岗位id.获取的list中只有一个元素,不必要
ZzglBmgwM
.
getupDepts
(
list
,
ctrl
.
getBmgwId
(),
zzglBmgwMs
);
...
...
@@ -340,9 +323,6 @@ public class QyzxController {
}
}
@Autowired
private
OSSUtil
oss
;
// 下载系统使用手册 直接提供(OSS公共读权限文件)url地址到前端按钮
/**
* 意见反馈
...
...
@@ -371,25 +351,46 @@ public class QyzxController {
* QyzxFeebackAccessory.builder().feebackId(feeback.getId()).opinionUrl(
* opinionUrl).build().insert(); } } return ResultUtil.success("意见反馈成功!"); }
*/
// /**
// * 意见反馈2
// */
// @PostMapping(value = "/feedback")
// @ApiOperation(value = "意见反馈", httpMethod = "POST", notes = "接口发布说明")
// public Result<String> feedback(@CurrentUser UserBean userBean, @RequestBody FeebackDto feebackDto) {
// String opinionText = feebackDto.getOpinionText();
// List<String> urlList = feebackDto.getUrlList();
// QyzxSuggestionFeeback qs = QyzxSuggestionFeeback.builder().orgCode(userBean.getOrgCode()).empNum(userBean.getEmpNum()).opinionText(opinionText).bugType(1).createTime(new Date()).build();
//
// boolean tof = qs.insert();
// Integer feebackId = qs.getId();
// if (tof) {
// for (String str : urlList) {
// QyzxFeebackAccessory.builder().feebackId(feebackId).opinionUrl(str).build().insert();
// }
// return ResultUtil.data("意见反馈成功!");
// }
//
// return ResultUtil.data("意见反馈失败!");
// }
/**
* 意见反馈
2
* 意见反馈
*/
@PostMapping
(
value
=
"/feedback"
)
@ApiOperation
(
value
=
"意见反馈"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
String
>
feedback
(
@CurrentUser
UserBean
userBean
,
@RequestBody
FeebackDto
feebackDto
)
{
String
opinionText
=
feebackDto
.
getOpinionText
();
List
<
String
>
urlList
=
feebackDto
.
getUrlList
();
QyzxSuggestionFeeback
qs
=
QyzxSuggestionFeeback
.
builder
().
orgCode
(
userBean
.
getOrgCode
()).
empNum
(
userBean
.
getEmpNum
()).
opinionText
(
opinionText
).
bugType
(
1
).
createTime
(
new
Date
()).
build
();
public
Result
<
String
>
feedback
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxSuggestionFeeback
qyzxSuggestionFeeback
)
{
boolean
tof
=
qs
.
insert
();
Integer
feebackId
=
qs
.
getId
();
if
(
tof
)
{
for
(
String
str
:
urlList
)
{
QyzxFeebackAccessory
.
builder
().
feebackId
(
feebackId
).
opinionUrl
(
str
).
build
().
insert
();
}
if
(!
ObjectUtil
.
isAllNotEmpty
(
qyzxSuggestionFeeback
.
getOpinionText
(),
qyzxSuggestionFeeback
.
getUrl
(),
qyzxSuggestionFeeback
.
getPersonalContact
()))
return
ResultUtil
.
error
(
"请完善意见信息!"
);
qyzxSuggestionFeeback
.
setCreateTime
(
new
Date
());
qyzxSuggestionFeeback
.
setEmpNum
(
userBean
.
getEmpNum
());
qyzxSuggestionFeeback
.
setOrgCode
(
userBean
.
getOrgCode
());
if
(
qyzxSuggestionFeeback
.
insert
())
{
return
ResultUtil
.
data
(
"意见反馈成功!"
);
}
return
ResultUtil
.
data
(
"意见反馈失败!"
);
}
...
...
@@ -525,7 +526,8 @@ public class QyzxController {
*/
@PostMapping
(
value
=
"/select_oper_log"
)
@ApiOperation
(
value
=
"查询-操作日志"
,
httpMethod
=
"POST"
,
notes
=
"查询-操作日志"
)
public
Result
<
Object
>
selectOperLog
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxOperLogQuaryDto
qyzxOperLogQuaryDto
)
{
public
Result
<
Object
>
selectOperLog
(
@CurrentUser
UserBean
userBean
,
@RequestBody
QyzxOperLogQuaryDto
qyzxOperLogQuaryDto
)
{
IPage
<
QyzxOperLog
>
page
=
new
Page
<
QyzxOperLog
>(
qyzxOperLogQuaryDto
.
getCurrentPage
()
==
null
?
1
:
qyzxOperLogQuaryDto
.
getCurrentPage
(),
qyzxOperLogQuaryDto
.
getTotalPage
()
==
null
?
10
:
qyzxOperLogQuaryDto
.
getTotalPage
());
...
...
@@ -545,7 +547,7 @@ public class QyzxController {
*/
@DeleteMapping
(
value
=
"/delete_oper_log"
)
@ApiOperation
(
value
=
"删除-操作日志"
,
httpMethod
=
"DELETE"
,
notes
=
"查询-操作日志"
)
public
Result
<
Object
>
deleteOperLog
(
@CurrentUser
UserBean
userBean
,
@RequestBody
Integer
[]
ids
)
{
public
Result
<
Object
>
deleteOperLog
(
@CurrentUser
UserBean
userBean
,
@RequestBody
Integer
[]
ids
)
{
ArrayList
<
Integer
>
list
=
CollUtil
.
toList
(
ids
);
int
delCount
=
qyzxOperLogMapper
.
deleteBatchIds
(
list
);
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/dao/qyzx/QyzxEmpEntAssoMapper.java
View file @
e5bff023
package
cn
.
timer
.
api
.
dao
.
qyzx
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
org.springframework.stereotype.Repository
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
cn.timer.api.bean.qyzx.QyzxEmpEntAsso
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.dto.qyzx.AdminListDto
;
/**
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/dao/qyzx/QyzxFeebackAccessoryMapper.java
deleted
100644 → 0
View file @
6d60b66f
package
cn
.
timer
.
api
.
dao
.
qyzx
;
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
>
{
}
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/dto/qyzx/EntauthDto.java
View file @
e5bff023
...
...
@@ -7,7 +7,6 @@ package cn.timer.api.dto.qyzx;
import
java.io.Serializable
;
import
cn.timer.api.config.swagger.IgnoreSwaggerParameter
;
import
cn.timer.api.utils.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/dto/qyzx/FeebackDto.java
deleted
100644 → 0
View file @
6d60b66f
/**
* @date 2020年4月27日
* @author 翁东州
* @方法中文名称:
*/
package
cn
.
timer
.
api
.
dto
.
qyzx
;
import
java.io.Serializable
;
import
java.util.List
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @date 2020年4月27日
* @author 翁东州
* @方法中文名称:
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
class
FeebackDto
implements
Serializable
{
/**
* @date 2020年4月27日
* @author 翁东州
* @方法中文名称:
*/
private
static
final
long
serialVersionUID
=
4457381912053961473L
;
@ApiModelProperty
(
value
=
"填写内容"
,
example
=
"13129310893"
)
private
String
opinionText
;
@ApiModelProperty
(
value
=
"附件地址"
,
example
=
"123456"
)
private
List
<
String
>
urlList
;
}
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/dto/qyzx/QyzxOperLogQuaryDto.java
View file @
e5bff023
package
cn
.
timer
.
api
.
dto
.
qyzx
;
import
cn.timer.api.dto.spmk.MySummaryQueryDto
;
import
cn.timer.api.utils.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
This diff is collapsed.
Click to expand it.
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