Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
Y
YX_IDENT_beijing_auxiliary_YD
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhangyusheng
YX_IDENT_beijing_auxiliary_YD
Commits
237eef92
Commit
237eef92
authored
Mar 12, 2019
by
dahai
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
15a540ae
6b9136c1
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
369 additions
and
79 deletions
+369
-79
InfoManagementApi.java
src/main/java/com/yxproject/start/api/InfoManagementApi.java
+10
-1
ReceiptApi.java
src/main/java/com/yxproject/start/api/ReceiptApi.java
+0
-0
TaskListApi.java
src/main/java/com/yxproject/start/api/TaskListApi.java
+11
-4
InfoManagementMapper.java
...java/com/yxproject/start/mapper/InfoManagementMapper.java
+4
-4
ReceiptMapper.java
src/main/java/com/yxproject/start/mapper/ReceiptMapper.java
+48
-8
TaskListMapper.java
src/main/java/com/yxproject/start/mapper/TaskListMapper.java
+7
-1
ReceiptService.java
...main/java/com/yxproject/start/service/ReceiptService.java
+23
-3
TaskListService.java
...ain/java/com/yxproject/start/service/TaskListService.java
+3
-0
ReceiptServiceImpl.java
.../com/yxproject/start/service/impl/ReceiptServiceImpl.java
+39
-5
TaskListServiceImpl.java
...com/yxproject/start/service/impl/TaskListServiceImpl.java
+6
-0
app.js
src/main/resources/static/js/app.js
+3
-3
service.js
src/main/resources/static/js/service.js
+19
-0
cardProdPackage.html
...sources/static/views/cardProdPackage/cardProdPackage.html
+3
-3
cardProdPackage.js
...resources/static/views/cardProdPackage/cardProdPackage.js
+12
-3
login.js
src/main/resources/static/views/login/login.js
+2
-2
tagPrint.js
src/main/resources/static/views/tagPrint/tagPrint.js
+11
-2
task.js
src/main/resources/static/views/task/task.js
+153
-31
taskListEwriting.html
src/main/resources/static/views/task/taskListEwriting.html
+11
-5
taskListPreLocating.html
...main/resources/static/views/task/taskListPreLocating.html
+1
-1
taskListPrint.html
src/main/resources/static/views/task/taskListPrint.html
+1
-1
taskListPushing.html
src/main/resources/static/views/task/taskListPushing.html
+1
-1
taskListSorting.html
src/main/resources/static/views/task/taskListSorting.html
+1
-1
No files found.
src/main/java/com/yxproject/start/api/InfoManagementApi.java
View file @
237eef92
...
...
@@ -16,8 +16,17 @@ public class InfoManagementApi {
private
InfoManagementService
infoManagementService
;
@RequestMapping
(
"selectInfoManagement"
)
public
List
<
NewFilesEntity
>
selectInfoManagement
(
@Param
(
"beginFileName"
)
String
beginFileName
,
@Param
(
"endFileName"
)
String
endFileName
,
@Param
(
"gajgMc"
)
String
gajgMc
,
@Param
(
"beginDate"
)
String
beginDate
,
@Param
(
"endDate"
)
String
endDate
){
List
<
NewFilesEntity
>
resultList
=
infoManagementService
.
selectInfoManagement
(
beginFileName
,
endFileName
,
gajgMc
,
beginDate
,
endDate
);
List
<
NewFilesEntity
>
resultList
=
infoManagementService
.
selectInfoManagement
(
beginFileName
,
endFileName
,
gajgMc
,
replaceDate
(
beginDate
),
replaceDate
(
endDate
)
);
return
resultList
;
}
/**
* 去除字符串中中线
* @param str
* @return
*/
private
String
replaceDate
(
String
str
){
return
str
.
replace
(
"-"
,
""
);
}
}
src/main/java/com/yxproject/start/api/ReceiptApi.java
View file @
237eef92
This diff is collapsed.
Click to expand it.
src/main/java/com/yxproject/start/api/TaskListApi.java
View file @
237eef92
package
com
.
yxproject
.
start
.
api
;
import
com.yxproject.start.entity.GroupNoEntity
;
import
com.yxproject.start.entity.PreproPersonEntity
;
import
com.yxproject.start.entity.SpecialCardEntity
;
import
com.yxproject.start.entity.TaskEntity
;
import
com.yxproject.start.entity.*
;
import
com.yxproject.start.entity.TaskList.CountCountyEntity
;
import
com.yxproject.start.entity.TaskList.CountGajgEntity
;
import
com.yxproject.start.entity.TaskList.TaskListEntity
;
...
...
@@ -411,6 +408,16 @@ public class TaskListApi {
}
else
return
str
;
}
/**
* 查询制证类型列表
*/
@RequestMapping
(
"getTypeList"
)
public
List
<
CardTypeDicEntity
>
getTypeList
()
{
List
<
CardTypeDicEntity
>
list
=
taskListService
.
getTypeList
();
return
list
;
}
/**
* 去除字符串中中线
*
...
...
src/main/java/com/yxproject/start/mapper/InfoManagementMapper.java
View file @
237eef92
...
...
@@ -14,14 +14,14 @@ public interface InfoManagementMapper {
@Select
(
"<script> "
+
"select * from new_files \n"
+
"where 1=1\n"
+
"<if test='beginFileName !=
null
'>"
+
"<if test='beginFileName !=
\"\"
'>"
+
"and (NEW_FILE_NAME between(#{beginFileName})and (#{endFileName}))\n"
+
"</if>"
+
"<if test='gajgMc !=
null
'>"
+
"<if test='gajgMc !=
\"\"
'>"
+
"and DWMC=#{gajgMc}\n"
+
"</if>"
+
"<if test='beginDate !=
null
'>"
+
"and (
CREATE_DATE
between(#{beginDate})and(#{endDate}))"
+
"<if test='beginDate !=
\"\"
'>"
+
"and (
subStr(CREATE_DATE,0,8)
between(#{beginDate})and(#{endDate}))"
+
"</if>"
+
"</script>"
)
public
List
<
NewFilesEntity
>
selectInfoManagement
(
@Param
(
"beginFileName"
)
String
beginFileName
,
@Param
(
"endFileName"
)
String
endFileName
,
@Param
(
"gajgMc"
)
String
gajgMc
,
@Param
(
"beginDate"
)
String
beginDate
,
@Param
(
"endDate"
)
String
endDate
);
...
...
src/main/java/com/yxproject/start/mapper/ReceiptMapper.java
View file @
237eef92
...
...
@@ -10,9 +10,12 @@ import java.util.Map;
public
interface
ReceiptMapper
{
//根据身份证号查询交接单信息
@Select
(
"select prod_group_t.group_no,prod_card_t.accept_no,subStr(prod_card_t.UPLOAD_NO,0,9) as GAJG_DM,prod_group_t.valid_count\n"
+
@Select
(
"select prod_group_t.group_no,prod_card_t.accept_no,subStr(prod_card_t.UPLOAD_NO,0,9) as GAJG_DM,prod_group_t.valid_count,"
+
"task.CARD_TYPE,task.OLD_CARD_TYPE\n"
+
"from prod_card_t@PROD_LINK\n"
+
"left join prod_group_t@PROD_LINK on subStr(prod_card_t.accept_no,0,8)= prod_group_t.group_no\n"
+
"left join group_no on prod_group_t.group_no = group_no.group_no"
+
"left join task on task.task_id =group_no.task_id"
+
"where prod_card_t.id_no=#{id}"
)
public
Map
<
String
,
Object
>
selectReceiptListDate
(
String
id
);
...
...
@@ -21,8 +24,8 @@ public interface ReceiptMapper {
public
int
selectByGroupNo
(
String
groupNo
);
//生成交接单
@Insert
(
"INSERT INTO RECEIPT_LIST(QR_CODE,POLICE_CODE,FINISH_COUNT,STATE
)VALUES(#{GROUP_NO},#{GAJG_DM},#{count},#{stat
e})"
)
public
boolean
createReceiptList
(
@Param
(
"GROUP_NO"
)
String
GROUP_NO
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"count"
)
int
count
,
@Param
(
"state"
)
int
state
);
@Insert
(
"INSERT INTO RECEIPT_LIST(QR_CODE,POLICE_CODE,FINISH_COUNT,STATE
,CARD_TYPE_ID,OLD_CARD_TYPE_ID)VALUES(#{GROUP_NO},#{GAJG_DM},#{count},#{state},#{cardType},#{oldCardTyp
e})"
)
public
boolean
createReceiptList
(
@Param
(
"GROUP_NO"
)
String
GROUP_NO
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"count"
)
int
count
,
@Param
(
"state"
)
int
state
,
@Param
(
"cardType"
)
String
cardType
,
@Param
(
"oldCardType"
)
String
oldCardType
);
...
...
@@ -30,6 +33,7 @@ public interface ReceiptMapper {
@Select
(
"select prod_card_t.upload_no,"
+
"PROD_CARD_T.ACCEPT_NO,"
+
"prod_card_t.name,"
+
"prod_card_t.sex"
+
"prod_card_t.id_no,"
+
"subStr(prod_card_t.UPLOAD_NO,0,9) AS GAJG_DM,"
+
"receipt_list.ID\n"
+
...
...
@@ -39,9 +43,9 @@ public interface ReceiptMapper {
public
Map
<
String
,
Object
>
selectDetailedData
(
String
id
);
//生成交接单详单
@Insert
(
"INSERT INTO DETAIL_RECEIPT_LIST (UPLOAD_NO,accept_no,name,card_id,
SIGN_GOVT
,RECEIPT_ID)"
+
@Insert
(
"INSERT INTO DETAIL_RECEIPT_LIST (UPLOAD_NO,accept_no,name,card_id,
POLICE_CODE
,RECEIPT_ID)"
+
"VALUES(#{UPLOAD_NO},#{ACCEPT_NO},#{NAME},#{CARD_ID},#{GAJG_DM},#{RECEIPT_ID})"
)
public
boolean
createDetailedList
(
@Param
(
"UPLOAD_NO"
)
String
UPLOAD_NO
,
@Param
(
"ACCEPT_NO"
)
String
ACCEPT_NO
,
@Param
(
"NAME"
)
String
NAME
,
@Param
(
"CARD_ID"
)
String
CARD_ID
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"RECEIPT_ID"
)
int
RECEIPT_ID
);
public
boolean
createDetailedList
(
@Param
(
"UPLOAD_NO"
)
String
UPLOAD_NO
,
@Param
(
"ACCEPT_NO"
)
String
ACCEPT_NO
,
@Param
(
"NAME"
)
String
NAME
,
@Param
(
"CARD_ID"
)
String
CARD_ID
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"RECEIPT_ID"
)
int
RECEIPT_ID
,
@Param
(
"SEX"
)
String
SEX
);
...
...
@@ -65,11 +69,10 @@ public interface ReceiptMapper {
//
根据身份证号查询特证
交接单
//
查询未复核
交接单
@Select
(
"SELECT RECEIPT_LIST.* FROM RECEIPT_LIST where state=0\n"
)
public
List
<
Map
<
String
,
Object
>>
selectReceiptListOfSpecialCard
();
//根据身份证号查询普通证交接单
@Select
(
"SELECT RECEIPT_LIST.* FROM RECEIPT_LIST \n"
+
"LEFT JOIN PROD_CARD_T@PROD_LINK ON subStr(PROD_CARD_T.ACCEPT_NO,0,8) =RECEIPT_LIST.QR_CODE\n"
+
...
...
@@ -87,9 +90,46 @@ public interface ReceiptMapper {
"check_date = #{date},\n"
+
"check_name=#{checkName} \n"
+
"where id=#{receiptId}"
)
public
boolean
updateReceiptList
(
int
receiptId
,
String
checkName
,
Date
date
);
public
boolean
updateReceiptList
(
String
receiptId
,
String
checkName
,
Date
date
);
//根据输入id查询交接单是否生成
@Select
(
"select count(*) from RECEIPT_LIST where QR_CODE=(select accept_no from prod_card_t@prod_link where id_no=#{id})"
)
public
int
selectCountById
(
@Param
(
"id"
)
String
id
);
//根据输入id查询是否生成详单
@Select
(
"select count(*) from DETAIL_RECEIPT_LIST where ACCEPT_NO=(select accept_no from prod_card_t@prod_link where id_no=#{id})"
)
public
int
selectReceiptById
(
@Param
(
"id"
)
String
id
);
//复核一致,按交接单编号查询证件数量
@Select
(
"select FINISH_COUNT from RECEIPT_LIST WHERE ID=#{receiptId}"
)
public
int
selectCountByReceiptId
(
@Param
(
"receiptId"
)
String
receiptId
);
//符合一致,按交接单编号查询详单库数量
public
int
selectDetailCountByReceiptId
(
@Param
(
"receiptId"
)
String
receiptId
);
@Select
(
"select \n"
+
"count(prod_trace_t.download_no)as download,\n"
+
"count(prod_trace_t.checker_no) as checkerCount,\n"
+
"count(prod_trace_t.ELECTRIC_WRITER_NO)as electricCount\n"
+
"from prod_trace_t@PROD_LINK \n"
+
"WHERE subStr(ACCEPT_NO,0,8) = #{groupNo} or ACCEPT_NO=#{groupNo}"
)
public
Map
<
String
,
Object
>
selectCountTime
(
String
groupNo
);
@Select
(
"select \n"
+
"prod_trace_t.DOWNLOAD_DATE as downloadDate,\n"
+
"prod_trace_t.CHECK_DATE as checkDate,\n"
+
"prod_trace_t.ELECTRIC_WRITE_DATE as electricDate\n"
+
"from prod_trace_t@PROD_LINK \n"
+
"WHERE subStr(ACCEPT_NO,0,8) = #{groupNo} or ACCEPT_NO=#{groupNo}"
)
public
Map
<
String
,
Object
>
selectTimes
(
String
groupNo
);
}
src/main/java/com/yxproject/start/mapper/TaskListMapper.java
View file @
237eef92
package
com
.
yxproject
.
start
.
mapper
;
import
com.yxproject.start.entity.CardTypeDicEntity
;
import
com.yxproject.start.entity.TaskEntity
;
import
com.yxproject.start.entity.TaskList.CountCountyEntity
;
import
com.yxproject.start.entity.TaskList.TaskListEntity
;
...
...
@@ -783,5 +784,10 @@ public interface TaskListMapper {
*/
@Select
(
"select * from task where task_ID = #{taskId}"
)
public
List
<
TaskEntity
>
selectTaskEntityByTaskId
(
long
taskId
);
/**
* 查询制证类型列表
* @return
*/
@Select
(
"SELECT * FROM CARD_TYPE_DIC"
)
public
List
<
CardTypeDicEntity
>
selectTypeList
();
}
src/main/java/com/yxproject/start/service/ReceiptService.java
View file @
237eef92
...
...
@@ -10,11 +10,11 @@ public interface ReceiptService {
public
Map
<
String
,
Object
>
selectReceiptListDate
(
String
id
);
public
boolean
createReceiptList
(
@Param
(
"GROUP_NO"
)
String
GROUP_NO
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"count"
)
int
count
,
@Param
(
"state"
)
int
state
);
public
boolean
createReceiptList
(
@Param
(
"GROUP_NO"
)
String
GROUP_NO
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"count"
)
int
count
,
@Param
(
"state"
)
int
state
,
@Param
(
"cardType"
)
String
cardType
,
@Param
(
"oldCardType"
)
String
oldCardType
);
public
Map
<
String
,
Object
>
selectDetailedData
(
String
id
);
public
boolean
createDetailedList
(
@Param
(
"UPLOAD_NO"
)
String
UPLOAD_NO
,
@Param
(
"ACCEPT_NO"
)
String
ACCEPT_NO
,
@Param
(
"NAME"
)
String
NAME
,
@Param
(
"CARD_ID"
)
String
CARD_ID
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"RECEIPT_ID"
)
int
RECEIPT_ID
);
public
boolean
createDetailedList
(
@Param
(
"UPLOAD_NO"
)
String
UPLOAD_NO
,
@Param
(
"ACCEPT_NO"
)
String
ACCEPT_NO
,
@Param
(
"NAME"
)
String
NAME
,
@Param
(
"CARD_ID"
)
String
CARD_ID
,
@Param
(
"GAJG_DM"
)
String
GAJG_DM
,
@Param
(
"RECEIPT_ID"
)
int
RECEIPT_ID
,
@Param
(
"SEX"
)
String
SEX
);
public
int
selectSpecialCard
(
String
GROUP_NO
);
...
...
@@ -28,9 +28,29 @@ public interface ReceiptService {
public
List
<
Map
<
String
,
Object
>>
selectDetailList
(
String
receiptId
);
public
boolean
updateReceiptList
(
int
receiptId
,
String
checkName
,
Date
date
);
public
boolean
updateReceiptList
(
String
receiptId
,
String
checkName
,
Date
date
);
public
int
selectCount
(
String
GROUP_NO
);
public
boolean
updateFinishCount
(
String
GROUP_NO
,
int
count
);
//特证查询是否生成交接单
public
int
selectCountById
(
@Param
(
"id"
)
String
id
);
//查询是否已生成交接单详单
public
int
selectReceiptById
(
@Param
(
"id"
)
String
id
);
//复核一致,按交接单编号查询证件数量
public
int
selectCountByReceiptId
(
@Param
(
"receiptId"
)
String
receiptId
);
//符合一致,按交接单编号查询详单库数量
public
int
selectDetailCountByReceiptId
(
@Param
(
"receiptId"
)
String
receiptId
);
public
Map
<
String
,
Object
>
selectCountTime
(
String
groupNo
);
public
Map
<
String
,
Object
>
selectTimes
(
String
groupNo
);
}
src/main/java/com/yxproject/start/service/TaskListService.java
View file @
237eef92
package
com
.
yxproject
.
start
.
service
;
import
com.yxproject.start.entity.CardTypeDicEntity
;
import
com.yxproject.start.entity.SpecialCardEntity
;
import
com.yxproject.start.entity.TaskEntity
;
import
com.yxproject.start.entity.TaskList.CountCountyEntity
;
...
...
@@ -53,4 +54,6 @@ public interface TaskListService {
public
List
<
TaskEntity
>
selectTaskEntityByTaskId
(
long
taskId
);
public
boolean
saveFastTask
(
TaskEntity
taskEntity
);
public
List
<
CardTypeDicEntity
>
getTypeList
();
}
src/main/java/com/yxproject/start/service/impl/ReceiptServiceImpl.java
View file @
237eef92
...
...
@@ -21,8 +21,8 @@ public class ReceiptServiceImpl implements ReceiptService {
}
@Override
public
boolean
createReceiptList
(
String
GROUP_NO
,
String
GAJG_DM
,
int
count
,
int
state
)
{
receiptMapper
.
createReceiptList
(
GROUP_NO
,
GAJG_DM
,
count
,
state
);
public
boolean
createReceiptList
(
String
GROUP_NO
,
String
GAJG_DM
,
int
count
,
int
state
,
String
cardType
,
String
oldCardType
)
{
receiptMapper
.
createReceiptList
(
GROUP_NO
,
GAJG_DM
,
count
,
state
,
cardType
,
oldCardType
);
return
true
;
}
...
...
@@ -33,8 +33,8 @@ public class ReceiptServiceImpl implements ReceiptService {
}
@Override
public
boolean
createDetailedList
(
String
UPLOAD_NO
,
String
ACCEPT_NO
,
String
NAME
,
String
CARD_ID
,
String
GAJG_DM
,
int
RECEIPT_ID
)
{
receiptMapper
.
createDetailedList
(
UPLOAD_NO
,
ACCEPT_NO
,
NAME
,
CARD_ID
,
GAJG_DM
,
RECEIPT_ID
);
public
boolean
createDetailedList
(
String
UPLOAD_NO
,
String
ACCEPT_NO
,
String
NAME
,
String
CARD_ID
,
String
GAJG_DM
,
int
RECEIPT_ID
,
String
SEX
)
{
receiptMapper
.
createDetailedList
(
UPLOAD_NO
,
ACCEPT_NO
,
NAME
,
CARD_ID
,
GAJG_DM
,
RECEIPT_ID
,
SEX
);
return
true
;
}
...
...
@@ -77,7 +77,7 @@ public class ReceiptServiceImpl implements ReceiptService {
}
@Override
public
boolean
updateReceiptList
(
int
receiptId
,
String
checkName
,
Date
date
)
{
public
boolean
updateReceiptList
(
String
receiptId
,
String
checkName
,
Date
date
)
{
receiptMapper
.
updateReceiptList
(
receiptId
,
checkName
,
date
);
return
true
;
}
...
...
@@ -94,5 +94,39 @@ public class ReceiptServiceImpl implements ReceiptService {
return
true
;
}
@Override
public
int
selectCountById
(
String
id
)
{
int
countAccept
=
receiptMapper
.
selectCountById
(
id
);
return
countAccept
;
}
@Override
public
int
selectReceiptById
(
String
id
)
{
int
receiptCount
=
receiptMapper
.
selectReceiptById
(
id
);
return
receiptCount
;
}
@Override
public
int
selectCountByReceiptId
(
String
receiptId
)
{
int
finishCount
=
selectCountByReceiptId
(
receiptId
);
return
finishCount
;
}
@Override
public
int
selectDetailCountByReceiptId
(
String
receiptId
)
{
int
detailCount
=
selectDetailCountByReceiptId
(
receiptId
);
return
detailCount
;
}
@Override
public
Map
<
String
,
Object
>
selectCountTime
(
String
groupNo
)
{
Map
<
String
,
Object
>
maps
=
receiptMapper
.
selectCountTime
(
groupNo
);
return
maps
;
}
@Override
public
Map
<
String
,
Object
>
selectTimes
(
String
groupNo
)
{
Map
<
String
,
Object
>
maps
=
receiptMapper
.
selectTimes
(
groupNo
);
return
maps
;
}
}
src/main/java/com/yxproject/start/service/impl/TaskListServiceImpl.java
View file @
237eef92
package
com
.
yxproject
.
start
.
service
.
impl
;
import
com.yxproject.start.entity.CardTypeDicEntity
;
import
com.yxproject.start.entity.GroupNoEntity
;
import
com.yxproject.start.entity.SpecialCardEntity
;
import
com.yxproject.start.entity.TaskEntity
;
...
...
@@ -542,6 +543,11 @@ public class TaskListServiceImpl implements TaskListService {
}
@Override
public
List
<
CardTypeDicEntity
>
getTypeList
()
{
return
taskListMapper
.
selectTypeList
();
}
private
String
createGroupNo
(
List
<
Integer
>
c
,
List
<
Integer
>
nsList
)
{
try
{
...
...
src/main/resources/static/js/app.js
View file @
237eef92
...
...
@@ -103,8 +103,8 @@ angular.module('AvatarCheck', [
if
(
$location
.
path
()
==
"/taskListPushing"
)
{
$rootScope
.
tab
=
'/taskListPushing'
;
}
if
(
$location
.
path
()
==
"/taskList
Cut
ting"
)
{
$rootScope
.
tab
=
'/taskList
Cut
ting'
;
if
(
$location
.
path
()
==
"/taskList
Ewri
ting"
)
{
$rootScope
.
tab
=
'/taskList
Ewri
ting'
;
}
if
(
$location
.
path
()
==
"/taskListSorting"
)
{
$rootScope
.
tab
=
'/taskListSorting'
;
...
...
@@ -182,9 +182,9 @@ angular.module('AvatarCheck', [
$scope
.
logout
=
function
(){
HttpService
.
logout
(
function
(
data
)
{
localStorage
.
clear
();
$location
.
path
(
'/login'
)
$rootScope
.
loginData
=
{
userid
:
'用户未登录'
,
login
:
false
};
localStorage
.
clear
();
});
}
$scope
.
enterEvent
=
function
(
e
,
search
)
{
...
...
src/main/resources/static/js/service.js
View file @
237eef92
...
...
@@ -351,6 +351,8 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
// var arr = [];
// arr.push(json);
// var body = JSON.stringify(arr);
console
.
log
(
uploadNo
,
idCard
,
oldPackageNo
,
newPackageNo
,
sljg
,
typeCode
,
packageType
,
date
,
currentPage
,
itemsPerPage
)
$http
({
method
:
'GET'
,
url
:
"../queryPreproPerson/queryPreproPerson"
,
...
...
@@ -685,6 +687,22 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
}).
then
(
function
successCallback
(
response
)
{
success
(
response
.
data
)
})
},
getPoliceListDataNotCheckedData
:
function
(
success
)
{
$http
({
method
:
'GET'
,
url
:
"../ReceiptApi/updatePreproPerson"
+
urlTimeStamp
()
}).
then
(
function
successCallback
(
response
)
{
success
(
response
.
data
)
})
},
getTypeList
:
function
(
success
){
$http
({
method
:
'GET'
,
url
:
"../TaskList/getTypeList"
+
urlTimeStamp
()
}).
then
(
function
successCallback
(
response
)
{
success
(
response
.
data
)
})
}
}
});
\ No newline at end of file
src/main/resources/static/views/cardProdPackage/cardProdPackage.html
View file @
237eef92
...
...
@@ -48,9 +48,9 @@
<td><input
type=
"text"
class=
"form-control"
ng-model=
"sljg"
placeholder=
"受理机关"
></td>
<td>
制证类型:
</td>
<td
style=
"text-align: left;"
>
<select
class=
"form-control select2"
id=
"county"
data-placeholder=
"--请选择制证类型--"
style=
"width: 100%;"
ng-model=
"typeCode"
>
<option
value=
"{{type.
typeCode}}"
ng-repeat=
"type in typeList"
>
{{type.typeNam
e}}
</option>
<select
class=
"form-control select2"
id=
"county"
ng-model=
"typeCode"
>
<option
value=
""
>
--请选择制证类型--
</option
>
<option
value=
"{{type.
cardTypeId}}"
ng-repeat=
"type in typeList"
>
{{type.cardTyp
e}}
</option>
</select>
</td>
</tr>
...
...
src/main/resources/static/views/cardProdPackage/cardProdPackage.js
View file @
237eef92
...
...
@@ -38,6 +38,7 @@ angular.module('AvatarCheck.cardProdPackage', ['ngRoute', 'AvatarCheck.http', 't
$scope
.
doPackageQuery
=
function
(){
var
date
=
$
(
"#datepicker"
).
val
();
var
typeCode
=
$
(
"#county"
).
val
();
var
packageType
=
$
(
"#packageType"
).
val
();
if
(
angular
.
isUndefined
(
$scope
.
uploadNo
)){
$scope
.
uploadNo
=
''
;
...
...
@@ -54,8 +55,8 @@ angular.module('AvatarCheck.cardProdPackage', ['ngRoute', 'AvatarCheck.http', 't
if
(
angular
.
isUndefined
(
$scope
.
sljg
)){
$scope
.
sljg
=
''
;
}
if
(
angular
.
isUndefined
(
$scope
.
typeCode
)){
$scope
.
typeCode
=
''
;
if
(
angular
.
isUndefined
(
typeCode
)){
typeCode
=
''
;
}
if
(
angular
.
isUndefined
(
packageType
)){
packageType
=
''
;
...
...
@@ -65,7 +66,7 @@ angular.module('AvatarCheck.cardProdPackage', ['ngRoute', 'AvatarCheck.http', 't
date
=
$filter
(
"date"
)(
new
Date
(),
"yyyy-MM-dd"
);
}
HttpService
.
getPackageData
(
$scope
.
uploadNo
,
$scope
.
idCard
,
$scope
.
oldPackageNo
,
$scope
.
newPackageNo
,
$scope
.
sljg
,
$scope
.
typeCode
,
packageType
,
date
,
$scope
.
paginationConf
.
currentPage
,
$scope
.
paginationConf
.
itemsPerPage
,
function
(
data
)
{
typeCode
,
packageType
,
date
,
$scope
.
paginationConf
.
currentPage
,
$scope
.
paginationConf
.
itemsPerPage
,
function
(
data
)
{
$scope
.
paginationConf
.
totalItems
=
data
.
total
;
$scope
.
simpleCardCount
=
data
.
puSum
;
$scope
.
postCardCount
=
data
.
youSum
;
...
...
@@ -138,4 +139,11 @@ angular.module('AvatarCheck.cardProdPackage', ['ngRoute', 'AvatarCheck.http', 't
a
.
click
();
}
var
getTypeList
=
function
(){
HttpService
.
getTypeList
(
function
(
data
){
$scope
.
typeList
=
data
;
console
.
log
(
data
)
})
}
getTypeList
();
});
\ No newline at end of file
src/main/resources/static/views/login/login.js
View file @
237eef92
...
...
@@ -47,8 +47,8 @@ angular.module('AvatarCheck.login', ['ngRoute', 'AvatarCheck.http'])
$rootScope
.
tab
=
'/taskListSorting'
;
break
;
case
5
:
$location
.
path
(
"/taskList
Cut
ting"
);
$rootScope
.
tab
=
'/taskList
Cut
ting'
;
$location
.
path
(
"/taskList
Ewri
ting"
);
$rootScope
.
tab
=
'/taskList
Ewri
ting'
;
break
;
case
4
:
$location
.
path
(
"/taskListPushing"
);
...
...
src/main/resources/static/views/tagPrint/tagPrint.js
View file @
237eef92
...
...
@@ -1022,10 +1022,19 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
}
var
getPoliceListDataNotChecked
=
function
()
{
HttpService
.
getPoliceListDataNotCheckedData
(
function
(
data
){
$scope
.
tagPrintData
=
data
;
console
.
log
(
$scope
.
tagPrintData
)
})
}
$scope
.
searchTagPrintData
=
function
(){
HttpService
.
selectTagPrintData
(
$scope
.
idCard
,
function
(
data
){
$scope
.
tagPrintData
=
data
;
console
.
log
(
$scope
.
tagPrintData
)
if
(
!
data
){
MessageService
.
showAlert
(
"生成交接单成功"
)
}
getPoliceListDataNotChecked
();
})
}
...
...
src/main/resources/static/views/task/task.js
View file @
237eef92
...
...
@@ -17,9 +17,9 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
controller
:
'taskListPreLocatingCtrl'
,
cache
:
false
});
$routeProvider
.
when
(
'/taskList
Cut
ting'
,
{
templateUrl
:
'views/task/taskList
Cut
ting.html'
+
urlTimeStamp
(),
controller
:
'taskList
PreLoca
tingCtrl'
,
$routeProvider
.
when
(
'/taskList
Ewri
ting'
,
{
templateUrl
:
'views/task/taskList
Ewri
ting.html'
+
urlTimeStamp
(),
controller
:
'taskList
Ewri
tingCtrl'
,
cache
:
false
});
$routeProvider
.
when
(
'/taskListSorting'
,
{
...
...
@@ -86,7 +86,7 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
if
(
action
===
'remove'
&&
$scope
.
selected
.
indexOf
(
task
)
!==
-
1
)
$scope
.
selected
.
splice
(
$scope
.
selected
.
indexOf
(
task
),
1
);
};
//更新某一列数据的选择
$scope
.
updateSelection
=
function
(
$event
,
task
,
typeCode
)
{
$scope
.
updateSelection
=
function
(
$event
,
task
)
{
var
checkbox
=
$event
.
target
;
var
action
=
(
checkbox
.
checked
?
'add'
:
'remove'
);
updateSelected
(
action
,
task
);
...
...
@@ -103,13 +103,18 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
};
//全选操作
$scope
.
selectAll
=
function
(
task
,
typeCode
,
$event
)
{
$scope
.
selectAll
=
function
(
task
,
$event
)
{
var
checkbox
=
$event
.
target
;
var
action
=
(
checkbox
.
checked
?
'add'
:
'remove'
);
console
.
log
(
task
)
for
(
var
i
=
0
;
i
<
task
.
length
;
i
++
)
{
if
(
task
[
i
].
faileCount
==
0
){
var
contact
=
task
[
i
];
updateSelected
(
action
,
contact
);
}
else
{
continue
;
}
}
$rootScope
.
cardsTotal
=
0
;
...
...
@@ -265,17 +270,6 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
var
checkbox
=
$event
.
target
;
var
action
=
(
checkbox
.
checked
?
'add'
:
'remove'
);
updateSelected
(
action
,
task
);
var
sum
=
0
;
var
checks
=
document
.
getElementsByClassName
(
"checkOneBox"
);
for
(
var
i
=
0
;
i
<
checks
.
length
;
i
++
){
if
(
checks
[
i
].
checked
)
{
sum
+=
parseInt
(
checks
[
i
].
value
);
}
}
$rootScope
.
cardsTotal
=
$rootScope
.
cardsTotal
+
sum
-
temp
;
temp
=
sum
;
};
//全选操作
$scope
.
selectAll
=
function
(
task
,
$event
)
{
...
...
@@ -285,21 +279,6 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
var
contact
=
task
[
i
];
updateSelected
(
action
,
contact
);
}
if
(
checkbox
.
checked
){
var
sum
=
0
;
var
checks
=
document
.
getElementsByClassName
(
"checkOneBox"
);
for
(
var
i
=
0
;
i
<
checks
.
length
;
i
++
)
{
sum
+=
parseInt
(
checks
[
i
].
value
);
}
$rootScope
.
cardsTotal
=
$rootScope
.
cardsTotal
+
sum
-
temp
;
temp
=
sum
;
}
else
{
$rootScope
.
cardsTotal
=
0
;
temp
=
0
;
}
};
$scope
.
isSelected
=
function
(
task
)
{
return
$scope
.
selected
.
indexOf
(
task
)
>=
0
;
...
...
@@ -380,6 +359,149 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
}
})
.
controller
(
'taskListEwritingCtrl'
,
function
(
$scope
,
$rootScope
,
$timeout
,
HttpService
,
ngDialog
,
MessageService
,
$filter
)
{
//Date picker
$
(
'#datepicker'
).
datetimepicker
({
minView
:
"month"
,
//选择日期后,不会再跳转去选择时分秒
language
:
'zh-CN'
,
format
:
'yyyy-mm-dd'
,
todayBtn
:
1
,
autoclose
:
1
});
$scope
.
choseDate
=
$filter
(
"date"
)(
new
Date
(),
"yyyy-MM-dd"
);
$scope
.
isHistory
=
0
;
$scope
.
searchTaskList
=
function
(){
$scope
.
isHistory
=
0
;
HttpService
.
getFjTaskListByProcess
(
function
(
data
){
$scope
.
cycleSheetData
=
data
;
for
(
var
i
=
0
;
i
<
$scope
.
cycleSheetData
.
length
;
i
++
){
if
(
i
==
$scope
.
currentTab
){
$scope
.
cycleSheetData
[
i
].
isActive
=
true
;
}
else
{
$scope
.
cycleSheetData
[
i
].
isActive
=
false
;
}
}
console
.
log
(
$scope
.
cycleSheetData
)
})
}
$scope
.
searchTaskList
();
$scope
.
searchHistory
=
function
(){
$scope
.
isHistory
=
1
;
HttpService
.
getHistoryTask
(
$
(
'#datepicker'
).
val
(),
function
(
data
){
$scope
.
cycleSheetData
=
data
;
for
(
var
i
=
0
;
i
<
$scope
.
cycleSheetData
.
length
;
i
++
){
if
(
i
==
$scope
.
currentTab
){
$scope
.
cycleSheetData
[
i
].
isActive
=
true
;
}
else
{
$scope
.
cycleSheetData
[
i
].
isActive
=
false
;
}
}
console
.
log
(
"历史:"
,
$scope
.
cycleSheetData
)
})
}
//创建变量用来保存选中结果
$scope
.
selected
=
[];
var
updateSelected
=
function
(
action
,
task
)
{
if
(
action
===
'add'
&&
$scope
.
selected
.
indexOf
(
task
)
===
-
1
)
{
$scope
.
selected
.
push
(
task
);
}
if
(
action
===
'remove'
&&
$scope
.
selected
.
indexOf
(
task
)
!==
-
1
)
$scope
.
selected
.
splice
(
$scope
.
selected
.
indexOf
(
task
),
1
);
};
//更新某一列数据的选择
$rootScope
.
cardsTotal
=
0
;
$scope
.
updateSelection
=
function
(
$event
,
task
)
{
var
checkbox
=
$event
.
target
;
var
action
=
(
checkbox
.
checked
?
'add'
:
'remove'
);
updateSelected
(
action
,
task
);
};
//全选操作
$scope
.
selectAll
=
function
(
task
,
$event
)
{
var
checkbox
=
$event
.
target
;
var
action
=
(
checkbox
.
checked
?
'add'
:
'remove'
);
for
(
var
i
=
0
;
i
<
task
.
length
;
i
++
)
{
var
contact
=
task
[
i
];
updateSelected
(
action
,
contact
);
}
};
$scope
.
isSelected
=
function
(
task
)
{
return
$scope
.
selected
.
indexOf
(
task
)
>=
0
;
};
$scope
.
taskId
=
1
;
$scope
.
getPoliceList
=
function
(
policeList
,
taskId
){
$scope
.
policeList
=
policeList
;
if
(
$scope
.
taskId
==
1
){
$scope
.
taskId
=
taskId
;
}
else
{
$scope
.
taskId
=
1
}
console
.
log
(
policeList
)
}
$scope
.
currentTab
=
0
;
$scope
.
func
=
function
(
index
)
{
for
(
var
idx
in
$scope
.
cycleSheetData
)
{
if
(
index
==
idx
)
{
$scope
.
cycleSheetData
[
idx
].
isActive
=
true
;
}
else
{
$scope
.
cycleSheetData
[
idx
].
isActive
=
false
;
}
}
$scope
.
currentTab
=
index
;
}
$scope
.
getSpecialCardsInfo
=
function
(
groupNo
,
specialCardCount
){
if
(
parseInt
(
specialCardCount
)
>
0
){
ngDialog
.
open
({
template
:
'dialogs/specailCardInfo.html'
+
urlTimeStamp
(),
width
:
600
,
cache
:
false
,
closeByDocument
:
false
,
controller
:
[
'$scope'
,
function
(
$scope
)
{
HttpService
.
getSpecialCardData
(
groupNo
,
function
(
data
)
{
$scope
.
specailCardData
=
data
;
console
.
log
(
data
)
})
}]
});
}
else
{
MessageService
.
showAlert
(
"该组中没有特殊证件"
)
}
}
$scope
.
goes
=
function
(){
var
checks
=
$
(
".checkOneBox:checked"
);
if
(
checks
.
length
>
0
){
var
arr
=
[];
for
(
var
i
=
0
;
i
<
checks
.
length
;
i
++
){
if
(
!
checks
[
i
].
disabled
){
arr
.
push
(
checks
[
i
].
value
)
}
else
{
continue
;
}
}
var
json
=
{
process
:
$rootScope
.
loginData
.
roleList
[
0
].
process
,
name
:
$rootScope
.
loginData
.
name
,
taskIdList
:
arr
}
console
.
log
(
json
)
HttpService
.
updateTaskListProcess
(
json
,
function
(
data
){
$scope
.
searchTaskList
();
MessageService
.
showAlert
(
"转出完成"
)
})
}
else
{
MessageService
.
showAlert
(
"请选择转出的任务单"
);
}
}
})
.
controller
(
'taskListSortingCtrl'
,
function
(
$scope
,
$rootScope
,
$timeout
,
HttpService
,
ngDialog
,
MessageService
,
$filter
)
{
//Date picker
...
...
src/main/resources/static/views/task/taskList
Cut
ting.html
→
src/main/resources/static/views/task/taskList
Ewri
ting.html
View file @
237eef92
...
...
@@ -44,6 +44,7 @@
<th>
组号
</th>
<th>
核验数量
</th>
<th>
证件数量
</th>
<th>
电写入数量
</th>
<th>
特殊证件数量
</th>
<th>
废证数量
</th>
<th></th>
...
...
@@ -51,15 +52,16 @@
</thead>
<tbody
ng-repeat=
"task in type.countyList"
>
<tr>
<td
><input
type=
"checkbox"
ng-disabled=
"task.faileCount>0"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
ng-if=
"task.faileCount==0"
><input
type=
"checkbox"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
class=
"mailbox-star"
><b>
{{task.taskId}}
</b></td>
<td
class=
"mailbox-subject"
>
{{task.saveDate
| date:'yyyy-MM-dd'}}
</td>
<td
class=
"mailbox-subject"
>
{{task.saveDate| date:'yyyy-MM-dd'}}
</td>
<td
class=
"mailbox-subject"
><a>
{{task.countyName}}
</a></td>
<td
class=
"mailbox-subject"
>
{{task.groupList.length}}
</td>
<td
class=
"mailbox-subject"
>
{{task.groupNum}}
</td>
<td
class=
"mailbox-subject"
></td>
<td
class=
"mailbox-subject"
>
{{task.countyValidCount}}
</td>
<td
class=
"mailbox-subject"
>
{{task.countyValidCount-task.specialCount}}
</td>
<td
class=
"mailbox-attachment"
>
{{task.specialCount}}
</td>
<td
class=
"mailbox-subject"
>
{{task.task.countyValidCount-task.specialCount}}
</td>
<td
class=
"mailbox-subject"
>
{{task.eWriteCount}}
</td>
<td
class=
"mailbox-subject"
>
{{task.specialCount}}
</td>
<td
ng-if=
"task.faileCount!=0"
class=
"mailbox-subject"
style=
"color: red;"
>
{{task.faileCount}}
</td>
<td
ng-if=
"task.faileCount==0"
class=
"mailbox-subject"
>
{{task.faileCount}}
</td>
<td
class=
"mailbox-date"
><a
ng-click=
"getPoliceList(task.groupList,task.taskId)"
>
组号列表
</a></td>
...
...
@@ -70,8 +72,10 @@
<table
class=
"table"
>
<thead>
<th>
组号
</th>
<th>
派出所名称
</th>
<th>
核验数量
</th>
<th>
证件数量
</th>
<th>
电写入数量
</th>
<th>
特殊证件数量
</th>
<th>
废证数量
</th>
<th></th>
...
...
@@ -79,8 +83,10 @@
<tbody>
<tr
ng-repeat=
"item in policeList"
>
<td>
{{item.GROUP_NO}}
</td>
<td>
{{item.GAJG_MC}}
</td>
<td>
{{item.VALID_COUNT}}
</td>
<td>
{{item.VALID_COUNT-item.SPECIAL_CARD_COUNT}}
</td>
<td>
{{item.E_WRITER_COUNT}}
</td>
<td>
{{item.SPECIAL_CARD_COUNT}}
</td>
<td>
{{item.FAILECOUNT}}
</td>
<td><a
ng-click=
"getSpecialCardsInfo(item.GROUP_NO,item.SPECIAL_CARD_COUNT)"
>
特殊证件详情
</a></td>
...
...
src/main/resources/static/views/task/taskListPreLocating.html
View file @
237eef92
...
...
@@ -51,7 +51,7 @@
</thead>
<tbody
ng-repeat=
"task in type.countyList"
>
<tr>
<td
><input
type=
"checkbox"
ng-disabled=
"task.faileCount>0
"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
ng-if=
"task.faileCount==0"
><input
type=
"checkbox
"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
class=
"mailbox-star"
><b>
{{task.taskId}}
</b></td>
<td
class=
"mailbox-subject"
>
{{task.saveDate | date:'yyyy-MM-dd'}}
</td>
<td
class=
"mailbox-subject"
><a>
{{task.countyName}}
</a></td>
...
...
src/main/resources/static/views/task/taskListPrint.html
View file @
237eef92
...
...
@@ -52,7 +52,7 @@
</thead>
<tbody
ng-repeat=
"task in type.countyList"
>
<tr>
<td
><input
type=
"checkbox"
ng-disabled=
"task.faileCount>0"
id=
"checkOneBox"
class=
"checkOneBox{{type.typeCode}}"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
name=
"{{task.countyValidCount-task.specialCount}}"
ng-click=
"updateSelection($event,task,type.typeCode
)"
></td>
<td
ng-if=
"task.faileCount==0"
><input
type=
"checkbox"
id=
"checkOneBox"
class=
"checkOneBox{{type.typeCode}}"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
name=
"{{task.countyValidCount-task.specialCount}}"
ng-click=
"updateSelection($event,task
)"
></td>
<td
class=
"mailbox-star"
><b>
{{task.taskId}}
</b></td>
<td
class=
"mailbox-subject"
>
{{task.saveDate | date:'yyyy-MM-dd'}}
</td>
<td
class=
"mailbox-subject"
><a>
{{task.countyName}}
</a></td>
...
...
src/main/resources/static/views/task/taskListPushing.html
View file @
237eef92
...
...
@@ -51,7 +51,7 @@
</thead>
<tbody
ng-repeat=
"task in type.countyList"
>
<tr>
<td
><input
type=
"checkbox"
ng-disabled=
"task.faileCount>0"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
ng-if=
"task.faileCount==0"
><input
type=
"checkbox"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
class=
"mailbox-star"
><b>
{{task.taskId}}
</b></td>
<td
class=
"mailbox-subject"
>
{{task.saveDate | date:'yyyy-MM-dd'}}
</td>
<td
class=
"mailbox-subject"
><a>
{{task.countyName}}
</a></td>
...
...
src/main/resources/static/views/task/taskListSorting.html
View file @
237eef92
...
...
@@ -49,7 +49,7 @@
</thead>
<tbody
ng-repeat=
"task in type.countyList"
>
<tr>
<td
><input
type=
"checkbox"
ng-disabled=
"task.faileCount>0"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
ng-if=
"task.faileCount==0"
><input
type=
"checkbox"
class=
"checkOneBox"
ng-checked=
"isSelected(task)"
value=
"{{task.taskId}}"
ng-click=
"updateSelection($event,task)"
></td>
<td
class=
"mailbox-star"
><b>
{{task.taskId}}
</b></td>
<td
class=
"mailbox-subject"
>
{{task.saveDate| date:'yyyy-MM-dd'}}
</td>
<td
class=
"mailbox-subject"
><a>
{{task.countyName}}
</a></td>
...
...
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