retribusi
This commit is contained in:
73
pkg/database/satu_data/retribusi.go
Normal file
73
pkg/database/satu_data/retribusi.go
Normal file
@@ -0,0 +1,73 @@
|
||||
package satu_data
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"template_blueprint/pkg/models/satu_data"
|
||||
)
|
||||
|
||||
func (s *DatabaseService) GetRetribusi(Limit string, Offset string) ([]*satu_data.Retribusi, error) {
|
||||
var result []*satu_data.Retribusi
|
||||
query := `select * from data_retribusi dr limit ? offset ?`
|
||||
errQuery := s.DB.Debug().Raw(query, Limit, Offset).Scan(&result).Error
|
||||
if errQuery != nil {
|
||||
log.Println("errQuery:", errQuery)
|
||||
return nil, errQuery
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) InsertRetribusi(data *satu_data.Retribusi) error {
|
||||
//id := uuid.New()
|
||||
log.Println("ini data:", data)
|
||||
//data.ID = id.String()
|
||||
|
||||
//log.Println("InsertRetribusi:", data)
|
||||
query := `insert into data_retribusi ("id", "status", "sort", "user_created", "date_created", "Jenis", "Pelayanan", "Dinas",
|
||||
"Kelompok_obyek", "Kode_tarif", "Tarif", "Satuan", "Tarif_overtime", "Satuan_overtime",
|
||||
"Rekening_pokok", "Rekening_denda","Uraian_1", "Uraian_2", "Uraian_3")
|
||||
values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`
|
||||
errQuery := s.DB.Debug().Exec(query, data.ID, data.Status, data.Sort, data.UserCreated, data.DateCreated,
|
||||
data.Jenis, data.Pelayanan, data.Dinas, data.KelompokObyek,
|
||||
data.KodeTarif, data.Tarif, data.Satuan, data.TarifOverTime, data.SatuanOverTime, data.RekeningPokok, data.RekeningDenda,
|
||||
data.Uraian1, data.Uraian2, data.Uraian3).Error
|
||||
if errQuery != nil {
|
||||
log.Println(errQuery)
|
||||
return errors.New("Tidak dapat Simpan data retribusi")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) UpdateRetribusi(data *satu_data.Retribusi) error {
|
||||
log.Println("update data_retribusi:", data)
|
||||
query := `update data_retribusi set status=?, sort=?, user_updated=?, date_updated=?, "Jenis"=?, "Pelayanan"=?, "Dinas"=?, "Kelompok_obyek"=?, "Kode_tarif"=?, "Tarif"=?, "Satuan"=?, "Tarif_overtime"=?, "Satuan_overtime"=?, "Rekening_pokok"=?, "Rekening_denda"=?, "Uraian_1"=?, "Uraian_2"=?, "Uraian_3"=? where id=?`
|
||||
errQuery := s.DB.Debug().Exec(query, data.Status, data.Sort, data.UserUpdated, data.DateUpdated, data.Jenis, data.Pelayanan, data.Dinas, data.KelompokObyek, data.KodeTarif, data.Tarif, data.Satuan, data.TarifOverTime, data.SatuanOverTime, data.RekeningPokok, data.RekeningDenda, data.Uraian1, data.Uraian2, data.Uraian3, data.ID).Error
|
||||
if errQuery != nil {
|
||||
log.Println(errQuery)
|
||||
return errors.New("Tidak dapat ubah data retribusi")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) DeleteRetribusi(id string) error {
|
||||
query := `delete from data_retribusi where id=?`
|
||||
errQuery := s.DB.Debug().Exec(query, id).Error
|
||||
if errQuery != nil {
|
||||
log.Println(errQuery)
|
||||
return errors.New("Tidak dapat hapus data retribusi")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) SearchRetribusi(kelompok_obyek string) ([]*satu_data.Retribusi, error) {
|
||||
//log.Println("search retribusi by:", kelompok_obyek)
|
||||
var result []*satu_data.Retribusi
|
||||
query := `select * from data_retribusi where "Kelompok_obyek"=?`
|
||||
errQuery := s.DB.Debug().Raw(query, kelompok_obyek).Scan(&result).Error
|
||||
if errQuery != nil {
|
||||
log.Println(errQuery)
|
||||
return nil, errors.New("Tidak dapat data retribusi")
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
205
pkg/handlers/retribusi/retribusi.go
Normal file
205
pkg/handlers/retribusi/retribusi.go
Normal file
@@ -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)
|
||||
}
|
||||
25
pkg/models/satu_data/retribusi.go
Normal file
25
pkg/models/satu_data/retribusi.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package satu_data
|
||||
|
||||
type Retribusi struct {
|
||||
ID string `gorm:"column:id" json:"id"`
|
||||
Status string `gorm:"column:status" json:"status"`
|
||||
Sort int `gorm:"column:sort" json:"sort"`
|
||||
UserCreated string `gorm:"column:user_created" json:"user_created"`
|
||||
DateCreated string `gorm:"column:date_created" json:"date_created"`
|
||||
UserUpdated string `gorm:"column:user_updated" json:"user_updated"`
|
||||
DateUpdated string `gorm:"column:date_updated" json:"date_updated"`
|
||||
Jenis string `gorm:"column:Jenis" json:"Jenis"`
|
||||
Pelayanan string `gorm:"column:Pelayanan" json:"Pelayanan"`
|
||||
Dinas string `gorm:"column:Dinas" json:"Dinas"`
|
||||
KelompokObyek string `gorm:"column:Kelompok_obyek" json:"Kelompok_obyek"`
|
||||
KodeTarif string `gorm:"column:Kode_tarif" json:"Kode_tarif"`
|
||||
Tarif string `gorm:"column:Tarif" json:"Tarif"`
|
||||
Satuan string `gorm:"column:Satuan" json:"Satuan"`
|
||||
TarifOverTime string `gorm:"column:Tarif_overtime" json:"Tarif_overtime"`
|
||||
SatuanOverTime string `gorm:"column:Satuan_overtime" json:"Satuan_overtime"`
|
||||
RekeningPokok string `gorm:"column:Rekening_pokok" json:"Rekening_pokok"`
|
||||
RekeningDenda string `gorm:"column:Rekening_denda" json:"Rekening_denda"`
|
||||
Uraian1 string `gorm:"column:Uraian_1" json:"Uraian_1"`
|
||||
Uraian2 string `gorm:"column:Uraian_2" json:"Uraian_2"`
|
||||
Uraian3 string `gorm:"column:Uraian_3" json:"Uraian_3"`
|
||||
}
|
||||
Reference in New Issue
Block a user