Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
klck
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
位宇华
klck
Commits
83d94973
Commit
83d94973
authored
Mar 18, 2024
by
hehongwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据清洗修改
parent
5eea024b
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
94 additions
and
52 deletions
+94
-52
ruoyi-supplies/src/main/java/com/ruoyi/system/controller/ActSuppliesHistorydataController.java
...i/system/controller/ActSuppliesHistorydataController.java
+0
-4
ruoyi-supplies/src/main/java/com/ruoyi/system/mapper/ActSuppliesCleaningRuleMapper.java
...om/ruoyi/system/mapper/ActSuppliesCleaningRuleMapper.java
+3
-1
ruoyi-supplies/src/main/java/com/ruoyi/system/service/impl/ActSuppliesHistorydataServiceImpl.java
...ystem/service/impl/ActSuppliesHistorydataServiceImpl.java
+30
-13
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesCleaningRuleMapper.xml
...resources/mapper/system/ActSuppliesCleaningRuleMapper.xml
+60
-33
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesHistorydataMapper.xml
.../resources/mapper/system/ActSuppliesHistorydataMapper.xml
+1
-1
No files found.
ruoyi-supplies/src/main/java/com/ruoyi/system/controller/ActSuppliesHistorydataController.java
View file @
83d94973
...
@@ -52,7 +52,6 @@ public class ActSuppliesHistorydataController extends BaseController
...
@@ -52,7 +52,6 @@ public class ActSuppliesHistorydataController extends BaseController
* 导出 历史数据列表
* 导出 历史数据列表
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:historydata:export')"
)
@PreAuthorize
(
"@ss.hasPermi('system:historydata:export')"
)
@Log
(
title
=
" 历史数据"
,
businessType
=
BusinessType
.
EXPORT
)
@GetMapping
(
"/export"
)
@GetMapping
(
"/export"
)
public
AjaxResult
export
(
ActSuppliesHistorydata
actSuppliesHistorydata
)
public
AjaxResult
export
(
ActSuppliesHistorydata
actSuppliesHistorydata
)
{
{
...
@@ -75,7 +74,6 @@ public class ActSuppliesHistorydataController extends BaseController
...
@@ -75,7 +74,6 @@ public class ActSuppliesHistorydataController extends BaseController
* 新增 历史数据
* 新增 历史数据
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:historydata:add')"
)
@PreAuthorize
(
"@ss.hasPermi('system:historydata:add')"
)
@Log
(
title
=
" 历史数据"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
@PostMapping
public
AjaxResult
add
(
@RequestBody
List
<
ActSuppliesHistorydata
>
actSuppliesHistorydata
)
public
AjaxResult
add
(
@RequestBody
List
<
ActSuppliesHistorydata
>
actSuppliesHistorydata
)
{
{
...
@@ -86,7 +84,6 @@ public class ActSuppliesHistorydataController extends BaseController
...
@@ -86,7 +84,6 @@ public class ActSuppliesHistorydataController extends BaseController
* 修改 历史数据
* 修改 历史数据
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:historydata:edit')"
)
@PreAuthorize
(
"@ss.hasPermi('system:historydata:edit')"
)
@Log
(
title
=
" 历史数据"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
@PutMapping
public
AjaxResult
edit
(
@RequestBody
ActSuppliesHistorydata
actSuppliesHistorydata
)
public
AjaxResult
edit
(
@RequestBody
ActSuppliesHistorydata
actSuppliesHistorydata
)
{
{
...
@@ -97,7 +94,6 @@ public class ActSuppliesHistorydataController extends BaseController
...
@@ -97,7 +94,6 @@ public class ActSuppliesHistorydataController extends BaseController
* 删除 历史数据
* 删除 历史数据
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:historydata:remove')"
)
@PreAuthorize
(
"@ss.hasPermi('system:historydata:remove')"
)
@Log
(
title
=
" 历史数据"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
{
...
...
ruoyi-supplies/src/main/java/com/ruoyi/system/mapper/ActSuppliesCleaningRuleMapper.java
View file @
83d94973
package
com.ruoyi.system.mapper
;
package
com.ruoyi.system.mapper
;
import
com.ruoyi.system.domain.*
;
import
com.ruoyi.system.domain.*
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -33,7 +34,8 @@ public interface ActSuppliesCleaningRuleMapper
...
@@ -33,7 +34,8 @@ public interface ActSuppliesCleaningRuleMapper
void
addInsertConvertAcc
(
ActSuppliesImportTable
actSuppliesImportTable
);
void
addInsertConvertAcc
(
ActSuppliesImportTable
actSuppliesImportTable
);
void
addActSuppliesImportCleaningAcc
(
ActSuppliesImportCleaningAcc
actSuppliesImportCleaningAcc
);
// void addActSuppliesImportCleaningAcc(ActSuppliesImportCleaningAcc actSuppliesImportCleaningAcc);
void
addActSuppliesImportCleaningAcc
(
@Param
(
"actSuppliesImportCleaningAccs"
)
List
<
ActSuppliesImportCleaningAcc
>
actSuppliesImportCleaningAccs
);
List
<
ActSuppliesImportCleaningAcc
>
selectActSuppliesCleaningCopy
(
Long
id
);
List
<
ActSuppliesImportCleaningAcc
>
selectActSuppliesCleaningCopy
(
Long
id
);
}
}
ruoyi-supplies/src/main/java/com/ruoyi/system/service/impl/ActSuppliesHistorydataServiceImpl.java
View file @
83d94973
...
@@ -627,15 +627,15 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
...
@@ -627,15 +627,15 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
@Transactional
@Transactional
public
void
addInsertImportssAccounts
(
List
<
ActOperation1
>
actOperation2s
)
{
public
void
addInsertImportssAccounts
(
List
<
ActOperation1
>
actOperation2s
)
{
Thread
thread1
=
new
Thread
(()->{
//
Thread thread1 = new Thread(()->{
System
.
out
.
println
(
"sssss"
);
//
System.out.println("sssss");
});
//
});
Thread
thread
=
new
Thread
()
{
//
Thread thread = new Thread() {
//
public
void
run
()
{
//
public void run() {
//String[] attributes = {"A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "A12", "A13", "A14", "A15", "A16", "A17", "A18", "A19", "A20", "A21", "A22", "A23", "A24", "A25", "A26", "A27", "A28", "A29", "A30", "A31", "A32", "A33", "A34", "A35", "A36", "A37", "A38", "A39", "A40", "A41", "A42", "A43", "A44", "A45", "A46", "A47", "A48", "A49", "A50", "A51", "A52", "A53", "A54", "A55", "A56", "A57", "A58", "A59", "A60", "A61", "A62", "A63"};
//String[] attributes = {"A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "A12", "A13", "A14", "A15", "A16", "A17", "A18", "A19", "A20", "A21", "A22", "A23", "A24", "A25", "A26", "A27", "A28", "A29", "A30", "A31", "A32", "A33", "A34", "A35", "A36", "A37", "A38", "A39", "A40", "A41", "A42", "A43", "A44", "A45", "A46", "A47", "A48", "A49", "A50", "A51", "A52", "A53", "A54", "A55", "A56", "A57", "A58", "A59", "A60", "A61", "A62", "A63"};
...
@@ -669,7 +669,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
...
@@ -669,7 +669,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
for
(
ActSuppliesDetails
entity
:
actSuppliesDetails1
)
{
for
(
ActSuppliesDetails
entity
:
actSuppliesDetails1
)
{
resultMap
.
put
(
entity
.
getCode
(),
entity
.
getCodes
());
resultMap
.
put
(
entity
.
getCode
(),
entity
.
getCodes
());
}
}
List
<
ActSuppliesImportCleaningAcc
>
actSuppliesImportCleaningAccs
=
new
ArrayList
<>();
//获取导入excel表数据存储到生成表实体类中
//获取导入excel表数据存储到生成表实体类中
for
(
int
x
=
((
int
)
parse
.
getJSONObject
(
0
).
get
(
"HeaderRow"
)
-
1
);
x
<
actOperation2s
.
get
(
i
).
getActOperation2
().
length
;
x
++)
{
for
(
int
x
=
((
int
)
parse
.
getJSONObject
(
0
).
get
(
"HeaderRow"
)
-
1
);
x
<
actOperation2s
.
get
(
i
).
getActOperation2
().
length
;
x
++)
{
//判断数据是否为空,为空结束循环
//判断数据是否为空,为空结束循环
...
@@ -719,7 +719,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
...
@@ -719,7 +719,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
}
}
//新增一条生成表数据(全部)
//新增一条生成表数据(全部)
actSuppliesCleaningRuleMapper
.
addInsertConvertAcc
(
actSuppliesImportTable
);
//
actSuppliesCleaningRuleMapper.addInsertConvertAcc(actSuppliesImportTable);
if
(
actOperation2s
.
get
(
i
).
getActOperation2
()[
x
][((
int
)
parse
.
getJSONObject
(
0
).
get
(
"CodeColumn"
)
-
1
)]
!=
null
)
{
if
(
actOperation2s
.
get
(
i
).
getActOperation2
()[
x
][((
int
)
parse
.
getJSONObject
(
0
).
get
(
"CodeColumn"
)
-
1
)]
!=
null
)
{
if
(
actOperation2s
.
get
(
i
).
getActOperation2
()[
x
][((
int
)
parse
.
getJSONObject
(
0
).
get
(
"CodeColumn"
)
-
1
)].
getV
()
!=
null
)
{
if
(
actOperation2s
.
get
(
i
).
getActOperation2
()[
x
][((
int
)
parse
.
getJSONObject
(
0
).
get
(
"CodeColumn"
)
-
1
)].
getV
()
!=
null
)
{
...
@@ -780,15 +780,29 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
...
@@ -780,15 +780,29 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
}
}
//actSuppliesImportCleaning.setDateColumn(actOperation2s.get(i).getActOperation2()[x][JSON.parseObject(actOperation2s.get(i).getHistoryRole()).getInteger("DateColumn")].getV());
//actSuppliesImportCleaning.setDateColumn(actOperation2s.get(i).getActOperation2()[x][JSON.parseObject(actOperation2s.get(i).getHistoryRole()).getInteger("DateColumn")].getV());
//新增一条生成表数据(筛选)
//新增一条生成表数据(筛选)
actSuppliesCleaningRuleMapper
.
addActSuppliesImportCleaningAcc
(
actSuppliesImportCleaningAcc
);
// actSuppliesCleaningRuleMapper.addActSuppliesImportCleaningAcc(actSuppliesImportCleaningAcc);
actSuppliesImportCleaningAccs
.
add
(
actSuppliesImportCleaningAcc
);
}
}
}
}
}
else
{
}
else
{
break
;
break
;
}
}
if
(
actOperation2s
.
get
(
i
).
getActOperation2
()[
x
][((
int
)
parse
.
getJSONObject
(
0
).
get
(
"CodeColumn"
)
-
1
)]
==
null
){
actSuppliesCleaningRuleMapper
.
addActSuppliesImportCleaningAcc
(
actSuppliesImportCleaningAccs
);
actSuppliesImportCleaningAccs
.
clear
();
break
;
}
else
{
String
codeColumn
=
actOperation2s
.
get
(
i
).
getActOperation2
()[
x
][((
int
)
parse
.
getJSONObject
(
0
).
get
(
"CodeColumn"
)
-
1
)].
getV
();
}
//String codeColumn = actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("CodeColumn") - 1)].getV();
if
(
x
%
500
==
0
){
actSuppliesCleaningRuleMapper
.
addActSuppliesImportCleaningAcc
(
actSuppliesImportCleaningAccs
);
actSuppliesImportCleaningAccs
.
clear
();
}
else
if
(
x
==
actOperation2s
.
get
(
i
).
getActOperation2
().
length
-
1
){
actSuppliesCleaningRuleMapper
.
addActSuppliesImportCleaningAcc
(
actSuppliesImportCleaningAccs
);
actSuppliesImportCleaningAccs
.
clear
();
}
}
}
...
@@ -797,11 +811,13 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
...
@@ -797,11 +811,13 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
}
}
}
// }
//
// };
//
// thread.start();
};
thread
.
start
();
}
}
...
@@ -846,6 +862,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
...
@@ -846,6 +862,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
@Override
@Override
public
List
<
ActSuppliesHistorydata
>
selectActSuppliesHistorydataAcc
(
ActSuppliesHistorydata
actSuppliesHistorydata
)
{
public
List
<
ActSuppliesHistorydata
>
selectActSuppliesHistorydataAcc
(
ActSuppliesHistorydata
actSuppliesHistorydata
)
{
actSuppliesHistorydata
.
setIdentifyingCode
(
0L
);
return
actSuppliesHistorydataMapper
.
selectActSuppliesHistorydataAcc
(
actSuppliesHistorydata
);
return
actSuppliesHistorydataMapper
.
selectActSuppliesHistorydataAcc
(
actSuppliesHistorydata
);
}
}
...
...
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesCleaningRuleMapper.xml
View file @
83d94973
...
@@ -252,44 +252,71 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -252,44 +252,71 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</trim>
</insert>
</insert>
<insert
id=
"addActSuppliesImportCleaningAcc"
parameterType=
"
ActSuppliesImportCleaningAcc
"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"addActSuppliesImportCleaningAcc"
parameterType=
"
java.util.List
"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into act_supplies_import_cleaning_copy1
insert into act_supplies_import_cleaning_copy1
(id,hid,ssk_id,hdate,km_code,yy_uuid,name_column,code_column,department_column,number_column,money_columns,money_column,date_column,source_of_expenses,categories)
values
<foreach
collection=
"actSuppliesImportCleaningAccs"
item=
"item"
separator=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
#{item.id},
<if
test=
"hId != null"
>
hid,
</if>
#{item.hId},
<if
test=
"sskId != null"
>
ssk_id,
</if>
#{item.sskId},
<if
test=
"hdate != null"
>
hdate,
</if>
#{item.hdate},
<if
test=
"kmCode != null"
>
km_code,
</if>
#{item.kmCode},
<if
test=
"yyUuid != null"
>
yy_uuid,
</if>
#{item.yyUuid},
<if
test=
"nameColumn != null"
>
name_column,
</if>
#{item.nameColumn},
<if
test=
"codeColumn != null"
>
code_column,
</if>
#{item.codeColumn},
<if
test=
"departmentColumn != null"
>
department_column,
</if>
#{item.departmentColumn},
<if
test=
"numberColumn != null"
>
number_column,
</if>
#{item.numberColumn},
<if
test=
"moneyColumns != null"
>
money_columns,
</if>
#{item.moneyColumns},
<if
test=
"moneyColumn != null"
>
money_column,
</if>
#{item.moneyColumn},
<if
test=
"dateColumn != null"
>
date_column,
</if>
#{item.dateColumn},
<if
test=
"sOfExpenses != null"
>
source_of_expenses,
</if>
#{item.sOfExpenses},
<if
test=
"categories != null"
>
categories,
</if>
#{item.categories},
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id},
</if>
<if
test=
"hId != null"
>
#{hId},
</if>
<if
test=
"sskId != null"
>
#{sskId},
</if>
<if
test=
"hdate != null"
>
#{hdate},
</if>
<if
test=
"kmCode != null"
>
#{kmCode},
</if>
<if
test=
"yyUuid != null"
>
#{yyUuid},
</if>
<if
test=
"nameColumn != null"
>
#{nameColumn},
</if>
<if
test=
"codeColumn != null"
>
#{codeColumn},
</if>
<if
test=
"departmentColumn != null"
>
#{departmentColumn},
</if>
<if
test=
"numberColumn != null"
>
#{numberColumn},
</if>
<if
test=
"moneyColumns != null"
>
#{moneyColumns},
</if>
<if
test=
"moneyColumn != null"
>
#{moneyColumn},
</if>
<if
test=
"dateColumn != null"
>
#{dateColumn},
</if>
<if
test=
"sOfExpenses != null"
>
#{sOfExpenses},
</if>
<if
test=
"categories != null"
>
#{categories},
</if>
</trim>
</trim>
</foreach>
</insert>
</insert>
<!-- <insert id="addActSuppliesImportCleaningAcc" parameterType="ActSuppliesImportCleaningAcc" useGeneratedKeys="true" keyProperty="id">-->
<!-- insert into act_supplies_import_cleaning_copy1-->
<!-- <trim prefix="(" suffix=")" suffixOverrides=",">-->
<!-- <if test="id != null">id,</if>-->
<!-- <if test="hId != null">hid,</if>-->
<!-- <if test="sskId != null">ssk_id,</if>-->
<!-- <if test="hdate != null">hdate,</if>-->
<!-- <if test="kmCode != null">km_code,</if>-->
<!-- <if test="yyUuid != null">yy_uuid,</if>-->
<!-- <if test="nameColumn != null">name_column,</if>-->
<!-- <if test="codeColumn != null">code_column,</if>-->
<!-- <if test="departmentColumn != null">department_column,</if>-->
<!-- <if test="numberColumn != null">number_column,</if>-->
<!-- <if test="moneyColumns != null">money_columns,</if>-->
<!-- <if test="moneyColumn != null">money_column,</if>-->
<!-- <if test="dateColumn != null">date_column,</if>-->
<!-- <if test="sOfExpenses != null">source_of_expenses,</if>-->
<!-- <if test="categories != null">categories,</if>-->
<!-- </trim>-->
<!-- <trim prefix="values (" suffix=")" suffixOverrides=",">-->
<!-- <if test="id != null">#{id},</if>-->
<!-- <if test="hId != null">#{hId},</if>-->
<!-- <if test="sskId != null">#{sskId},</if>-->
<!-- <if test="hdate != null">#{hdate},</if>-->
<!-- <if test="kmCode != null">#{kmCode},</if>-->
<!-- <if test="yyUuid != null">#{yyUuid},</if>-->
<!-- <if test="nameColumn != null">#{nameColumn},</if>-->
<!-- <if test="codeColumn != null">#{codeColumn},</if>-->
<!-- <if test="departmentColumn != null">#{departmentColumn},</if>-->
<!-- <if test="numberColumn != null">#{numberColumn},</if>-->
<!-- <if test="moneyColumns != null">#{moneyColumns},</if>-->
<!-- <if test="moneyColumn != null">#{moneyColumn},</if>-->
<!-- <if test="dateColumn != null">#{dateColumn},</if>-->
<!-- <if test="sOfExpenses != null">#{sOfExpenses},</if>-->
<!-- <if test="categories != null">#{categories},</if>-->
<!-- </trim>-->
<!-- </insert>-->
<insert
id=
"addActSuppliesImportCleaning"
parameterType=
"ActSuppliesImportCleaning"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"addActSuppliesImportCleaning"
parameterType=
"ActSuppliesImportCleaning"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into act_supplies_import_cleaning
insert into act_supplies_import_cleaning
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesHistorydataMapper.xml
View file @
83d94973
...
@@ -261,7 +261,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -261,7 +261,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT t1.id,t1.import_uuid, t1.template_id, t1.export_uuid, t1.role_id, t1.history_name, t1.history_role,t1.conven_role,t2.history_content, t1.identifying_code, t1.status, t1.create_by, t1.create_time,t1.date,t1.ssk_id
SELECT t1.id,t1.import_uuid, t1.template_id, t1.export_uuid, t1.role_id, t1.history_name, t1.history_role,t1.conven_role,t2.history_content, t1.identifying_code, t1.status, t1.create_by, t1.create_time,t1.date,t1.ssk_id
FROM act_supplies_historydata_copy1 t1
FROM act_supplies_historydata_copy1 t1
LEFT JOIN act_supplies_historycontent_copy1 t2 ON t1.import_uuid = t2.hid
LEFT JOIN act_supplies_historycontent_copy1 t2 ON t1.import_uuid = t2.hid
where t1.clean_status = 0 and t1.tylk_status =#{tylkStatus} and t1.ssk_id = #{mining}
where t1.clean_status = 0 and t1.tylk_status =#{tylkStatus} and t1.ssk_id = #{mining}
and t1.identifying_code = #{identifyingCode} limit 0,1
</select>
</select>
<update
id=
"updateActSuppliesHistorydataStatusById"
parameterType=
"java.lang.Long"
>
<update
id=
"updateActSuppliesHistorydataStatusById"
parameterType=
"java.lang.Long"
>
...
...
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