diff --git a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java index f9801fb..cee4dd8 100644 --- a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java +++ b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java @@ -69,6 +69,9 @@ public class BuilderService { executeDump(true); // ADD OTHER SERVICE +addCustomMenu( "Kirantest","Kirantest", "Transcations"); + + System.out.println("dashboard and menu inserted..."); diff --git a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/KirantestController.java b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/KirantestController.java new file mode 100644 index 0000000..acbbd5c --- /dev/null +++ b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/KirantestController.java @@ -0,0 +1,99 @@ +package com.realnet.basic1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basic1.Entity.Kirantest; +import com.realnet.basic1.Services.KirantestService ; + + + + + + +@RequestMapping(value = "/Kirantest") + @CrossOrigin("*") +@RestController +public class KirantestController { + @Autowired + private KirantestService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + @PostMapping("/Kirantest") + public Kirantest Savedata(@RequestBody Kirantest data) { + Kirantest save = Service.Savedata(data) ; + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Kirantest/{id}") + public Kirantest update(@RequestBody Kirantest data,@PathVariable Integer id ) { + Kirantest update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Kirantest/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Kirantest") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Kirantest") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Kirantest/{id}") + public Kirantest getdetailsbyId(@PathVariable Integer id ) { + Kirantest get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Kirantest/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + + + +} \ No newline at end of file diff --git a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_KirantestController.java b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_KirantestController.java new file mode 100644 index 0000000..534db2c --- /dev/null +++ b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_KirantestController.java @@ -0,0 +1,99 @@ +package com.realnet.basic1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basic1.Entity.Kirantest; +import com.realnet.basic1.Services.KirantestService ; + + + + + + +@RequestMapping(value = "/token/Kirantest") + @CrossOrigin("*") +@RestController +public class tokenFree_KirantestController { + @Autowired + private KirantestService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + @PostMapping("/Kirantest") + public Kirantest Savedata(@RequestBody Kirantest data) { + Kirantest save = Service.Savedata(data) ; + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Kirantest/{id}") + public Kirantest update(@RequestBody Kirantest data,@PathVariable Integer id ) { + Kirantest update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Kirantest/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Kirantest") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Kirantest") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Kirantest/{id}") + public Kirantest getdetailsbyId(@PathVariable Integer id ) { + Kirantest get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Kirantest/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + + + +} \ No newline at end of file diff --git a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Kirantest.java b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Kirantest.java new file mode 100644 index 0000000..e9d6a06 --- /dev/null +++ b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Kirantest.java @@ -0,0 +1,33 @@ +package com.realnet.basic1.Entity; + import lombok.*; +import com.realnet.WhoColumn.Entity.Extension; + import javax.persistence.*; + import java.time.LocalDateTime; + import java.util.*; + + + + + + + @Entity + @Data + public class Kirantest extends Extension { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + +private String name; + +@Column(length = 2000) +private String description; + +private boolean active; + + +} diff --git a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/KirantestRepository.java b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/KirantestRepository.java new file mode 100644 index 0000000..c41d558 --- /dev/null +++ b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/KirantestRepository.java @@ -0,0 +1,30 @@ +package com.realnet.basic1.Repository; + + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import org.springframework.stereotype.Repository; +import java.util.*; + + + + + + + + + +import com.realnet.basic1.Entity.Kirantest; + +@Repository +public interface KirantestRepository extends JpaRepository { + +@Query(value = "select * from kirantest where created_by=?1", nativeQuery = true) + List findAll(Long creayedBy); + +@Query(value = "select * from kirantest where created_by=?1", nativeQuery = true) + Page findAll(Pageable page, Long creayedBy); +} \ No newline at end of file diff --git a/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/KirantestService.java b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/KirantestService.java new file mode 100644 index 0000000..42bea39 --- /dev/null +++ b/testrm001-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/KirantestService.java @@ -0,0 +1,93 @@ +package com.realnet.basic1.Services; +import com.realnet.basic1.Repository.KirantestRepository; +import com.realnet.basic1.Entity.Kirantest +;import java.util.*; + +import org.springframework.beans.factory.annotation.Autowired; +import com.realnet.SequenceGenerator.Service.SequenceService; +import org.springframework.data.domain.Page; +import com.realnet.realm.Entity.Realm; +import com.realnet.realm.Services.RealmService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.*; +import com.realnet.users.service1.AppUserServiceImpl; +import com.realnet.users.entity1.AppUser; + + + + + + + import org.springframework.stereotype.Service; + +@Service + public class KirantestService { +@Autowired +private KirantestRepository Repository; + @Autowired + private AppUserServiceImpl userService; +@Autowired + private RealmService realmService; + + + + + +public Kirantest Savedata(Kirantest data) { + + + + + + + data.setUpdatedBy(getUser().getUserId()); + data.setCreatedBy(getUser().getUserId()); + data.setAccountId(getUser().getAccount().getAccount_id()); +Kirantest save = Repository.save(data); + return save; + } + + +// get all with pagination + public Page getAllWithPagination(Pageable page) { + return Repository.findAll(page, getUser().getUserId()); + } +public List getdetails() { + List realm = realmService.findByUserId(getUser().getUserId()); +List all = Repository.findAll(getUser().getUserId()); + + return all ; } + + +public Kirantest getdetailsbyId(Integer id) { + return Repository.findById(id).get(); + } + + + public void delete_by_id(Integer id) { + Repository.deleteById(id); +} + + +public Kirantest update(Kirantest data,Integer id) { + Kirantest old = Repository.findById(id).get(); +old.setName(data.getName()); + +old.setDescription(data.getDescription()); + +old.setActive (data.isActive()); + +final Kirantest test = Repository.save(old); + data.setUpdatedBy(getUser().getUserId()); + return test;} + + + + + + + public AppUser getUser() { + AppUser user = userService.getLoggedInUser(); + return user; + + }} diff --git a/testrm001-da-d/authsec_mysql/mysql/wf_table/wf_table.sql b/testrm001-da-d/authsec_mysql/mysql/wf_table/wf_table.sql new file mode 100755 index 0000000..fbde05f --- /dev/null +++ b/testrm001-da-d/authsec_mysql/mysql/wf_table/wf_table.sql @@ -0,0 +1,2 @@ +CREATE TABLE da.Kirantest(id BIGINT NOT NULL AUTO_INCREMENT, active VARCHAR(400), description VARCHAR(400), name VARCHAR(400), PRIMARY KEY (id)); + diff --git a/testrm001-front-f/authsec_react_materail_ui/src/App.js b/testrm001-front-f/authsec_react_materail_ui/src/App.js index 08bc072..236c4e2 100644 --- a/testrm001-front-f/authsec_react_materail_ui/src/App.js +++ b/testrm001-front-f/authsec_react_materail_ui/src/App.js @@ -1,4 +1,9 @@ -import React from "react"; +import Kirantest from "./components/BuilderComponents/basic1/Kirantest/Kirantest"; + +import React from "react + } /> + +"; import { Routes, Route } from "react-router-dom"; import { BrowserRouter as Router } from 'react-router-dom'; import Login from "./components/Login/Login"; @@ -35,4 +40,4 @@ const App = () => { ); }; -export default App; +export default App; \ No newline at end of file diff --git a/testrm001-front-f/authsec_react_materail_ui/src/components/BuilderComponents/basic1/Kirantest/Kirantest.js b/testrm001-front-f/authsec_react_materail_ui/src/components/BuilderComponents/basic1/Kirantest/Kirantest.js new file mode 100644 index 0000000..2b0bf50 --- /dev/null +++ b/testrm001-front-f/authsec_react_materail_ui/src/components/BuilderComponents/basic1/Kirantest/Kirantest.js @@ -0,0 +1,567 @@ +import React, { useEffect, useState ,useRef } from "react"; +import axios from "axios"; +import { + Button, + Dialog, + Autocomplete, + DialogActions, + DialogContent, + DialogTitle, + Snackbar, + Alert, + Typography, + TextField, + Table, + TableBody, + Switch, + TableCell, + TableContainer, + TableHead, + TableRow, + CardMedia, + Card, + LinearProgress, +Grid, +Container, + TablePagination, + Paper, + IconButton, + InputAdornment +} from "@mui/material"; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; + +import FormGroup from '@mui/material/FormGroup'; +import Checkbox from '@mui/material/Checkbox'; + +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import Select from '@mui/material/Select'; + +import Box from '@mui/material/Box'; +import OutlinedInput from '@mui/material/OutlinedInput'; +import Chip from '@mui/material/Chip'; + +import { makeStyles } from '@mui/styles'; +import { QRCode } from "react-qrcode-logo"; +import Barcode from "react-barcode"; + import { ToastContainer, toast } from "react-toastify"; +import "react-toastify/dist/ReactToastify.css"; +import ReCAPTCHA from 'react-google-recaptcha'; + import { getToken } from '../../../../utils/tokenService';import SearchIcon from '@mui/icons-material/Search'; + +const FILE_API_URL = `${process.env.REACT_APP_API_BASE_URL}/FileUpload/Uploadeddocs`; +const API_URL = `${process.env.REACT_APP_API_BASE_URL}/Kirantest/Kirantest`; +const token = localStorage.getItem("authToken"); +// Custom styles using makeStyles +const useStyles = makeStyles((theme) => ({ + tableHeader: { + backgroundColor: "#000000", + color: "#ffffff", + }, + searchContainer: { + display: 'flex', + alignItems: 'center', + marginBottom: theme.spacing(2), + }, + searchInput: { + marginRight: theme.spacing(2), + flex: 1, + }, + tableContainer: { + marginTop: theme.spacing(2), + }, + dialogContent: { + display: 'flex', + flexDirection: 'column', + gap: theme.spacing(2), + }, + formControl: { + marginBottom: theme.spacing(2), + }, + button: { + margin: theme.spacing(1), + }, +})); + + + + + + + + +const EntityTable = () => { + const classes = useStyles(); + const [data, setData] = useState([]); + const [filteredData, setFilteredData] = useState([]); + + + + + const handlesChange = (e) => { + const { name, checked } = e.target; + setNewEntity({ ...newEntity, [name]: checked }); + }; + + const [newEntity, setNewEntity] = useState({ + name: "", + + description: "", + +active:false, + + }); + const [editEntity, setEditEntity] = useState(null); + const [showEditModal, setShowEditModal] = useState(false); + const [showAddModal, setShowAddModal] = useState(false); + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [deleteEntityId, setDeleteEntityId] = useState(null); + const [currentPage, setCurrentPage] = useState(0); + const [itemsPerPage] = useState(5); // Adjust this value as needed + const [searchQuery, setSearchQuery] = useState(""); + const [openSnackbar, setOpenSnackbar] = useState(false); + const [snackbarMessage, setSnackbarMessage] = useState(""); + const [qrText, setQrText] = useState(""); + const [showQrCode, setShowQrCode] = useState(false); + const qrCodeRef = useRef(); + const [barcodeText, setBarcodeText] = useState(""); + const barcodeRef = useRef(); + const [showBarcode, setShowBarcode] = useState(false); + const [captchaValue, setCaptchaValue] = useState(null); + const [alertMessage, setAlertMessage] = useState(""); + const [showPaymentOptions, setShowPaymentOptions] = useState(false); + const [uploadProgress, setUploadProgress] = useState(0); + const [serverData, setServerData] = useState([]); + const [showValulistModal, setShowValulistModal] = useState(false); + const [snackbarSeverity, setSnackbarSeverity] = useState("success"); + + const handlePageChange = (event, newPage) => { + setCurrentPage(newPage); + }; + + useEffect(() => { + fetchData(); + }, []); + + useEffect(() => { + handleSearch(); + }, [searchQuery, data]); + + const fetchData = async () => { + try { + const token = getToken(); + const response = await axios.get(API_URL, { + headers: { Authorization: `Bearer ${token}` }, + }); + setData(response.data); + } catch (error) { + console.error("Error fetching data:", error); + } + }; + + const handleDelete = async () => { + try { + const token = getToken(); + await axios.delete(`${API_URL}/${deleteEntityId}`, { + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setSnackbarMessage("Successfully deleted!"); + setSnackbarSeverity("success"); + setOpenSnackbar(true); + setShowDeleteModal(false); + } catch (error) { + console.error("Error deleting data:", error); + setSnackbarMessage("Failed to delete!"); + setSnackbarSeverity("error"); + setOpenSnackbar(true); + } + }; + + const handleAdd = async () => { + + + + + + + try { + const token = getToken(); + await axios.post(API_URL, newEntity, { + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setNewEntity({ + name: "", + + description: "", + +active:false, + + }); + setShowAddModal(false); + setSnackbarMessage("Successfully added!"); + setSnackbarSeverity("success"); + setOpenSnackbar(true); + } catch (error) { + console.error("Error adding data:", error); + setSnackbarMessage("Failed to add!"); + setSnackbarSeverity("error"); + setOpenSnackbar(true); + } + }; + + const handleChange = (e) => { + const { name, value } = e.target; + setNewEntity({ ...newEntity, [name]: value }); + + + + + + + }; + + const handleChangeCheckbox = (e) => { + const { name, value, checked } = e.target; + setNewEntity({ ...newEntity, [value]: checked }); + }; + +const handleChangeSelectMulti = (e) => { + const { name, value } = e.target; + setNewEntity({ ...newEntity, [name]: String(value) }); + }; + + const handleEditChange = (e) => { + const { name, value } = e.target; + setEditEntity({ ...editEntity, [name]: value }); + }; + + const handleEdit = (entity) => { + let requiredKeys = Object.keys(newEntity); + let newObj = {}; + requiredKeys.forEach((key) => { + newObj[key] = entity[key]; + }); + setEditEntity(entity); + setNewEntity(newObj); + setShowEditModal(true); + }; + + const handleUpdate = async () => { + + + + + + + try { + const token = getToken(); + await axios.put(`${API_URL}/${editEntity.id}`, newEntity, { + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setShowEditModal(false); + setSnackbarMessage("Successfully updated!"); + setSnackbarSeverity("success"); + setOpenSnackbar(true); + } catch (error) { + console.error("Error updating data:", error); + setSnackbarMessage("Failed to update!"); + setSnackbarSeverity("error"); + setOpenSnackbar(true); + } + }; + + const handleSearch = () => { + const filtered = data; + setFilteredData(filtered); + }; + + + + + + + + return ( +
+ + Entity Table + +
+ + + + + + + + setSearchQuery(e.target.value)} + InputProps={{ + endAdornment: ( + + + + + + ), + }} + /> +
+ + + + + + + + + + + + + + {filteredData.slice(currentPage * itemsPerPage, (currentPage + 1) * itemsPerPage).map((entity) => ( + + + + + + + + + + + + + + + + + + + + + + + + ))} + +
namedescriptionactive{entity.name}{entity.description}{entity.active ? "Yes" : "No"}
+
+ + + + + + + + setShowEditModal(false)}> + Edit Entity + + + + + + + + + + + + + + } + label="Active" + /> + + + + + + + + + setShowAddModal(false)}> + Add Entity + + + + + + + + } + label="Active" + /> + + + + + + + + + + + + + + + + + + + + + setShowDeleteModal(false)}> + Confirm Delete + + Are you sure you want to delete this entity? + + + + + + + setOpenSnackbar(false)} + > + setOpenSnackbar(false)} severity={snackbarSeverity}> + {snackbarMessage} + + +
+ ); +}; + +export default EntityTable;