diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java index 65864cd..130b873 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java @@ -54,7 +54,7 @@ pgPatrol.setBeginTime(sdf.parse(beginTime)); pgPatrol.setTimeLimt(timeLimt); pgPatrol.setDescribe(describe); - pgPatrol.setActive("1"); + pgPatrol.setActive(1); pgPatrolManager.save(pgPatrol); result = "true"; diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java index 65864cd..130b873 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java @@ -54,7 +54,7 @@ pgPatrol.setBeginTime(sdf.parse(beginTime)); pgPatrol.setTimeLimt(timeLimt); pgPatrol.setDescribe(describe); - pgPatrol.setActive("1"); + pgPatrol.setActive(1); pgPatrolManager.save(pgPatrol); result = "true"; diff --git "a/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..bd72cb4 --- /dev/null +++ "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java index 65864cd..130b873 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java @@ -54,7 +54,7 @@ pgPatrol.setBeginTime(sdf.parse(beginTime)); pgPatrol.setTimeLimt(timeLimt); pgPatrol.setDescribe(describe); - pgPatrol.setActive("1"); + pgPatrol.setActive(1); pgPatrolManager.save(pgPatrol); result = "true"; diff --git "a/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..bd72cb4 --- /dev/null +++ "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git "a/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..f74afc7 --- /dev/null +++ "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java index 65864cd..130b873 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java @@ -54,7 +54,7 @@ pgPatrol.setBeginTime(sdf.parse(beginTime)); pgPatrol.setTimeLimt(timeLimt); pgPatrol.setDescribe(describe); - pgPatrol.setActive("1"); + pgPatrol.setActive(1); pgPatrolManager.save(pgPatrol); result = "true"; diff --git "a/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..bd72cb4 --- /dev/null +++ "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git "a/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..f74afc7 --- /dev/null +++ "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git a/~WRL1033.tmp b/~WRL1033.tmp new file mode 100644 index 0000000..d213a94 --- /dev/null +++ b/~WRL1033.tmp Binary files differ diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java index 65864cd..130b873 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java @@ -54,7 +54,7 @@ pgPatrol.setBeginTime(sdf.parse(beginTime)); pgPatrol.setTimeLimt(timeLimt); pgPatrol.setDescribe(describe); - pgPatrol.setActive("1"); + pgPatrol.setActive(1); pgPatrolManager.save(pgPatrol); result = "true"; diff --git "a/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..bd72cb4 --- /dev/null +++ "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git "a/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..f74afc7 --- /dev/null +++ "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git a/~WRL1033.tmp b/~WRL1033.tmp new file mode 100644 index 0000000..d213a94 --- /dev/null +++ b/~WRL1033.tmp Binary files differ diff --git "a/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" index 64ea030..2d3565a 100644 --- "a/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" +++ "b/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 6b88684..25defaf 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,23 +2,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -61,29 +60,19 @@ @@ -205,6 +204,7 @@ + @@ -273,6 +273,28 @@ + + + + + + + + + + @@ -475,7 +497,6 @@ - @@ -890,7 +911,9 @@ - + + + 1510219102698 @@ -964,11 +987,15 @@ 1522312453288 1522312453288 - - @@ -996,36 +1023,36 @@ - + + + + + + + + - - - - - - - - - - - - - + + - + + + + + @@ -1064,11 +1091,20 @@ - - @@ -1076,77 +1112,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1162,10 +1131,6 @@ - - - - @@ -1173,22 +1138,6 @@ - - - - - - - - - - - - - - - - @@ -1196,10 +1145,6 @@ - - - - @@ -1207,24 +1152,6 @@ - - - - - - - - - - - - - - - - - - @@ -1232,7 +1159,6 @@ - @@ -1240,7 +1166,6 @@ - @@ -1248,27 +1173,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1284,9 +1188,6 @@ - - - @@ -1302,9 +1203,6 @@ - - - @@ -1312,13 +1210,6 @@ - - - - - - - @@ -1326,37 +1217,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1364,21 +1224,6 @@ - - - - - - - - - - - - - - - @@ -1396,35 +1241,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,9 +1253,6 @@ - - - @@ -1447,21 +1260,6 @@ - - - - - - - - - - - - - - - @@ -1469,9 +1267,6 @@ - - - @@ -1479,7 +1274,6 @@ - @@ -1487,23 +1281,6 @@ - - - - - - - - - - - - - - - - - @@ -1511,7 +1288,6 @@ - @@ -1519,7 +1295,6 @@ - @@ -1527,9 +1302,6 @@ - - - @@ -1537,10 +1309,6 @@ - - - - @@ -1548,18 +1316,6 @@ - - - - - - - - - - - - @@ -1567,13 +1323,6 @@ - - - - - - - @@ -1581,22 +1330,231 @@ - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java index 91219f8..6264274 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgPerson.java @@ -2,7 +2,7 @@ import javax.persistence.*; import java.io.Serializable; -import java.util.Date; +import java.util.List; /** * Created by yxw on 2018/3/22. @@ -16,10 +16,9 @@ private long id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private Date inTime;//入廊时间 - private Date outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 + private String personType;//人员类别:临时人员、工作人员 + private int isInPg;//是否在廊内 + private List pgInPgStatuses; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_PERSON_ID") @@ -49,39 +48,31 @@ this.phoneNumber = phoneNumber; } - @Column(name = "INTIME") - public Date getInTime() { - return inTime; + @Column(name = "PERSONTYPE") + public String getPersonType() { + return personType; } - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - @Column(name = "OUTTIME") - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - @Column(name = "TYPE") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; + public void setPersonType(String personType) { + this.personType = personType; } @Column(name = "ISINPG") - public String getIsInPg() { + public int getIsInPg() { return isInPg; } - public void setIsInPg(String isInPg) { + public void setIsInPg(int isInPg) { this.isInPg = isInPg; } + + @OneToMany(fetch = FetchType.LAZY, mappedBy = "pgInPgPersonId") + public List getPgInPgStatuses() { + return pgInPgStatuses; + } + + public void setPgInPgStatuses(List pgInPgStatuses) { + this.pgInPgStatuses = pgInPgStatuses; + } + } diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java new file mode 100644 index 0000000..6ac1a71 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgInPgStatus.java @@ -0,0 +1,62 @@ +package com.casic.PgInterface.patroler.domain; + +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by yxw on 2018/4/2. + */ +@Entity +@Table(name = "PG_INPG_STATUS") +@SequenceGenerator(name = "SEQ_PG_INPG_STATUS_ID", sequenceName = "SEQ_PG_INPG_STATUS_ID",allocationSize=1,initialValue=1) +public class PgInPgStatus implements Serializable { + + private static final long serialVersionUID = 1L; + private long id; + private Date inTime;//入廊时间 + private Date outTime;//出廊时间 + private PgInPgPerson pgInPgPersonId;//入廊人员 + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PG_INPG_STATUS_ID") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "INTIME") + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + @Column(name = "OUTTIME") + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST}) + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumn(name = "pgInPgPersonId") + public PgInPgPerson getPgInPgPersonId() { + return pgInPgPersonId; + } + + public void setPgInPgPersonId(PgInPgPerson pgInPgPersonId) { + this.pgInPgPersonId = pgInPgPersonId; + } +} diff --git a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java index b68a985..a3c865b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java +++ b/src/main/java/com/casic/PgInterface/patroler/domain/PgUser.java @@ -103,7 +103,7 @@ this.pgRoleId = pgRoleId; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgAlarms() { return pgAlarms; } @@ -112,7 +112,7 @@ this.pgAlarms = pgAlarms; } - @OneToMany(fetch = FetchType.LAZY, mappedBy = "patrolerId") + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userId") public List getPgLogs() { return pgLogs; } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java new file mode 100644 index 0000000..b241650 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgInfoDto.java @@ -0,0 +1,79 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgInfoDto { + private String userName;//入廊人员 + private String phoneNumber;//联系方式 + private String personType;//人员类别 + private String isInPg;//是否在廊内 + private String lastInTime;//最后入廊时间 + private String inPgNum;//入廊次数 + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPersonType() { + return personType; + } + + public void setPersonType(String personType) { + this.personType = personType; + } + + public String getIsInPg() { + return isInPg; + } + + public void setIsInPg(String isInPg) { + this.isInPg = isInPg; + } + + public String getLastInTime() { + return lastInTime; + } + + public void setLastInTime(String lastInTime) { + this.lastInTime = lastInTime; + } + + public String getInPgNum() { + return inPgNum; + } + + public void setInPgNum(String inPgNum) { + this.inPgNum = inPgNum; + } + + public PgInPgInfoDto(PgInPgPerson pgInPgPerson,PgInPgStatus pgInPgStatus,int inPgNum) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setUserName(pgInPgPerson.getUserName()); + this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setLastInTime(sdf.format(pgInPgStatus.getInTime())); + this.setInPgNum(String.valueOf(inPgNum)); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java index bf2a86f..96f6150 100644 --- a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgPersonDto.java @@ -3,7 +3,6 @@ import com.casic.PgInterface.patroler.domain.PgInPgPerson; import java.io.Serializable; -import java.text.SimpleDateFormat; /** * Created by yxw on 2018/3/22. @@ -13,13 +12,8 @@ private String id; private String userName;//入廊人员 private String phoneNumber;//联系方式 - private String inTime;//入廊时间 - private String outTime;//出廊时间 - private String type;//人员类别 - private String isInPg;//是否在廊内 - - private String dt;//日期 - private String inPgNums;//累计入廊次数 + private String personType;//人员类别 + private String isInPg; public String getId() { return id; @@ -45,44 +39,12 @@ this.phoneNumber = phoneNumber; } - public String getInTime() { - return inTime; + public String getPersonType() { + return personType; } - public void setInTime(String inTime) { - this.inTime = inTime; - } - - public String getOutTime() { - return outTime; - } - - public void setOutTime(String outTime) { - this.outTime = outTime; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getInPgNums() { - return inPgNums; - } - - public void setInPgNums(String inPgNums) { - this.inPgNums = inPgNums; - } - - public String getDt() { - return dt; - } - - public void setDt(String dt) { - this.dt = dt; + public void setPersonType(String personType) { + this.personType = personType; } public String getIsInPg() { @@ -94,15 +56,12 @@ } public PgInPgPersonDto(PgInPgPerson pgInPgPerson) { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); this.setId(String.valueOf(pgInPgPerson.getId())); this.setUserName(pgInPgPerson.getUserName()); this.setPhoneNumber(pgInPgPerson.getPhoneNumber()); - this.setType(pgInPgPerson.getType()); - this.setInTime(sdf.format(pgInPgPerson.getInTime())); - this.setOutTime(sdf.format(pgInPgPerson.getOutTime())); - this.setIsInPg(pgInPgPerson.getIsInPg()); + this.setPersonType(pgInPgPerson.getPersonType()); + this.setIsInPg(String.valueOf(pgInPgPerson.getIsInPg())); } } diff --git a/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java new file mode 100644 index 0000000..e842335 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/dto/PgInPgStatusDto.java @@ -0,0 +1,49 @@ +package com.casic.PgInterface.patroler.dto; + +import com.casic.PgInterface.patroler.domain.PgInPgStatus; + +import java.text.SimpleDateFormat; + +/** + * Created by yxw on 2018/4/2. + */ +public class PgInPgStatusDto { + + private String id; + private String inTime;//入廊时间 + private String outTime;//出廊时间 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getInTime() { + return inTime; + } + + public void setInTime(String inTime) { + this.inTime = inTime; + } + + public String getOutTime() { + return outTime; + } + + public void setOutTime(String outTime) { + this.outTime = outTime; + } + + public PgInPgStatusDto(PgInPgStatus pgInPgStatus) + { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + this.setId(String.valueOf(pgInPgStatus.getId())); + this.setInTime(sdf.format(pgInPgStatus.getInTime())); + this.setOutTime(sdf.format(pgInPgStatus.getOutTime())); + } + +} diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java index 0af246c..f282a4b 100644 --- a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgPersonManager.java @@ -1,14 +1,17 @@ package com.casic.PgInterface.patroler.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; -import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,23 +20,18 @@ @Service public class PgInPgPersonManager extends HibernateEntityDao { + private PgInPgStatusManager pgInPgStatusManager; + + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + public PgInPgPerson getPersonByUserName(String userName) { List pgInPgPersonList = null; try { Criteria criteria = createCriteria(PgInPgPerson.class); - if (StringUtils.isNotBlank(userName)) - criteria.add(Restrictions.eq("userName", userName)); -/* - if (StringUtils.isNotBlank(inTime)) { - criteria.add(Restrictions.ge("inTime", DateUtils.sdf_day.parse(inTime))); - } - if (StringUtils.isNotBlank(outTime)) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(DateUtils.sdf_day.parse(outTime)); - calendar.add(Calendar.DATE, 1); - criteria.add(Restrictions.le("inTime", calendar.getTime())); - } -*/ + criteria.add(Restrictions.eq("userName", userName)); criteria.addOrder(Order.desc("id")); pgInPgPersonList = criteria.list(); @@ -46,30 +44,27 @@ } } - public List getPgInPersonListInPg(){ - Criteria criteria=createCriteria(PgInPgPerson.class); - criteria.add(Restrictions.eq("isInPg",1)); + public List getPgInPersonList(int perType) { + + Criteria criteria = createCriteria(PgInPgPerson.class); criteria.addOrder(Order.desc("id")); + if(perType==1) + criteria.add(Restrictions.eq("isInPg",1)); + List pgInPgPersonList = criteria.list(); - List pgInPgPersonList=criteria.list(); - List pgInPgPersonDtoList=criteria.list(); - for(PgInPgPerson pgInPgPerson:pgInPgPersonList) - { - pgInPgPersonDtoList.add(new PgInPgPersonDto(pgInPgPerson)); + List pgInPgInfoDtoList = new ArrayList(); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); + int inPgNum = 0; + for (PgInPgPerson pgInPgPerson : pgInPgPersonList) { + pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + inPgNum = pgInPgStatusManager.getInPgNumByName(pgInPgPerson); + pgInPgInfoDtoList.add(new PgInPgInfoDto(pgInPgPerson, pgInPgStatus, inPgNum)); } - return pgInPgPersonDtoList; + + return pgInPgInfoDtoList; } - public List getPgInPersonList() { - String hql = "select pgInPgPerson.userName,pgInPgPerson.phoneNumber,pgInPgPerson.inTime," + - "pgInPgPerson.outTime,pgInPgPerson.type,count(*) as inPgNums from PgInPgPerson pgInPgPerson " + - "group by pgInPgPerson.userName"; - - List pgInPgPersonDtoList = this.getSession().createSQLQuery(hql).list(); - - return pgInPgPersonDtoList; - } public List getPgInPersonListByTime(String year,String statisticType) { diff --git a/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java new file mode 100644 index 0000000..305d325 --- /dev/null +++ b/src/main/java/com/casic/PgInterface/patroler/manager/PgInPgStatusManager.java @@ -0,0 +1,39 @@ +package com.casic.PgInterface.patroler.manager; + +import com.casic.PgInterface.core.hibernate.HibernateEntityDao; +import com.casic.PgInterface.patroler.domain.PgInPgPerson; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import org.hibernate.Criteria; +import org.hibernate.criterion.Order; +import org.hibernate.criterion.Restrictions; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by yxw on 2018/4/2. + */ +@Service +public class PgInPgStatusManager extends HibernateEntityDao { + + public PgInPgStatus getPgInPgStatusByPerson(PgInPgPerson pgInPgPerson) { + + Criteria criteria=createCriteria(PgInPgStatus.class); + criteria.add(Restrictions.eq("pgInPgPersonId",pgInPgPerson)); + criteria.addOrder(Order.desc("inTime")); + + List pgInPgStatusList=criteria.list(); + if(pgInPgStatusList!=null) + return pgInPgStatusList.get(0); + else + return null; + } + + public int getInPgNumByName(PgInPgPerson pgInPgPerson) { + String hql = "select count(*) from PG_INPG_STATUS where pgInPgPersonId = " + pgInPgPerson.getId(); + + Object object = this.getSession().createQuery(hql).uniqueResult(); + + return (Integer) object; + } +} diff --git a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java index 22d843d..985ba94 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgInPgPersonRs.java @@ -1,10 +1,10 @@ package com.casic.PgInterface.rs; import com.casic.PgInterface.patroler.domain.PgInPgPerson; -import com.casic.PgInterface.patroler.dto.PgInPgPersonDto; +import com.casic.PgInterface.patroler.domain.PgInPgStatus; +import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +23,20 @@ @Path("pgInPerson") public class PgInPgPersonRs { - private static Logger logger = LoggerFactory.getLogger(PgDeviceRs.class); - private PgInPgPersonManager pgInPgPersonManager; + private PgInPgStatusManager pgInPgStatusManager; + @Resource public void setPgInPgPersonManager(PgInPgPersonManager pgInPgPersonManager) { this.pgInPgPersonManager = pgInPgPersonManager; } + @Resource + public void setPgInPgStatusManager(PgInPgStatusManager pgInPgStatusManager) { + this.pgInPgStatusManager = pgInPgStatusManager; + } + /** * 派发工作证(新增入廊记录) */ @@ -42,22 +47,31 @@ @FormParam("phoneNumber") String phoneNumber, @FormParam("inTime") String inTime, @FormParam("outTime") String outTime, - @FormParam("type") String type) throws Exception { + @FormParam("personType") String personType) throws Exception { Map resultMap = new HashMap(); String result = ""; String msg = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { - PgInPgPerson pgInPgPerson = new PgInPgPerson(); - pgInPgPerson.setUserName(userName); - pgInPgPerson.setPhoneNumber(phoneNumber); - pgInPgPerson.setInTime(sdf.parse(inTime)); - pgInPgPerson.setOutTime(sdf.parse(outTime)); - pgInPgPerson.setType(type); + PgInPgStatus pgInPgStatus = new PgInPgStatus(); - pgInPgPersonManager.save(pgInPgPerson); + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) { + pgInPgPerson.setUserName(userName); + pgInPgPerson.setPhoneNumber(phoneNumber); + pgInPgPerson.setPersonType(personType); + pgInPgPerson.setIsInPg(1); + pgInPgPersonManager.save(pgInPgPerson); + pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + } + + pgInPgStatus.setInTime(sdf.parse(inTime)); + pgInPgStatus.setOutTime(sdf.parse(outTime)); + pgInPgStatus.setPgInPgPersonId(pgInPgPerson); + + pgInPgStatusManager.save(pgInPgStatus); result = "true"; msg = "保存成功"; } catch (Exception e) { @@ -80,10 +94,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonList(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(0); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -92,7 +106,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -106,10 +120,10 @@ Map resultMap = new HashMap(); String msg = ""; - List pgInPgPersonDtoList = new ArrayList(); + List pgInPgInfoDtoList = new ArrayList(); try { - pgInPgPersonDtoList = pgInPgPersonManager.getPgInPersonListInPg(); - if (pgInPgPersonDtoList == null || pgInPgPersonDtoList.size() == 0) + pgInPgInfoDtoList = pgInPgPersonManager.getPgInPersonList(1); + if (pgInPgInfoDtoList == null || pgInPgInfoDtoList.size() == 0) msg = "没有找到入廊人员信息"; else msg = "入廊人员信息获取成功"; @@ -118,7 +132,7 @@ msg = "入廊人员信息获取失败"; } resultMap.put("msg", msg); - resultMap.put("result", pgInPgPersonDtoList); + resultMap.put("result", pgInPgInfoDtoList); return resultMap; } @@ -132,7 +146,7 @@ Map resultMap = new HashMap(); String msg = ""; - PgInPgPerson pgInPgPerson=null; + PgInPgPerson pgInPgPerson = null; try { pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); if (pgInPgPerson == null) @@ -161,28 +175,37 @@ String msg = ""; try { - PgInPgPerson pgInPgPerson=pgInPgPersonManager.getPersonByUserName(userName); - pgInPgPerson.setOutTime(new Date()); - pgInPgPerson.setIsInPg("0"); - - pgInPgPersonManager.save(pgInPgPerson); - result = "true"; - msg = "编辑成功"; - //} + PgInPgPerson pgInPgPerson = pgInPgPersonManager.getPersonByUserName(userName); + if (pgInPgPerson == null) + msg = "不存在入廊人员"; + else { + PgInPgStatus pgInPgStatus = pgInPgStatusManager.getPgInPgStatusByPerson(pgInPgPerson); + if(pgInPgStatus==null) + msg="不存在入廊记录"; + else { + pgInPgStatus.setOutTime(new Date()); + pgInPgPerson.setIsInPg(0); + pgInPgPersonManager.save(pgInPgPerson); + result = "true"; + msg = "编辑成功"; + } + } } catch (Exception e) { result = "false"; msg = "编辑失败"; e.printStackTrace(); } - resultMap.put("result",result); - resultMap.put("msg",msg); + resultMap.put("result", result); + resultMap.put("msg", msg); return resultMap; } + /** * 根据时间统计入廊人员次数 */ + /* @POST @Path("getInPgPersonByTime") @Produces(MediaType.APPLICATION_JSON) @@ -206,8 +229,5 @@ resultMap.put("result", pgInPgPersonDtoList); return resultMap; } - - - - + */ } diff --git a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java index b4f721e..16bb660 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgLogRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgLogRs.java @@ -107,5 +107,4 @@ return resultMap; } - -} +} \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java index 65864cd..130b873 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgPatrolRs.java @@ -54,7 +54,7 @@ pgPatrol.setBeginTime(sdf.parse(beginTime)); pgPatrol.setTimeLimt(timeLimt); pgPatrol.setDescribe(describe); - pgPatrol.setActive("1"); + pgPatrol.setActive(1); pgPatrolManager.save(pgPatrol); result = "true"; diff --git "a/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..bd72cb4 --- /dev/null +++ "b/~$\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git "a/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" new file mode 100644 index 0000000..f74afc7 --- /dev/null +++ "b/~$\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git a/~WRL1033.tmp b/~WRL1033.tmp new file mode 100644 index 0000000..d213a94 --- /dev/null +++ b/~WRL1033.tmp Binary files differ diff --git "a/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" index 64ea030..2d3565a 100644 --- "a/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" +++ "b/\346\216\245\345\217\243\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ diff --git "a/\347\256\241\345\273\212\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" "b/\347\256\241\345\273\212\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" index 8026a56..7a65f55 100644 --- "a/\347\256\241\345\273\212\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" +++ "b/\347\256\241\345\273\212\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241\350\257\264\346\230\216\346\226\260\351\234\200\346\261\202.docx" Binary files differ