retribusi
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
package retribusi
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
"log"
|
||||
"net/http"
|
||||
"template_blueprint/internal/database"
|
||||
//_ "template_blueprint/cmd/api/docs"
|
||||
//_ "template_blueprint/docs"
|
||||
_ "template_blueprint/docs"
|
||||
//_ "template_blueprint/internal/docs"
|
||||
connDatabase "template_blueprint/pkg/database/satu_data"
|
||||
"template_blueprint/pkg/models/satu_data"
|
||||
"time"
|
||||
)
|
||||
|
||||
// GetDataRetribusi return list of all retribution from the database
|
||||
// @Summary all retribution
|
||||
// @Description return list of all retribution from the database
|
||||
// @Param limit path string true "limit"
|
||||
// @Param offset path string true "offset"
|
||||
// @Tags Retribusi
|
||||
// @Success 200 {object} satu_data.Retribusi
|
||||
// @Router /retribusi/getData/Limit/{limit}/Offset/{offset} [get]
|
||||
func GetDataRetribusi(c *gin.Context) {
|
||||
db := database.New().GetDB("satudata")
|
||||
satudata := connDatabase.NewDatabaseService(db)
|
||||
limit := c.Param("limit")
|
||||
offset := c.Param("offset")
|
||||
|
||||
log.Println("limit:", limit, ",offset:", offset)
|
||||
dataRetribusi, err := satudata.GetRetribusi(limit, offset)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"message": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
if len(dataRetribusi) == 0 {
|
||||
//log.Println("data retribusi tidak ditemukan")
|
||||
c.JSON(http.StatusNotFound, gin.H{"message": "data retribusi tidak ditemukan"})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, dataRetribusi)
|
||||
}
|
||||
|
||||
// InsertRetribution godoc
|
||||
// @Summary Create retribution
|
||||
// @Description Save retribution data in DB
|
||||
// @Param data body satu_data.Retribusi true "data Retribusi"
|
||||
// @Produce application/json
|
||||
// @Tags Retribusi
|
||||
// @Success 200 {object} map[string]string "Data Berhasil disimpan"
|
||||
// @Router /retribusi/insertretribusi [post]
|
||||
func InsertRetribution(c *gin.Context) {
|
||||
db := database.New().GetDB("satudata")
|
||||
satudata := connDatabase.NewDatabaseService(db)
|
||||
|
||||
var request *satu_data.Retribusi
|
||||
err := c.Bind(&request)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
ID := uuid.New().String()
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
reqInsert := &satu_data.Retribusi{
|
||||
ID: ID,
|
||||
Status: request.Status,
|
||||
Sort: request.Sort,
|
||||
UserCreated: request.UserCreated,
|
||||
DateCreated: timeNow,
|
||||
Jenis: request.Jenis,
|
||||
Pelayanan: request.Pelayanan,
|
||||
Dinas: request.Dinas,
|
||||
KelompokObyek: request.KelompokObyek,
|
||||
KodeTarif: request.KodeTarif,
|
||||
Tarif: request.Tarif,
|
||||
Satuan: request.Satuan,
|
||||
TarifOverTime: request.TarifOverTime,
|
||||
SatuanOverTime: request.SatuanOverTime,
|
||||
RekeningPokok: request.RekeningPokok,
|
||||
RekeningDenda: request.RekeningDenda,
|
||||
Uraian1: request.Uraian1,
|
||||
Uraian2: request.Uraian2,
|
||||
Uraian3: request.Uraian3,
|
||||
}
|
||||
|
||||
//log.Println("request:", request)
|
||||
//fmt.Println(reflect.TypeOf(reqInsert))
|
||||
errInsertData := satudata.InsertRetribusi(reqInsert)
|
||||
if errInsertData != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": errInsertData.Error()})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusCreated, gin.H{"message": "Data Berhasil disimpan"})
|
||||
}
|
||||
|
||||
// UpdateRetribution godoc
|
||||
// @Summary Update retribution
|
||||
// @Description Change retribution data in DB
|
||||
// @Param data body satu_data.Retribusi true "data Retribusi"
|
||||
// @Produce application/json
|
||||
// @Tags Retribusi
|
||||
// @Success 200 {object} map[string]string "Data Berhasil Diubah"
|
||||
// @Router /retribusi/updateretribusi [put]
|
||||
func UpdateRetribution(c *gin.Context) {
|
||||
db := database.New().GetDB("satudata")
|
||||
satudata := connDatabase.NewDatabaseService(db)
|
||||
|
||||
var request *satu_data.Retribusi
|
||||
err := c.Bind(&request)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
reqUpdate := &satu_data.Retribusi{
|
||||
ID: request.ID,
|
||||
Status: request.Status,
|
||||
Sort: request.Sort,
|
||||
UserUpdated: request.UserUpdated,
|
||||
DateUpdated: timeNow,
|
||||
Jenis: request.Jenis,
|
||||
Pelayanan: request.Pelayanan,
|
||||
Dinas: request.Dinas,
|
||||
KelompokObyek: request.KelompokObyek,
|
||||
KodeTarif: request.KodeTarif,
|
||||
Tarif: request.Tarif,
|
||||
Satuan: request.Satuan,
|
||||
TarifOverTime: request.TarifOverTime,
|
||||
SatuanOverTime: request.SatuanOverTime,
|
||||
RekeningPokok: request.RekeningPokok,
|
||||
RekeningDenda: request.RekeningDenda,
|
||||
Uraian1: request.Uraian1,
|
||||
Uraian2: request.Uraian2,
|
||||
Uraian3: request.Uraian3,
|
||||
}
|
||||
errUpdateData := satudata.UpdateRetribusi(reqUpdate)
|
||||
if errUpdateData != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": errUpdateData.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "Data Berhasil Diubah", "data": reqUpdate})
|
||||
}
|
||||
|
||||
// DeleteDataRetribusi godoc
|
||||
// @Summary Delete retribution
|
||||
// @Description Remove retribution data by id
|
||||
// @Param ID path string true "ID"
|
||||
// @Produce application/json
|
||||
// @Tags Retribusi
|
||||
// @Success 200 {object} map[string]string "Data Berhasil dihapus"
|
||||
// @Router /retribusi/deleteretribusi/{ID} [delete]
|
||||
func DeleteDataRetribusi(c *gin.Context) {
|
||||
db := database.New().GetDB("satudata")
|
||||
satudata := connDatabase.NewDatabaseService(db)
|
||||
|
||||
//var request *satu_data.Retribusi
|
||||
ID := c.Param("id")
|
||||
//err := c.Bind(&request)
|
||||
//if err != nil {
|
||||
// c.JSON(http.StatusInternalServerError, gin.H{"message": err.Error})
|
||||
// return
|
||||
//}
|
||||
|
||||
errDelete := satudata.DeleteRetribusi(ID)
|
||||
if errDelete != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": error.Error})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{"message": "Data Berhasil dihapus"})
|
||||
}
|
||||
|
||||
// SearchDataRetribusi godoc
|
||||
// @Summary Search retribution
|
||||
// @Description search retribution data by id
|
||||
// @Param Kelompok_obyek path string true "Kelompok_obyek"
|
||||
// @Produce application/json
|
||||
// @Tags Retribusi
|
||||
// @Success 200 {object} satu_data.Retribusi
|
||||
// @Router /retribusi/searchData/{kelompok_obyek} [get]
|
||||
func SearchDataRetribusi(c *gin.Context) {
|
||||
db := database.New().GetDB("satudata")
|
||||
satudata := connDatabase.NewDatabaseService(db)
|
||||
|
||||
Kelompok_obyek := c.Param("kelompok_obyek")
|
||||
|
||||
//log.Println("Kelompok_obyek :", Kelompok_obyek)
|
||||
dataRetribusi, err := satudata.SearchRetribusi(Kelompok_obyek)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
if len(dataRetribusi) == 0 {
|
||||
//log.Println("data retribusi tidak ditemukan")
|
||||
c.JSON(http.StatusNotFound, gin.H{"message": "data retribusi tidak ditemukan"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, dataRetribusi)
|
||||
}
|
||||
Reference in New Issue
Block a user