Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Codecrew
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
30
Merge Requests
2
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 6669484c
authored
Mar 05, 2014
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix user shopping
1 parent
04b71352
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
47 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/ReaderBean.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/ProductFacade.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/ReaderBean.java
View file @
6669484
...
...
@@ -19,7 +19,6 @@ import fi.codecrew.moya.facade.ReaderEventFacade;
import
fi.codecrew.moya.facade.ReaderFacade
;
import
fi.codecrew.moya.model.AccountEvent
;
import
fi.codecrew.moya.model.CardCode
;
import
fi.codecrew.moya.model.CardTemplate
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Place
;
import
fi.codecrew.moya.model.PrintedCard
;
...
...
@@ -39,11 +38,9 @@ public class ReaderBean implements ReaderBeanLocal {
@EJB
private
ReaderFacade
readerfacade
;
@EJB
private
PrintedCardFacade
cardfacade
;
@EJB
private
CardTemplateBeanLocal
cardtemplatebean
;
@EJB
...
...
@@ -60,8 +57,6 @@ public class ReaderBean implements ReaderBeanLocal {
@EJB
private
CardCodeFacade
cardCodeFacade
;
@EJB
private
BarcodeBeanLocal
barcodeBean
;
...
...
@@ -79,11 +74,14 @@ public class ReaderBean implements ReaderBeanLocal {
*/
public
ReaderEvent
checkCode
(
Reader
reader
,
String
code
)
{
if
(
reader
==
null
||
code
==
null
||
code
.
isEmpty
())
{
return
null
;
}
logger
.
info
(
"got code from reader {}"
,
code
);
code
=
code
.
replace
(
"\"\b"
,
""
);
if
(
reader
.
getType
()
==
ReaderType
.
RFID
)
{
if
(
ReaderType
.
RFID
.
equals
(
reader
.
getType
())
)
{
if
(
Pattern
.
matches
(
"^.*000000$"
,
code
))
{
...
...
@@ -97,18 +95,19 @@ public class ReaderBean implements ReaderBeanLocal {
code
=
sb
.
toString
();
}
ReaderEvent
event
=
new
ReaderEvent
(
new
Date
(),
reader
,
code
);
// first, check if dublicate, there is 30s timeout for dublicates, afther that it's ok to create dublicate
// that's bcause accident dublicates are bad, but otherwise it's probably bcause user want's to read it again
// first, check if dublicate, there is 30s timeout for dublicates,
// afther that it's ok to create dublicate
// that's bcause accident dublicates are bad, but otherwise it's
// probably bcause user want's to read it again
List
<
ReaderEvent
>
lastevents
=
readerEventFacade
.
findLastEvents
(
reader
,
1
);
if
(!
lastevents
.
isEmpty
()
&&
!
reader
.
isAutoproduct
())
{
ReaderEvent
lastevent
=
lastevents
.
get
(
0
);
if
(
lastevent
.
getValue
()
==
event
.
getValue
()
&&
(
lastevent
.
getUpdatetime
().
getTime
()
+
60000
l
)
>
event
.
getTime
().
getTime
())
{
if
(
lastevent
.
getValue
()
==
event
.
getValue
()
&&
(
lastevent
.
getUpdatetime
().
getTime
()
+
60000
l
)
>
event
.
getTime
().
getTime
())
{
lastevent
=
readerEventFacade
.
reload
(
lastevent
);
lastevent
=
readerEventFacade
.
merge
(
lastevent
);
...
...
@@ -117,44 +116,41 @@ public class ReaderBean implements ReaderBeanLocal {
}
}
// find stuff with barcode and set type
// IF we find 2 stuff with same barcode, it's just bad luck and things may be little random.
// IF we find 2 stuff with same barcode, it's just bad luck and things
// may be little random.
EventUser
user
=
barcodeBean
.
getUser
(
code
);
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
event
.
setType
(
ReaderEventType
.
USER
);
event
.
setUser
(
user
);
}
PrintedCard
card
=
barcodeBean
.
getPrintedCard
(
code
);
if
(
card
!=
null
)
{
if
(
card
!=
null
)
{
event
.
setType
(
ReaderEventType
.
CARD
);
event
.
setPrintedCard
(
card
);
if
(
card
.
getUser
()
!=
null
)
{
if
(
card
.
getUser
()
!=
null
)
{
event
.
setUser
(
card
.
getUser
());
}
}
Product
product
=
barcodeBean
.
getProduct
(
code
);
if
(
product
!=
null
)
{
if
(
product
!=
null
)
{
event
.
setType
(
ReaderEventType
.
PRODUCT
);
event
.
setProduct
(
product
);
}
Place
place
=
barcodeBean
.
getPlaceFromBarcode
(
code
);
if
(
place
!=
null
)
{
if
(
place
!=
null
)
{
event
.
setType
(
ReaderEventType
.
PLACE
);
event
.
setPlace
(
place
);
}
event
.
setUpdatetime
(
new
Date
());
// reader is in autoproduct-mode, create dat product
...
...
@@ -173,7 +169,6 @@ public class ReaderBean implements ReaderBeanLocal {
}
@Override
public
ReaderEvent
assocCodeToCard
(
ReaderEvent
readerEvent
,
PrintedCard
card
)
{
...
...
@@ -236,33 +231,24 @@ public class ReaderBean implements ReaderBeanLocal {
return
ret
;
}
// ok, let's comment this out, so I can see where this is used
/*
@Override
public ReaderEvent createCard(ReaderEvent event, EventUser user) {
ReaderEvent ret = null;
logger.info("Trying to create card for event {} with printed card {}", event, event.getPrintedCard());
if (event.getPrintedCard() == null)
{
CardTemplate ct = cardTemplateBean.getUsersCardtype(user);
logger.info("Card template {}", ct);
if (ct == null)
{
return null;
}
PrintedCard card = new PrintedCard(user, ct, null, true);
card.setRfidUid(event.getValue());
cardfacade.create(card);
ret = new ReaderEvent(Calendar.getInstance(), card, event.getReader());
card.getReaderEvents().add(event);
ret.setNotes("User associated to a card");
}
return ret;
}
* @Override public ReaderEvent createCard(ReaderEvent event, EventUser
* user) { ReaderEvent ret = null;
* logger.info("Trying to create card for event {} with printed card {}",
* event, event.getPrintedCard());
*
* if (event.getPrintedCard() == null) { CardTemplate ct =
* cardTemplateBean.getUsersCardtype(user); logger.info("Card template {}",
* ct); if (ct == null) { return null; } PrintedCard card = new
* PrintedCard(user, ct, null, true); card.setRfidUid(event.getValue());
* cardfacade.create(card);
*
* ret = new ReaderEvent(Calendar.getInstance(), card, event.getReader());
* card.getReaderEvents().add(event);
* ret.setNotes("User associated to a card");
*
* } return ret; }
*/
@Override
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/ProductFacade.java
View file @
6669484
...
...
@@ -11,10 +11,10 @@ import javax.persistence.criteria.CriteriaBuilder;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Root
;
import
fi.codecrew.moya.model.Product_
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.model.Product
;
import
fi.codecrew.moya.model.ProductFlag
;
import
fi.codecrew.moya.model.Product_
;
@Stateless
@LocalBean
...
...
@@ -72,6 +72,7 @@ public class ProductFacade extends IntegerPkGenericFacade<Product> {
Root
<
Product
>
root
=
cq
.
from
(
Product
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
Product_
.
event
),
eventbean
.
getCurrentEvent
()),
cb
.
equal
(
root
.
get
(
Product_
.
barcode
),
barcode
)
);
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment