diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..dfc8d742
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 00000000..712ab9d9
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 3430a9f9..2f1407ad 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,9 +4,15 @@
-
+
+
-
+
+
+
+
+
+
@@ -410,7 +416,14 @@
1633333637815
-
+
+ 1634803732277
+
+
+
+ 1634803732277
+
+
@@ -426,7 +439,6 @@
-
@@ -451,6 +463,7 @@
-
+
+
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index baffeecf..a3811117 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -119,4 +119,9 @@
+ Thêm thời gian vào trang hiển thị danh sách lịch tiêm
+ fix cơ chế lấy danh sách lịch tiêm chủng trong ds gọi tiêm (size = -1, page = -1)
+ Thêm cột tên lịch
-+ Sửa lại filter toàn bộ trong màn hình gọi tiêm
\ No newline at end of file
++ Sửa lại filter toàn bộ trong màn hình gọi tiêm
+
+
+#update 21/10/2021
++ Sửa lỗi xóa không hết người tiêm chủng trong danh sách ban đầu
++ Fix lỗi dublicate phiếu hẹn
\ No newline at end of file
diff --git a/backend/src/main/java/org/vaccom/vcmgt/action/NguoiTiemChungAction.java b/backend/src/main/java/org/vaccom/vcmgt/action/NguoiTiemChungAction.java
index 295fd900..08027ae7 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/action/NguoiTiemChungAction.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/action/NguoiTiemChungAction.java
@@ -64,4 +64,6 @@ public long countNguoiTiemChung(String cmtcccd, Integer nhomdoituong, String nga
public NguoiTiemChung findBycongDanID(long id);
+ public List findBycongDanIDReturnList(long id);
+
}
diff --git a/backend/src/main/java/org/vaccom/vcmgt/action/PhieuHenTiemAction.java b/backend/src/main/java/org/vaccom/vcmgt/action/PhieuHenTiemAction.java
index 7191cc05..abccbea2 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/action/PhieuHenTiemAction.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/action/PhieuHenTiemAction.java
@@ -54,5 +54,6 @@ public List searchPhieuHenTiem(long lichTiemChungId, long caTiemCh
public PhieuHenTiem update(PhieuHenTiem phieuHenTiem);
+ public List findExist(long lichTiemChungId, long nguoiTiemChungId);
}
diff --git a/backend/src/main/java/org/vaccom/vcmgt/action/impl/NguoiTiemChungActionImpl.java b/backend/src/main/java/org/vaccom/vcmgt/action/impl/NguoiTiemChungActionImpl.java
index 626a33df..e511fcad 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/action/impl/NguoiTiemChungActionImpl.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/action/impl/NguoiTiemChungActionImpl.java
@@ -634,9 +634,14 @@ public void deleteNguoiTiemChung(String reqBody) {
long id = GetterUtil.getLong(strId, 0);
if (id > 0) {
NguoiTiemChung nguoiTiemChung = nguoiTiemChungService.findById(id);
+
if (nguoiTiemChung != null && nguoiTiemChung.getTinhTrangDangKi() == VaccomUtil.MOIDANGKY) {
try {
- nguoiTiemChungService.deleteNguoiTiemChung(id);
+ List listXoa = nguoiTiemChungService.findBycongDanIDReturnList(nguoiTiemChung.getCongDanID());
+ for(NguoiTiemChung nguoitiemChung1 :listXoa){
+ nguoiTiemChungService.deleteNguoiTiemChung(nguoitiemChung1.getId());
+ }
+
long congDanId = nguoiTiemChung.getCongDanID();
List muiTiemChungs = muiTiemChungService.findByCongDan_ID(congDanId);
@@ -1027,6 +1032,11 @@ public NguoiTiemChung findBycongDanID(long id) {
return nguoiTiemChungService.findBycongDanID(id);
}
+ @Override
+ public List findBycongDanIDReturnList(long id) {
+ return nguoiTiemChungService.findBycongDanIDReturnList(id);
+ }
+
@Override
public NguoiTiemChung addNguoiTiemChung(String hoVaTen, String ngaySinh, int gioiTinh, String cmtcccd,
int nhomDoiTuong, String donViCongTac, String soDienThoai, String email, String soTheBHYT,
diff --git a/backend/src/main/java/org/vaccom/vcmgt/action/impl/PhieuHenTiemActionImpl.java b/backend/src/main/java/org/vaccom/vcmgt/action/impl/PhieuHenTiemActionImpl.java
index 9fbec68d..672722d3 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/action/impl/PhieuHenTiemActionImpl.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/action/impl/PhieuHenTiemActionImpl.java
@@ -455,6 +455,11 @@ public PhieuHenTiem update(PhieuHenTiem phieuHenTiem) {
return phieuHenTiemService.update(phieuHenTiem);
}
+ @Override
+ public List findExist(long lichTiemChungId, long nguoiTiemChungId) {
+ return phieuHenTiemService.findExist(lichTiemChungId, nguoiTiemChungId);
+ }
+
private final Log _log = LogFactory.getLog(PhieuHenTiemActionImpl.class);
}
diff --git a/backend/src/main/java/org/vaccom/vcmgt/controler/ApplicationControler.java b/backend/src/main/java/org/vaccom/vcmgt/controler/ApplicationControler.java
index eaf446ff..cff88b3f 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/controler/ApplicationControler.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/controler/ApplicationControler.java
@@ -825,7 +825,19 @@ public ResponseEntity> deleteNguoiTiemChung(HttpServletRequest request, HttpSe
NguoiTiemChung nguoiTiemChung = nguoiTiemChungAction.findById(id);
long congDanId = nguoiTiemChung.getCongDanID();
- boolean result = nguoiTiemChungAction.deleteNguoiTiemChung(id);
+
+ List lst = nguoiTiemChungAction.findBycongDanIDReturnList(congDanId);
+
+ _log.info(lst.size());
+
+ boolean result = false;
+ for (NguoiTiemChung nguoiTiemChungEntity: lst) {
+ _log.info(nguoiTiemChungEntity.getId());
+ result = nguoiTiemChungAction.deleteNguoiTiemChung(nguoiTiemChungEntity.getId());
+ if(!result){
+ break;
+ }
+ }
if (result) {
List muiTiemChungs = muiTiemChungAction.findByCongDan_ID(congDanId);
@@ -836,11 +848,11 @@ public ResponseEntity> deleteNguoiTiemChung(HttpServletRequest request, HttpSe
}
}
;
-// CongDan congDan = congDanAction.findByCongDanId(congDanId);
-// _log.info("congDan :" + congDan);
-// if(Validator.isNotNull(congDan)){
-// congDanAction.deleteById(congDan.getId());
-// }
+ CongDan congDan = congDanAction.findByCongDanId(congDanId);
+
+ if(Validator.isNotNull(congDan)){
+ congDanAction.deleteById(congDan.getId());
+ }
String msg = MessageUtil.getVNMessageText("nguoitiemchung.delete.success");
@@ -2062,39 +2074,49 @@ public ResponseEntity> addPhieuHenTiemList(HttpServletRequest request, HttpSer
for (Integer nguoiTiemChungID : NguoiTiemChungIdList) {
NguoiTiemChung nguoiTiemChung = nguoiTiemChungAction.findById(nguoiTiemChungID);
- List muiTiemChungList = muiTiemChungAction.findByCongDan_ID(nguoiTiemChung.getCongDanID());
- int lanTiem = 0;
- if (Validator.isNull(muiTiemChungList)) {
- lanTiem = 1;
- } else {
- lanTiem = muiTiemChungList.size() + 1;
- }
+// List muiTiemChungList = muiTiemChungAction.findByCongDan_ID(nguoiTiemChung.getCongDanID());
+// int lanTiem = 0;
+// if (Validator.isNull(muiTiemChungList)) {
+// lanTiem = 1;
+// } else {
+// lanTiem = muiTiemChungList.size() + 1;
+// }
+// Fix cứng mũi tiêm = 3 (04/01/2022)
+ int lanTiem = 3;
+ List findExist = phieuHenTiemAction.findExist(phieuHenTiemDto.LichTiemChungID, nguoiTiemChungID);
if (Validator.isNull(nguoiTiemChung)) {
return ResponseEntity.status(HttpStatus.NOT_FOUND)
.body(MessageUtil.getVNMessageText("nguoiTiemChung.chitiet.not_found"));
}
- PhieuHenTiem phieuHenTiem = new PhieuHenTiem();
-
- phieuHenTiem.setGioHenTiem(lichTiemChung.getGioHenTiem());
- phieuHenTiem.setLichTiemChungId(lichTiemChung.getId());
- phieuHenTiem.setCaTiemChungId(0);
- phieuHenTiem.setNgayHenTiem(lichTiemChung.getNgayBatDau());
- phieuHenTiem.setNguoiTiemChungId(nguoiTiemChung.getId());
- phieuHenTiem.setMaQR(VaccomUtil.generateQRCode("pht", 4));
- phieuHenTiem.setLanTiem(lanTiem);
- phieuHenTiem.setTinhTrangXacNhan(VaccomUtil.DUKIEN);
- phieuHenTiem.setNgayCheckin(StringPool.BLANK);
- phieuHenTiem.setThongTinCheckin(StringPool.BLANK);
- phieuHenTiem.setGioDuocTiem(StringPool.BLANK);
- phieuHenTiem.setTrieuChungSauTiem(StringPool.BLANK);
- phieuHenTiem.setDieuTriTrieuChung(StringPool.BLANK);
-
- phieuHenTiemAction.addPhieuHenTiem(phieuHenTiem);
+ if(findExist.size() == 0 || findExist.isEmpty()){
+ PhieuHenTiem phieuHenTiem = new PhieuHenTiem();
+
+ phieuHenTiem.setGioHenTiem(lichTiemChung.getGioHenTiem());
+ phieuHenTiem.setLichTiemChungId(lichTiemChung.getId());
+ phieuHenTiem.setCaTiemChungId(0);
+ phieuHenTiem.setNgayHenTiem(lichTiemChung.getNgayBatDau());
+ phieuHenTiem.setNguoiTiemChungId(nguoiTiemChung.getId());
+ phieuHenTiem.setMaQR(VaccomUtil.generateQRCode("pht", 4));
+ phieuHenTiem.setLanTiem(lanTiem);
+ phieuHenTiem.setTinhTrangXacNhan(VaccomUtil.DUKIEN);
+ phieuHenTiem.setNgayCheckin(StringPool.BLANK);
+ phieuHenTiem.setThongTinCheckin(StringPool.BLANK);
+ phieuHenTiem.setGioDuocTiem(StringPool.BLANK);
+ phieuHenTiem.setTrieuChungSauTiem(StringPool.BLANK);
+ phieuHenTiem.setDieuTriTrieuChung(StringPool.BLANK);
+
+ phieuHenTiemAction.addPhieuHenTiem(phieuHenTiem);
+
+
+ } else {
+ _log.error("Phieu hen tiem da ton tai : lichtiemchungId : " + phieuHenTiemDto.LichTiemChungID + " - nguoitiemchungid: " + nguoiTiemChungID + " - hovaten : " + nguoiTiemChung.getHoVaTen());
+ }
nguoiTiemChung.setTinhTrangDangKi(VaccomUtil.DACHUYENSANGPHIEUHEN);
nguoiTiemChungAction.update(nguoiTiemChung);
+
}
String msg = MessageUtil.getVNMessageText("phieuhentiem.list.add.success");
diff --git a/backend/src/main/java/org/vaccom/vcmgt/repository/NguoiTiemChungRepository.java b/backend/src/main/java/org/vaccom/vcmgt/repository/NguoiTiemChungRepository.java
index 2fcff46d..09f759b4 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/repository/NguoiTiemChungRepository.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/repository/NguoiTiemChungRepository.java
@@ -31,6 +31,8 @@ public interface NguoiTiemChungRepository extends JpaRepository findByCmtcccd(String cmtcccd);
+ @Query(value="SELECT * FROM " + DBConstant._NGUOITIEMCHUNG_TABLE_NAME + " WHERE CongDan_ID = :id", nativeQuery = true)
+ public List findBycongDanIDReturnList(@Param(value = "id")long id);
public NguoiTiemChung findBycongDanID(long id);
diff --git a/backend/src/main/java/org/vaccom/vcmgt/repository/PhieuHenTiemRepository.java b/backend/src/main/java/org/vaccom/vcmgt/repository/PhieuHenTiemRepository.java
index a6d3389c..64c96b2e 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/repository/PhieuHenTiemRepository.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/repository/PhieuHenTiemRepository.java
@@ -30,6 +30,9 @@ public interface PhieuHenTiemRepository extends JpaRepository findByNguoiTiemChungId(long id);
+ @Query(value="SELECT * FROM " + DBConstant._PHIEUTIEM_TABLE_NAME + " WHERE LichTiemChungID = :lichTiemChungID and NguoiTiemChungID = :nguoiTiemChungID", nativeQuery = true)
+ public List findExist(@Param(value = "lichTiemChungID") long lichTiemChungID, @Param(value = "nguoiTiemChungID") long nguoiTiemChungID);
+
@Query(value="SELECT * FROM " + DBConstant._PHIEUTIEM_TABLE_NAME + " WHERE LichTiemChungID = :lichTiemChungID and TinhTrangXacNhan = :tinhTrangXacNhan", nativeQuery = true)
public List findByLichTiemChungId_TinhTrangXacNhan(@Param(value = "lichTiemChungID") long lichTiemChungID, @Param(value = "tinhTrangXacNhan") int tinhTrangXacNhan);
diff --git a/backend/src/main/java/org/vaccom/vcmgt/service/NguoiTiemChungService.java b/backend/src/main/java/org/vaccom/vcmgt/service/NguoiTiemChungService.java
index 9a9a3b26..abb54270 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/service/NguoiTiemChungService.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/service/NguoiTiemChungService.java
@@ -58,4 +58,6 @@ public List searchNguoiTiemChung(String cmtcccd, Integer nhomdoi
public long countByTen_SDT(String hovaten, String sodienthoai);
+ public List findBycongDanIDReturnList(long id);
+
}
diff --git a/backend/src/main/java/org/vaccom/vcmgt/service/PhieuHenTiemService.java b/backend/src/main/java/org/vaccom/vcmgt/service/PhieuHenTiemService.java
index e2295858..da55649d 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/service/PhieuHenTiemService.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/service/PhieuHenTiemService.java
@@ -44,4 +44,6 @@ public List searchPhieuHenTiem(Long lichTiemChungId, Long caTiemCh
public List findByLichTiemChungId_TinhTrangXacNhan(long LichTiemChungID, int TinhTrangXacNhan);
public PhieuHenTiem update(PhieuHenTiem phieuHenTiem);
+public List findExist (long lichTiemChungId, long nguoiTiemChungId);
+
}
diff --git a/backend/src/main/java/org/vaccom/vcmgt/service/impl/NguoiTiemChungServiceImpl.java b/backend/src/main/java/org/vaccom/vcmgt/service/impl/NguoiTiemChungServiceImpl.java
index 1a7a2e5e..8ab24715 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/service/impl/NguoiTiemChungServiceImpl.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/service/impl/NguoiTiemChungServiceImpl.java
@@ -829,6 +829,11 @@ public long countByTen_SDT(String hovaten, String sodienthoai) {
return nguoiTiemChungRepository.countByTen_SDT(hovaten, sodienthoai);
}
+ @Override
+ public List findBycongDanIDReturnList(long id) {
+ return nguoiTiemChungRepository.findBycongDanIDReturnList(id);
+ }
+
@Override
public List searchListChuyenDangKyChinhThuc(NguoiTiemChungDto nguoiTiemChungDto) {
CriteriaBuilder builder = em.getCriteriaBuilder();
diff --git a/backend/src/main/java/org/vaccom/vcmgt/service/impl/PhieuHenTiemServiceImpl.java b/backend/src/main/java/org/vaccom/vcmgt/service/impl/PhieuHenTiemServiceImpl.java
index a9e0b219..7b8282b7 100644
--- a/backend/src/main/java/org/vaccom/vcmgt/service/impl/PhieuHenTiemServiceImpl.java
+++ b/backend/src/main/java/org/vaccom/vcmgt/service/impl/PhieuHenTiemServiceImpl.java
@@ -214,4 +214,9 @@ public PhieuHenTiem update(PhieuHenTiem phieuHenTiem) {
return phieuHenTiemRepository.save(phieuHenTiem);
}
+ @Override
+ public List findExist(long lichTiemChungId, long nguoiTiemChungId) {
+ return phieuHenTiemRepository.findExist(lichTiemChungId, nguoiTiemChungId);
+ }
+
}