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;
...
@@ -19,7 +19,6 @@ import fi.codecrew.moya.facade.ReaderEventFacade;
import
fi.codecrew.moya.facade.ReaderFacade
;
import
fi.codecrew.moya.facade.ReaderFacade
;
import
fi.codecrew.moya.model.AccountEvent
;
import
fi.codecrew.moya.model.AccountEvent
;
import
fi.codecrew.moya.model.CardCode
;
import
fi.codecrew.moya.model.CardCode
;
import
fi.codecrew.moya.model.CardTemplate
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Place
;
import
fi.codecrew.moya.model.Place
;
import
fi.codecrew.moya.model.PrintedCard
;
import
fi.codecrew.moya.model.PrintedCard
;
...
@@ -39,11 +38,9 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -39,11 +38,9 @@ public class ReaderBean implements ReaderBeanLocal {
@EJB
@EJB
private
ReaderFacade
readerfacade
;
private
ReaderFacade
readerfacade
;
@EJB
@EJB
private
PrintedCardFacade
cardfacade
;
private
PrintedCardFacade
cardfacade
;
@EJB
@EJB
private
CardTemplateBeanLocal
cardtemplatebean
;
private
CardTemplateBeanLocal
cardtemplatebean
;
@EJB
@EJB
...
@@ -60,8 +57,6 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -60,8 +57,6 @@ public class ReaderBean implements ReaderBeanLocal {
@EJB
@EJB
private
CardCodeFacade
cardCodeFacade
;
private
CardCodeFacade
cardCodeFacade
;
@EJB
@EJB
private
BarcodeBeanLocal
barcodeBean
;
private
BarcodeBeanLocal
barcodeBean
;
...
@@ -79,11 +74,14 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -79,11 +74,14 @@ public class ReaderBean implements ReaderBeanLocal {
*/
*/
public
ReaderEvent
checkCode
(
Reader
reader
,
String
code
)
{
public
ReaderEvent
checkCode
(
Reader
reader
,
String
code
)
{
if
(
reader
==
null
||
code
==
null
||
code
.
isEmpty
())
{
return
null
;
}
logger
.
info
(
"got code from reader {}"
,
code
);
logger
.
info
(
"got code from reader {}"
,
code
);
code
=
code
.
replace
(
"\"\b"
,
""
);
code
=
code
.
replace
(
"\"\b"
,
""
);
if
(
reader
.
getType
()
==
ReaderType
.
RFID
)
{
if
(
ReaderType
.
RFID
.
equals
(
reader
.
getType
())
)
{
if
(
Pattern
.
matches
(
"^.*000000$"
,
code
))
if
(
Pattern
.
matches
(
"^.*000000$"
,
code
))
{
{
...
@@ -97,18 +95,19 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -97,18 +95,19 @@ public class ReaderBean implements ReaderBeanLocal {
code
=
sb
.
toString
();
code
=
sb
.
toString
();
}
}
ReaderEvent
event
=
new
ReaderEvent
(
new
Date
(),
reader
,
code
);
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
// first, check if dublicate, there is 30s timeout for dublicates,
// that's bcause accident dublicates are bad, but otherwise it's probably bcause user want's to read it again
// 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
);
List
<
ReaderEvent
>
lastevents
=
readerEventFacade
.
findLastEvents
(
reader
,
1
);
if
(!
lastevents
.
isEmpty
()
&&
!
reader
.
isAutoproduct
())
if
(!
lastevents
.
isEmpty
()
&&
!
reader
.
isAutoproduct
())
{
{
ReaderEvent
lastevent
=
lastevents
.
get
(
0
);
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
.
reload
(
lastevent
);
lastevent
=
readerEventFacade
.
merge
(
lastevent
);
lastevent
=
readerEventFacade
.
merge
(
lastevent
);
...
@@ -117,44 +116,41 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -117,44 +116,41 @@ public class ReaderBean implements ReaderBeanLocal {
}
}
}
}
// find stuff with barcode and set type
// 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
);
EventUser
user
=
barcodeBean
.
getUser
(
code
);
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
event
.
setType
(
ReaderEventType
.
USER
);
event
.
setType
(
ReaderEventType
.
USER
);
event
.
setUser
(
user
);
event
.
setUser
(
user
);
}
}
PrintedCard
card
=
barcodeBean
.
getPrintedCard
(
code
);
PrintedCard
card
=
barcodeBean
.
getPrintedCard
(
code
);
if
(
card
!=
null
)
{
if
(
card
!=
null
)
{
event
.
setType
(
ReaderEventType
.
CARD
);
event
.
setType
(
ReaderEventType
.
CARD
);
event
.
setPrintedCard
(
card
);
event
.
setPrintedCard
(
card
);
if
(
card
.
getUser
()
!=
null
)
{
if
(
card
.
getUser
()
!=
null
)
{
event
.
setUser
(
card
.
getUser
());
event
.
setUser
(
card
.
getUser
());
}
}
}
}
Product
product
=
barcodeBean
.
getProduct
(
code
);
Product
product
=
barcodeBean
.
getProduct
(
code
);
if
(
product
!=
null
)
{
if
(
product
!=
null
)
{
event
.
setType
(
ReaderEventType
.
PRODUCT
);
event
.
setType
(
ReaderEventType
.
PRODUCT
);
event
.
setProduct
(
product
);
event
.
setProduct
(
product
);
}
}
Place
place
=
barcodeBean
.
getPlaceFromBarcode
(
code
);
Place
place
=
barcodeBean
.
getPlaceFromBarcode
(
code
);
if
(
place
!=
null
)
{
if
(
place
!=
null
)
{
event
.
setType
(
ReaderEventType
.
PLACE
);
event
.
setType
(
ReaderEventType
.
PLACE
);
event
.
setPlace
(
place
);
event
.
setPlace
(
place
);
}
}
event
.
setUpdatetime
(
new
Date
());
event
.
setUpdatetime
(
new
Date
());
// reader is in autoproduct-mode, create dat product
// reader is in autoproduct-mode, create dat product
...
@@ -173,7 +169,6 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -173,7 +169,6 @@ public class ReaderBean implements ReaderBeanLocal {
}
}
@Override
@Override
public
ReaderEvent
assocCodeToCard
(
ReaderEvent
readerEvent
,
PrintedCard
card
)
{
public
ReaderEvent
assocCodeToCard
(
ReaderEvent
readerEvent
,
PrintedCard
card
)
{
...
@@ -236,33 +231,24 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -236,33 +231,24 @@ public class ReaderBean implements ReaderBeanLocal {
return
ret
;
return
ret
;
}
}
// ok, let's comment this out, so I can see where this is used
// ok, let's comment this out, so I can see where this is used
/*
/*
@Override
* @Override public ReaderEvent createCard(ReaderEvent event, EventUser
public ReaderEvent createCard(ReaderEvent event, EventUser user) {
* user) { ReaderEvent ret = null;
ReaderEvent ret = null;
* logger.info("Trying to create card for event {} with printed card {}",
logger.info("Trying to create card for event {} with printed card {}", event, event.getPrintedCard());
* event, event.getPrintedCard());
*
if (event.getPrintedCard() == null)
* if (event.getPrintedCard() == null) { CardTemplate ct =
{
* cardTemplateBean.getUsersCardtype(user); logger.info("Card template {}",
CardTemplate ct = cardTemplateBean.getUsersCardtype(user);
* ct); if (ct == null) { return null; } PrintedCard card = new
logger.info("Card template {}", ct);
* PrintedCard(user, ct, null, true); card.setRfidUid(event.getValue());
if (ct == null)
* cardfacade.create(card);
{
*
return null;
* ret = new ReaderEvent(Calendar.getInstance(), card, event.getReader());
}
* card.getReaderEvents().add(event);
PrintedCard card = new PrintedCard(user, ct, null, true);
* ret.setNotes("User associated to a card");
card.setRfidUid(event.getValue());
*
cardfacade.create(card);
* } return ret; }
ret = new ReaderEvent(Calendar.getInstance(), card, event.getReader());
card.getReaderEvents().add(event);
ret.setNotes("User associated to a card");
}
return ret;
}
*/
*/
@Override
@Override
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/ProductFacade.java
View file @
6669484
...
@@ -11,10 +11,10 @@ import javax.persistence.criteria.CriteriaBuilder;
...
@@ -11,10 +11,10 @@ import javax.persistence.criteria.CriteriaBuilder;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.criteria.Root
;
import
fi.codecrew.moya.model.Product_
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.model.Product
;
import
fi.codecrew.moya.model.Product
;
import
fi.codecrew.moya.model.ProductFlag
;
import
fi.codecrew.moya.model.ProductFlag
;
import
fi.codecrew.moya.model.Product_
;
@Stateless
@Stateless
@LocalBean
@LocalBean
...
@@ -72,6 +72,7 @@ public class ProductFacade extends IntegerPkGenericFacade<Product> {
...
@@ -72,6 +72,7 @@ public class ProductFacade extends IntegerPkGenericFacade<Product> {
Root
<
Product
>
root
=
cq
.
from
(
Product
.
class
);
Root
<
Product
>
root
=
cq
.
from
(
Product
.
class
);
cq
.
where
(
cq
.
where
(
cb
.
equal
(
root
.
get
(
Product_
.
event
),
eventbean
.
getCurrentEvent
()),
cb
.
equal
(
root
.
get
(
Product_
.
barcode
),
barcode
)
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