- perbaikan akses monitoring absensi dengan menghilangkan kondisi status jabatan utama
- penyesuaian query pengecekan duplikat id finger jika edit rekam data pegawai - perbaikan service pengecekan duplikat id finger jika edit rekam data pegawai - penerapan data login dan pegawai login saat verifikasi di monitoring absensi - perbaikan cetakan laporan monitoring absensi bisa tanpa memilih subunit kerja
This commit is contained in:
parent
eae76ccb69
commit
7d0767e1d7
@ -152,19 +152,17 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
|
||||
@Query("select pegawai.id " + "from MapPegawaiJabatanToUnitKerja mapPegawai "
|
||||
+ "left join mapPegawai.pegawai pegawai " + "left join pegawai.shiftKerja shiftKerja "
|
||||
+ "left join mapPegawai.subUnitKerjaPegawai subUnitKerja "
|
||||
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.isPrimary is true "
|
||||
+ "and mapPegawai.statusEnabled is true " + "and unitKerja.id = :idUnitKerja "
|
||||
+ "and pegawai.statusEnabled is not false " + "and pegawai.idFinger is not null "
|
||||
+ "order by pegawai.nama asc")
|
||||
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.statusEnabled is true "
|
||||
+ "and unitKerja.id = :idUnitKerja " + "and pegawai.statusEnabled is not false "
|
||||
+ "and pegawai.idFinger is not null " + "order by pegawai.nama asc")
|
||||
public List<Integer> findPegawaiaAktifDanKaryawanByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);
|
||||
|
||||
@Query("select pegawai.id " + "from MapPegawaiJabatanToUnitKerja mapPegawai "
|
||||
+ "left join mapPegawai.pegawai pegawai " + "left join pegawai.shiftKerja shiftKerja "
|
||||
+ "left join mapPegawai.subUnitKerjaPegawai subUnitKerja "
|
||||
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where unitKerja.id = :idUnitKerja "
|
||||
+ "and subUnitKerja.id = :idSubUnitKerja " + "and mapPegawai.isPrimary is true "
|
||||
+ "and mapPegawai.statusEnabled is true " + "and pegawai.idFinger is not null "
|
||||
+ "and pegawai.statusEnabled is true " + "order by pegawai.nama asc")
|
||||
+ "and subUnitKerja.id = :idSubUnitKerja " + "and mapPegawai.statusEnabled is true "
|
||||
+ "and pegawai.idFinger is not null " + "and pegawai.statusEnabled is true " + "order by pegawai.nama asc")
|
||||
public List<Integer> findPegawaiaAktifDanKaryawanByUnitKerjaAndSubUnitKerja(
|
||||
@Param("idUnitKerja") Integer idUnitKerja, @Param("idSubUnitKerja") Integer idSubUnitKerja);
|
||||
|
||||
@ -349,18 +347,15 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
|
||||
"and pegawai.kedudukanId not in (:listException) " + "order by namaLengkap")
|
||||
public List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
|
||||
@Param("listException") List<Integer> listException);
|
||||
|
||||
|
||||
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mp "
|
||||
+ "left join mp.pegawai pg "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mp " + "left join mp.pegawai pg "
|
||||
+ "left join mp.jabatan jb with jb.statusEnabled is true "
|
||||
+ "where mp.statusEnabled is true and pg.statusEnabled is true "
|
||||
+ "and pg.kedudukanId not in (:listException) "
|
||||
+ "and mp.unitKerjaPegawaiId = :idUnitKerja "
|
||||
+ "and jb.levelJabatan = :levelJabatan+1 " //satu_level_dibawah_pegawai_login
|
||||
+ "and pg.kedudukanId not in (:listException) " + "and mp.unitKerjaPegawaiId = :idUnitKerja "
|
||||
+ "and jb.levelJabatan = :levelJabatan+1 " // satu_level_dibawah_pegawai_login
|
||||
+ "and jb.subLevelJabatan = :sublevelJabatan")
|
||||
public List<Map<String, Object>> getDataPegawaiDirektur(@Param("idUnitKerja") Integer idUnitKerja,
|
||||
@Param("levelJabatan") Integer levelJabatan,
|
||||
@Param("sublevelJabatan") Integer sublevelJabatan,
|
||||
public List<Map<String, Object>> getDataPegawaiDirektur(@Param("idUnitKerja") Integer idUnitKerja,
|
||||
@Param("levelJabatan") Integer levelJabatan, @Param("sublevelJabatan") Integer sublevelJabatan,
|
||||
@Param("listException") List<Integer> listException);
|
||||
}
|
||||
|
||||
@ -1077,4 +1077,10 @@ public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, Integer>
|
||||
+ "where pg.statusEnabled is true " + "and pg.idFinger = :fingerId " + "and pg.idFinger <> ''")
|
||||
public List<Map<String, Object>> checkExistingFingerId(@Param("fingerId") String idFinger);
|
||||
|
||||
@Query("select new Map(pg.id as id,pg.namaLengkap as namaLengkap) " + "from Pegawai pg "
|
||||
+ "where pg.statusEnabled is true " + "and pg.idFinger = :fingerId " + "and pg.idFinger <> '' "
|
||||
+ "and pg.id <> :pegawaiId")
|
||||
public List<Map<String, Object>> checkExistingFingerId(@Param("fingerId") String idFinger,
|
||||
@Param("pegawaiId") Integer idPegawai);
|
||||
|
||||
}
|
||||
|
||||
@ -170,6 +170,6 @@ public interface PegawaiService extends BaseVoService<Pegawai, PegawaiVO, Intege
|
||||
|
||||
Map<String, Object> getEvaluasiJabatanByPegawai(Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> findExistingFingerId(String idFinger);
|
||||
List<Map<String, Object>> findExistingFingerId(String idFinger, Integer idPegawai);
|
||||
|
||||
}
|
||||
|
||||
@ -81,6 +81,7 @@ import com.jasamedika.medifirst2000.vo.KelompokShiftKerjaCustomVO;
|
||||
import com.jasamedika.medifirst2000.vo.KelompokShiftVO;
|
||||
import com.jasamedika.medifirst2000.vo.KelompokTransaksiVO;
|
||||
import com.jasamedika.medifirst2000.vo.KomponenIndexVO;
|
||||
import com.jasamedika.medifirst2000.vo.LoginUserVO;
|
||||
import com.jasamedika.medifirst2000.vo.MonitoringAbsenCustomVO;
|
||||
import com.jasamedika.medifirst2000.vo.MonitoringAbsenVO;
|
||||
import com.jasamedika.medifirst2000.vo.PegawaiHistoriRekapIndexVO;
|
||||
@ -95,18 +96,6 @@ import com.jasamedika.medifirst2000.vo.UangLemburVO;
|
||||
@Service("monitoringAbsenService")
|
||||
public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements MonitoringAbsenService {
|
||||
|
||||
@Autowired
|
||||
private IndekKinerjaDao indekKinerjaDao;
|
||||
|
||||
@Autowired
|
||||
private HabsenDao habsenDao;
|
||||
|
||||
@Autowired
|
||||
private JabatanDao jabatanDao;
|
||||
|
||||
@Autowired
|
||||
private PegawaiHistoriRekapDao pegawaiHistoriRekapDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<StrukHistoriVO, StrukHistori> strukHistoriConverter;
|
||||
|
||||
@ -116,9 +105,6 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
@Autowired
|
||||
private BaseConverterImpl<KomponenIndexVO, KomponenIndex> komponenIndexConverter;
|
||||
|
||||
@Autowired
|
||||
private SettingDataFixedDao settingDataFixedDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<RuanganVO, Ruangan> ruanganConverter;
|
||||
|
||||
@ -131,18 +117,9 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
@Autowired
|
||||
private BaseConverterImpl<PegawaiHistoriRekapVO, PegawaiHistoriRekap> pegawaiHistoriRekapConverter;
|
||||
|
||||
@Autowired
|
||||
private StrukHistoriDao strukHistoriDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<KelompokTransaksiVO, KelompokTransaksi> kelompokTransaksiConverter;
|
||||
|
||||
@Autowired
|
||||
private FactorRateKelompokShiftDao factorRateKelompokShiftDao;
|
||||
|
||||
@Autowired
|
||||
private MonitoringAbsenDao monitoringAbsenDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<MonitoringAbsenVO, MonitoringAbsen> monitoringAbsenConverter;
|
||||
|
||||
@ -152,6 +129,39 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
@Autowired
|
||||
private BaseConverterImpl<ShiftKerjaVO, ShiftKerja> shiftKerjaConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<StrukVerifikasiVO, StrukVerifikasi> strukVerifikasiConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<JenisGajiVO, JenisGaji> jenisGajiConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<LoginUserVO, LoginUser> loginUserConverter;
|
||||
|
||||
@Autowired
|
||||
private IndekKinerjaDao indekKinerjaDao;
|
||||
|
||||
@Autowired
|
||||
private HabsenDao habsenDao;
|
||||
|
||||
@Autowired
|
||||
private JabatanDao jabatanDao;
|
||||
|
||||
@Autowired
|
||||
private PegawaiHistoriRekapDao pegawaiHistoriRekapDao;
|
||||
|
||||
@Autowired
|
||||
private SettingDataFixedDao settingDataFixedDao;
|
||||
|
||||
@Autowired
|
||||
private StrukHistoriDao strukHistoriDao;
|
||||
|
||||
@Autowired
|
||||
private FactorRateKelompokShiftDao factorRateKelompokShiftDao;
|
||||
|
||||
@Autowired
|
||||
private MonitoringAbsenDao monitoringAbsenDao;
|
||||
|
||||
@Autowired
|
||||
private PegawaiDao pegawaiDao;
|
||||
|
||||
@ -170,9 +180,6 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
@Autowired
|
||||
private StrukVerifikasiDao strukVerifikasiDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<StrukVerifikasiVO, StrukVerifikasi> strukVerifikasiConverter;
|
||||
|
||||
@Autowired
|
||||
private KelompokTransaksiDao kelompokTransaksiDao;
|
||||
|
||||
@ -200,9 +207,6 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
@Autowired
|
||||
private PegawaiSKPajakDao pegawaiSKPajakDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<JenisGajiVO, JenisGaji> jenisGajiConverter;
|
||||
|
||||
@Autowired
|
||||
private PegawaiJadwalKerjaDao pegawaiJadwalKerjaDao;
|
||||
|
||||
@ -632,10 +636,13 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
@Transactional(readOnly = false)
|
||||
public Map<String, Object> saveMonitoring(MonitoringAbsenCustomVO vo) {
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
LoginUser loginuser = new LoginUser();
|
||||
|
||||
LoginUser loginuser = loginUserConverter.transferVOToModel(vo.getLoginUser(), new LoginUser());
|
||||
Pegawai pegawaiLogin = pegawaiConverter.transferVOToModel(vo.getPegawaiLogin(), new Pegawai());
|
||||
|
||||
KelompokTransaksi kelompokTransaksi = kelompokTransaksiDao
|
||||
.findById(Integer.parseInt(GetSettingDataFixed("kelompokTransasiLemburAbsensi")));
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(vo)) {
|
||||
for (MonitoringAbsenVO temp : vo.getMonitoringAbsen()) {
|
||||
Pegawai pegawai = pegawaiConverter.transferVOToModel(temp.getPegawai(), new Pegawai());
|
||||
|
||||
@ -2404,8 +2404,14 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findExistingFingerId(String idFinger) {
|
||||
List<Map<String, Object>> result = pegawaiDao.checkExistingFingerId(idFinger);
|
||||
public List<Map<String, Object>> findExistingFingerId(String idFinger, Integer idPegawai) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(idPegawai)) {
|
||||
result = pegawaiDao.checkExistingFingerId(idFinger, idPegawai);
|
||||
} else {
|
||||
result = pegawaiDao.checkExistingFingerId(idFinger);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -4,11 +4,23 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
public class MonitoringAbsenCustomVO extends BaseTransactionVO {
|
||||
|
||||
@Caption(value = "Monitoring Absen")
|
||||
private Set<MonitoringAbsenVO> monitoringAbsen = new HashSet<MonitoringAbsenVO>();
|
||||
|
||||
@Caption(value = "Login User")
|
||||
private LoginUserVO loginUser;
|
||||
|
||||
private Integer loginUserId;
|
||||
|
||||
@Caption(value = "Pegawai")
|
||||
private PegawaiVO pegawaiLogin;
|
||||
|
||||
private Integer pegawaiLoginId;
|
||||
|
||||
public Set<MonitoringAbsenVO> getMonitoringAbsen() {
|
||||
return monitoringAbsen;
|
||||
}
|
||||
@ -17,4 +29,36 @@ public class MonitoringAbsenCustomVO extends BaseTransactionVO {
|
||||
this.monitoringAbsen = monitoringAbsen;
|
||||
}
|
||||
|
||||
public LoginUserVO getLoginUser() {
|
||||
return loginUser;
|
||||
}
|
||||
|
||||
public void setLoginUser(LoginUserVO loginUser) {
|
||||
this.loginUser = loginUser;
|
||||
}
|
||||
|
||||
public Integer getLoginUserId() {
|
||||
return loginUserId;
|
||||
}
|
||||
|
||||
public void setLoginUserId(Integer loginUserId) {
|
||||
this.loginUserId = loginUserId;
|
||||
}
|
||||
|
||||
public PegawaiVO getPegawaiLogin() {
|
||||
return pegawaiLogin;
|
||||
}
|
||||
|
||||
public void setPegawaiLogin(PegawaiVO pegawaiLogin) {
|
||||
this.pegawaiLogin = pegawaiLogin;
|
||||
}
|
||||
|
||||
public Integer getPegawaiLoginId() {
|
||||
return pegawaiLoginId;
|
||||
}
|
||||
|
||||
public void setPegawaiLoginId(Integer pegawaiLoginId) {
|
||||
this.pegawaiLoginId = pegawaiLoginId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4628,6 +4628,7 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
|
||||
@RequestParam(value = "subUnitKerja", required = false) Integer subUnitKerja) {
|
||||
List<Map<String, Object>> listkehadiran = new ArrayList<Map<String, Object>>();
|
||||
Map<String, Object> kehadiran = new HashMap<String, Object>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(subUnitKerja) && CommonUtil.isNullOrEmpty(idPegawai)) {
|
||||
List<Integer> listId = monitoringAbsenDao.findPegawaiaAktifDanKaryawanByUnitKerjaAndSubUnitKerja(unitKerja,
|
||||
subUnitKerja);
|
||||
@ -4635,10 +4636,17 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
|
||||
kehadiran = monitoringAbsenService.jumlahKehadiran(id, startDate, endDate);
|
||||
listkehadiran.addAll((List<Map<String, Object>>) kehadiran.get("listkehadiran"));
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(subUnitKerja) && CommonUtil.isNullOrEmpty(idPegawai)) {
|
||||
List<Integer> listId = monitoringAbsenDao.findPegawaiaAktifDanKaryawanByUnitKerja(unitKerja);
|
||||
for (Integer id : listId) {
|
||||
kehadiran = monitoringAbsenService.jumlahKehadiran(id, startDate, endDate);
|
||||
listkehadiran.addAll((List<Map<String, Object>>) kehadiran.get("listkehadiran"));
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(idPegawai)) {
|
||||
kehadiran = monitoringAbsenService.jumlahKehadiran(idPegawai, startDate, endDate);
|
||||
listkehadiran.addAll((List<Map<String, Object>>) kehadiran.get("listkehadiran"));
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listkehadiran)) {
|
||||
Map<String, Object> temp = listkehadiran.get(0);
|
||||
m.addObject("dataSource", listkehadiran);
|
||||
@ -4664,6 +4672,7 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
|
||||
if (format != null && !format.isEmpty()) {
|
||||
m.addObject("format", format);
|
||||
}
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
@ -7694,7 +7703,7 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "/rekapitulasi-diskon", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getRekapDiskon(HttpServletRequest request,
|
||||
@RequestParam(value = "periode", required = true) Long periode) {
|
||||
|
||||
@ -1396,18 +1396,19 @@ public class PegawaiController extends LocaleController<PegawaiVO> implements IB
|
||||
|
||||
@RequestMapping(value = "/check-existing-fingerid", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> findExistingFingerId(HttpServletRequest request,
|
||||
@RequestParam(value = "fingerId", required = true) String idFinger) {
|
||||
@RequestParam(value = "fingerId", required = true) String idFinger,
|
||||
@RequestParam(value = "pegawaiId", required = false) Integer idPegawai) {
|
||||
try {
|
||||
List<Map<String, Object>> result = pegawaiService.findExistingFingerId(idFinger);
|
||||
List<Map<String, Object>> result = pegawaiService.findExistingFingerId(idFinger, idPegawai);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when get all jabatan", e.getMessage());
|
||||
LOGGER.error("Got exception {} when check existing finger id", e.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when get all jabatan", jse.getMessage());
|
||||
LOGGER.error("Got exception {} when check existing finger id", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user