From d8777f63b0c5ddea9dcf2ef5e4f530d94db25194 Mon Sep 17 00:00:00 2001 From: "usama.jameel" Date: Mon, 6 Jan 2025 11:10:42 +0500 Subject: [PATCH] fixed bugs and add accounts active and in-active, Fixed username field --- .../controller/CuttingController.java | 38 ++++++++++--------- .../controller/FinishingController.java | 12 +++--- .../controller/JobCardController.java | 17 ++++----- .../controller/PackagingController.java | 6 +-- .../controller/QualityControlController.java | 7 ++-- .../controller/ReportingController.java | 13 ++----- .../controller/StitchingController.java | 24 ++++-------- .../controller/UserController.java | 9 +++-- .../dao/ctp/AuthorityDAO.java | 5 +-- .../dao/ctp/FinishOfflineItemRowMapper.java | 25 ------------ .../dao/ctp/FinishedItemDAO.java | 10 ++--- .../dao/ctp/InventoryAccountDAO.java | 6 +-- .../dao/ctp/StitchingOfflineItemDAO.java | 2 +- .../ctp/InventoryAccountQueryBuilder.java | 2 +- .../querybuilder/ctp/JobCardQueryBuilder.java | 28 +++++++------- .../service/InventoryAccountService.java | 1 + .../service/InventoryArtifactService.java | 2 +- .../service/JobCardService.java | 15 ++++---- .../SummaryInventoryReportService.java | 8 ++-- .../utopiaindustries/service/UserService.java | 9 +++-- .../templates/_job-card-sidebar.html | 6 +-- .../resources/templates/_user-fragment.html | 4 +- .../templates/cutting/_bundle-sidebar.html | 6 +-- .../_cutting-inventory-account-sidebar.html | 4 +- .../cutting/_master-bundle-sidebar.html | 6 +-- .../resources/templates/cutting/bundles.html | 2 +- .../templates/cutting/master-bundles.html | 2 +- .../finishing/segregate-inventory.html | 1 - .../templates/inventory-account-list.html | 4 +- .../resources/templates/job-card-list.html | 4 +- .../reporting/inventory-summary-sidebar.html | 4 +- .../reporting/inventory-summary.html | 2 +- .../stitching/_finished-item-sidebar.html | 6 +-- .../stitching/stitched-offline-items.html | 2 +- .../stitching/stitching-item-form.html | 2 +- src/main/resources/templates/users.html | 2 +- 36 files changed, 125 insertions(+), 171 deletions(-) delete mode 100644 src/main/java/com/utopiaindustries/dao/ctp/FinishOfflineItemRowMapper.java diff --git a/src/main/java/com/utopiaindustries/controller/CuttingController.java b/src/main/java/com/utopiaindustries/controller/CuttingController.java index 11a922c..bddf877 100644 --- a/src/main/java/com/utopiaindustries/controller/CuttingController.java +++ b/src/main/java/com/utopiaindustries/controller/CuttingController.java @@ -109,7 +109,6 @@ public class CuttingController { @GetMapping( "/bundles" ) public String showBundles( @RequestParam( value = "id", required = false ) String id, @RequestParam( value = "sku", required = false) String sku, - @RequestParam( value = "exceptionCheck", required = false, defaultValue = "false") boolean exceptionCheck, @RequestParam( value = "jc-id", required = false) String jobCardId, @RequestParam( value = "master-id" , required = false ) String masterId, @RequestParam( value = "type", required = false) String type, @@ -121,32 +120,25 @@ public class CuttingController { LocalDate startDate1 = StringUtils.isNullOrEmpty(startDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(startDate); LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now() : LocalDate.parse(endDate); + model.addAttribute("startDate", startDate1); + model.addAttribute("endDate", endDate1); model.addAttribute("bundles", bundleService.getBundles( id, sku, jobCardId, masterId, type, status, startDate1.toString(), endDate1.toString() ,count ) ); model.addAttribute("types", jobCardService.getAllPieceTypes() ); - if(StringUtils.isNullOrEmpty( startDate) || StringUtils.isNullOrEmpty( endDate )){ - return "redirect:/cutting/bundles?id=&sku=&jc-id=&master-id=&type=&status=0&start-date="+startDate1+"&end-date="+endDate1+"&count=100"; - } return "/cutting/bundles"; } - @GetMapping( "/master-bundles") public String showMasterBundles( @RequestParam(value = "id" , required = false) String id, @RequestParam(value = "jc-id", required = false ) String jobCardId, @RequestParam(value = "start-date", required = false) String startDate, @RequestParam(value = "end-date", required = false) String endDate, @RequestParam(value = "count", required = false) Long count, - @RequestParam( value = "exceptionCheck", required = false, defaultValue = "false") boolean exceptionCheck, - Model model, RedirectAttributes redirectAttributes ){ - if(exceptionCheck){ - redirectAttributes.addFlashAttribute("error", "Please Select At least One CheckBox." ); - } + Model model){ LocalDate startDate1 = StringUtils.isNullOrEmpty(startDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(startDate); LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now() : LocalDate.parse(endDate); + model.addAttribute("startDate", startDate1); + model.addAttribute("endDate", endDate1); model.addAttribute("masterBundles", bundleService.getMasterBundles( id, jobCardId, startDate1.toString(), endDate1.toString(), count ) ); - if(StringUtils.isNullOrEmpty( startDate) || StringUtils.isNullOrEmpty( endDate ) || exceptionCheck ){ - return "redirect:/cutting/master-bundles?id=&jc-id=&start-date="+startDate1+"&end-date="+endDate1+"&count=100"; - } return "/cutting/master-bundles"; } @@ -157,12 +149,22 @@ public class CuttingController { return "/cutting/child-bundles"; } - - @PostMapping( "/generate-barcodes" ) - public Object generateBarcode(@RequestParam( name = "ids", required = false ) Long[] ids, - @RequestParam( name = "artifactType", required = true ) String artifactType ) throws Exception { + @PostMapping( "/generate-bundle-barcodes" ) + public Object generateBundleBarcode(@RequestParam( name = "ids", required = false ) Long[] ids, + @RequestParam( name = "artifactType", required = true ) String artifactType , RedirectAttributes redirectAttributes) throws Exception { if(ids == null){ - return "redirect:/cutting/master-bundles?id=&jc-id=&start-date=2024-12-01&end-date=2024-12-31&count=100&exceptionCheck=true"; + redirectAttributes.addFlashAttribute("error", "Please Select At least One CheckBox." ); + return "redirect:/cutting/bundles"; + } + return barcodeService.generateBarcodes( Arrays.asList( ids ), artifactType ); + } + + @PostMapping( "/generate-master-barcodes" ) + public Object generateMasterBarcode(@RequestParam( name = "ids", required = false ) Long[] ids, + @RequestParam( name = "artifactType", required = true ) String artifactType, RedirectAttributes redirectAttributes ) throws Exception { + if(ids == null){ + redirectAttributes.addFlashAttribute("error", "Please Select At least One CheckBox." ); + return "redirect:/cutting/master-bundles"; } return barcodeService.generateBarcodes( Arrays.asList( ids ), artifactType ); } diff --git a/src/main/java/com/utopiaindustries/controller/FinishingController.java b/src/main/java/com/utopiaindustries/controller/FinishingController.java index fb853d9..ec4983a 100644 --- a/src/main/java/com/utopiaindustries/controller/FinishingController.java +++ b/src/main/java/com/utopiaindustries/controller/FinishingController.java @@ -50,13 +50,14 @@ public class FinishingController { @RequestParam( value = "job-card-id", required = false ) String jobCardId, @RequestParam( value = "count", required = false ) Long count, Model model ){ + LocalDate startDate1 = StringUtils.isNullOrEmpty(startDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(startDate); LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now() : LocalDate.parse(endDate); + model.addAttribute("startDate", startDate1); + model.addAttribute("endDate", endDate1); List itemList = bundleService.getFinishedItem( id, itemId, sku, startDate1.toString(), endDate1.toString(), jobCardId ,count ); model.addAttribute("items", itemList ) ; - if(StringUtils.isNullOrEmpty( startDate) || StringUtils.isNullOrEmpty( endDate )){ - return "redirect:/finishing/finished-items?id=&item-id=&sku=&job-card-id=&start-date="+startDate1+"&end-date="+endDate1+"&count=100"; - } + return "finishing/finished-item-list"; } @@ -72,14 +73,11 @@ public class FinishingController { @RequestParam( value = "start-date", required = false ) String startDate, @RequestParam( value = "end-date", required = false ) String endDate, @RequestParam( value = "site-id", required = false ) String siteId, - @RequestParam( value = "count", required = false ) Long count, + @RequestParam( value = "count", required = false, defaultValue = "100") Long count, Model model ) { // 5 for Finishing model.addAttribute("accounts", inventoryAccountService.getInventoryAccounts( id, title, active, createdBy, startDate, endDate, siteId, count, "PROCESS", "5" , false )); model.addAttribute("locations", locationService.findAll() ); - if(count == null){ - return "redirect:/finishing/inventory-accounts?id=&title=&active=&created-by=&start-date=&end-date=&site-id=&site-title=&count=100"; - } return "/finishing/inventory-accounts"; } diff --git a/src/main/java/com/utopiaindustries/controller/JobCardController.java b/src/main/java/com/utopiaindustries/controller/JobCardController.java index 23c5175..13f0c68 100644 --- a/src/main/java/com/utopiaindustries/controller/JobCardController.java +++ b/src/main/java/com/utopiaindustries/controller/JobCardController.java @@ -50,17 +50,17 @@ public class JobCardController { @RequestParam( value = "created-end-date", required = false ) String createdEndDate, @RequestParam( value = "limit" , required = false) Long limit, Model model ){ - List cards = jobCardService.getCards(code, status, inventoryStatus, customer, lotNumber, purchaseOrderId, locationSiteId,createdStartDate, createdEndDate, limit ); + + LocalDate startDate = StringUtils.isNullOrEmpty(createdStartDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(createdStartDate); + LocalDate endDate = StringUtils.isNullOrEmpty(createdEndDate) ? LocalDate.now() : LocalDate.parse(createdEndDate); + String code1 = StringUtils.isNullOrEmpty(code) ? "" : code; + model.addAttribute("startDate", startDate); + model.addAttribute("endDate", endDate); + List cards = jobCardService.getCards(code1, status, inventoryStatus, customer, lotNumber, purchaseOrderId, locationSiteId,startDate.toString(), endDate.toString(), limit ); model.addAttribute("cards", cards ); model.addAttribute("statuses", JobCard.Status.values() ); model.addAttribute("invStatuses", JobCard.InventoryStatus.values() ); model.addAttribute("locations", locationService.findAll() ); - LocalDate startDate = StringUtils.isNullOrEmpty(createdStartDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(createdStartDate); - LocalDate endDate = StringUtils.isNullOrEmpty(createdEndDate) ? LocalDate.now() : LocalDate.parse(createdEndDate); - if(StringUtils.isNullOrEmpty( createdStartDate) || StringUtils.isNullOrEmpty( createdEndDate )){ - return "redirect:/job-cards/?code=&status=&inventory-status=&customer=&lot-number=&purchase-order-id=&purchase-order-code=&purchaseOrderTitle=&site-id=&site-title=&created-start-date="+startDate+"&created-end-date="+endDate+"&limit=100"; - } - return "job-card-list"; } @@ -88,7 +88,6 @@ public class JobCardController { public String saveJobCard( @ModelAttribute JobCard jobCard, RedirectAttributes redirectAttributes, Model model ){ - try { jobCard.setStatus( JobCard.Status.DRAFT.name() ); jobCard.setInventoryStatus( JobCard.InventoryStatus.NOT_RECEIVED_YET.name() ); @@ -154,7 +153,7 @@ public class JobCardController { return "redirect:/job-cards"; } - @GetMapping( value = "/job-card-detail/{id}" ) + @GetMapping( value = "/view/{id}" ) public String showJobCardDetail( @PathVariable("id") long id, Model model ){ List jobCardItems = jobCardService.findJobCardItemByJobCardId(id); diff --git a/src/main/java/com/utopiaindustries/controller/PackagingController.java b/src/main/java/com/utopiaindustries/controller/PackagingController.java index bbadbe3..8a7a597 100644 --- a/src/main/java/com/utopiaindustries/controller/PackagingController.java +++ b/src/main/java/com/utopiaindustries/controller/PackagingController.java @@ -42,11 +42,11 @@ public class PackagingController { @RequestParam( value = "site-id", required = false ) String siteId, @RequestParam( value = "count", required = false ) Long count, Model model ){ - model.addAttribute("accounts", inventoryAccountService.getInventoryAccounts( id, title, active, createdBy, startDate, endDate, siteId, count , null, null,true ) ); - model.addAttribute("locations", locationService.findAll() ); - if(count == null){ + if(StringUtils.isNullOrEmpty( active )){ return "redirect:/packaging/inventory-accounts?id=&title=&active=1&created-by=&start-date=&end-date=&site-id=&site-title=&count=100"; } + model.addAttribute("accounts", inventoryAccountService.getInventoryAccounts( id, title, active, createdBy, startDate, endDate, siteId, count , null, null,true ) ); + model.addAttribute("locations", locationService.findAll() ); return "/packaging/inventory-accounts"; } } diff --git a/src/main/java/com/utopiaindustries/controller/QualityControlController.java b/src/main/java/com/utopiaindustries/controller/QualityControlController.java index bf4b60a..b1f88dd 100644 --- a/src/main/java/com/utopiaindustries/controller/QualityControlController.java +++ b/src/main/java/com/utopiaindustries/controller/QualityControlController.java @@ -64,15 +64,14 @@ public class QualityControlController { @RequestParam( value = "start-date", required = false) String startDate, @RequestParam( value = "end-date", required = false ) String endDate, @RequestParam( value = "job-card-id", required = false ) String jobCardId, - @RequestParam( value = "count", required = false ) Long count, + @RequestParam( value = "count", required = false, defaultValue = "100") Long count, Model model ){ LocalDate startDate1 = StringUtils.isNullOrEmpty(startDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(startDate); LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now() : LocalDate.parse(endDate); + model.addAttribute("startDate", startDate1); + model.addAttribute("endDate", endDate1); List itemList = bundleService.getFinishedItem( id, itemId, sku, startDate1.toString(), endDate1.toString(), jobCardId ,count ); model.addAttribute("items", itemList ) ; - if(StringUtils.isNullOrEmpty( startDate) || StringUtils.isNullOrEmpty( endDate )){ - return "redirect:/quality-control/qc-finished-items?id=&item-id=&sku=&job-card-id=&start-date="+startDate1+"&end-date="+endDate1+"&count=100"; - } return "/quality-control/qc-items-list"; } diff --git a/src/main/java/com/utopiaindustries/controller/ReportingController.java b/src/main/java/com/utopiaindustries/controller/ReportingController.java index 9243511..19e6786 100644 --- a/src/main/java/com/utopiaindustries/controller/ReportingController.java +++ b/src/main/java/com/utopiaindustries/controller/ReportingController.java @@ -27,21 +27,16 @@ public class ReportingController { } @GetMapping( "/summary") - public String showMasterBundles(@RequestParam(value = "item-id", required = false ) String itemId, - @RequestParam(value = "sku" , required = false) String sku, - @RequestParam(value = "start-date", required = false) String startDate, - @RequestParam(value = "end-date", required = false) String endDate, - Model model ){ + public String showMasterBundles(@RequestParam(value = "item-id", required = false ) String itemId, @RequestParam(value = "sku" , required = false) String sku, @RequestParam(value = "start-date", required = false) String startDate, @RequestParam(value = "end-date", required = false) String endDate, Model model ){ - Map>> getDataByFilteration = summaryInventoryReportService.findByFilter(itemId,sku,startDate,endDate); LocalDate startDate1 = StringUtils.isNullOrEmpty(startDate) ? LocalDate.now().minusDays(6) : LocalDate.parse(startDate); LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now().plusDays(1) : LocalDate.parse(endDate); + model.addAttribute("startDate", startDate1); + model.addAttribute("endDate", endDate1); + Map>> getDataByFilteration = summaryInventoryReportService.findByFilter(itemId,sku,startDate,endDate); ArrayList arrayList = generateDateList(startDate1,endDate1); model.addAttribute("dateLimits", arrayList); model.addAttribute("tableData", getDataByFilteration); - if(StringUtils.isNullOrEmpty( startDate) || StringUtils.isNullOrEmpty( endDate )){ - return "redirect:/reporting/summary?item-id=&sku=&start-date="+startDate1.toString()+"&end-date="+endDate1; - } return "/reporting/inventory-summary"; } diff --git a/src/main/java/com/utopiaindustries/controller/StitchingController.java b/src/main/java/com/utopiaindustries/controller/StitchingController.java index 95797af..b96c5cd 100644 --- a/src/main/java/com/utopiaindustries/controller/StitchingController.java +++ b/src/main/java/com/utopiaindustries/controller/StitchingController.java @@ -95,24 +95,15 @@ public class StitchingController { @RequestParam( value = "start-date", required = false) String startDate, @RequestParam( value = "end-date", required = false ) String endDate, @RequestParam( value = "job-card-id", required = false ) String jobCardId, - @RequestParam( value = "count", required = false ) Long count, + @RequestParam( value = "count", required = false, defaultValue = "100") Long count, Model model ,RedirectAttributes redirect){ LocalDate startDate1 = StringUtils.isNullOrEmpty(startDate) ? LocalDate.now().minusDays(30) : LocalDate.parse(startDate); LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now() : LocalDate.parse(endDate); List itemList = bundleService.getStitchedOfflineItems( id, itemId, sku, startDate, endDate, jobCardId ,count ); model.addAttribute("items", itemList ) ; - if(model.getAttribute("message") != null){ - if(model.getAttribute("message").equals("Finished Item Created Successfully") ){ - redirect.addFlashAttribute("success", model.getAttribute("message")); - - }else { - redirect.addFlashAttribute("error", model.getAttribute("message")); - } - } - if(StringUtils.isNullOrEmpty( startDate) || StringUtils.isNullOrEmpty( endDate )){ - return "redirect:/stitching/stitching-offline-items?id=&item-id=&sku=&job-card-id=&start-date="+startDate1+"&end-date="+endDate1+"&count=100"; - } + model.addAttribute("startDate", startDate1); + model.addAttribute("endDate", endDate1); return "/stitching/stitched-offline-items"; } @@ -129,10 +120,10 @@ public class StitchingController { Model model ){ try { inventoryService.createStitchingOfflineItemsFromJobCard( jobCard ); - redirectAttributes.addFlashAttribute("message", "Finished Item Created Successfully"); + redirectAttributes.addFlashAttribute("success", "Finished Item Created Successfully"); } catch ( Exception exception ){ exception.printStackTrace(); - redirectAttributes.addFlashAttribute( "message", exception.getMessage() ); + redirectAttributes.addFlashAttribute( "error", exception.getMessage() ); } return "redirect:/stitching/stitching-offline-items"; } @@ -141,10 +132,9 @@ public class StitchingController { public Object generateBarcode(@RequestParam( name = "ids" ,required = false) Long[] ids, @RequestParam( name = "artifactType" ) String artifactType, RedirectAttributes redirectAttributes ) throws Exception { if (ids == null){ - redirectAttributes.addFlashAttribute( "message", "Select At least One CheckBox" ); + redirectAttributes.addFlashAttribute( "error", "Select At least One CheckBox" ); return "redirect:/stitching/stitching-offline-items"; - }else { - return barcodeService.generateBarcodes( Arrays.asList( ids ), artifactType ); } + return barcodeService.generateBarcodes( Arrays.asList( ids ), artifactType ); } } diff --git a/src/main/java/com/utopiaindustries/controller/UserController.java b/src/main/java/com/utopiaindustries/controller/UserController.java index f08e9d5..0778541 100644 --- a/src/main/java/com/utopiaindustries/controller/UserController.java +++ b/src/main/java/com/utopiaindustries/controller/UserController.java @@ -33,7 +33,7 @@ public class UserController { model.addAttribute("user", userService.createEmptyUser() ); model.addAttribute("accounts", inventoryAccountService.findInventoryAccounts() ); model.addAttribute("roles", Roles.values() ); - model.addAttribute("isNew", true ); + model.addAttribute("isNew", false ); return "_user-fragment"; } @@ -42,6 +42,7 @@ public class UserController { model.addAttribute("user", userService.getUser( username ) ); model.addAttribute("accounts", inventoryAccountService.findInventoryAccounts() ); model.addAttribute("roles", Roles.values() ); + model.addAttribute("isNew", true ); return "_user-fragment"; } @@ -50,12 +51,12 @@ public class UserController { @ModelAttribute User user , RedirectAttributes redirectAttributes ){ try { - userService.saveUser( user ); + userService.saveUser( user, true ); redirectAttributes.addFlashAttribute("success", "User Successfully Saved!" ); } catch ( Exception e ){ redirectAttributes.addFlashAttribute("error", e.getMessage() ); } - return "redirect:/users"; + return "redirect:/users/new"; } @PostMapping( "/edit/{username}" ) @@ -63,7 +64,7 @@ public class UserController { @ModelAttribute User user, RedirectAttributes redirectAttributes ){ try { - userService.saveUser( user ); + userService.saveUser( user, false ); redirectAttributes.addFlashAttribute("success", "User Successfully Edited!" ); } catch ( Exception e ){ redirectAttributes.addFlashAttribute("error", e.getMessage() ); diff --git a/src/main/java/com/utopiaindustries/dao/ctp/AuthorityDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/AuthorityDAO.java index f380853..e82d950 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/AuthorityDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/AuthorityDAO.java @@ -82,13 +82,10 @@ public class AuthorityDAO { // save all public int[] saveAll( List authorities ) { List batchArgs = new ArrayList<>(); - if (authorities == null){ - return namedParameterJdbcTemplate.batchUpdate( INSERT_QUERY, batchArgs.toArray(new MapSqlParameterSource[0]) ); - } for ( Authority authority: authorities ) { MapSqlParameterSource params = prepareInsertQueryParams( authority ); batchArgs.add( params ); } - return namedParameterJdbcTemplate.batchUpdate( INSERT_QUERY, batchArgs.toArray(new MapSqlParameterSource[authorities.size()]) ); + return namedParameterJdbcTemplate.batchUpdate( INSERT_QUERY, batchArgs.toArray(new MapSqlParameterSource[authorities.size()]) ); } } diff --git a/src/main/java/com/utopiaindustries/dao/ctp/FinishOfflineItemRowMapper.java b/src/main/java/com/utopiaindustries/dao/ctp/FinishOfflineItemRowMapper.java deleted file mode 100644 index 7bb171a..0000000 --- a/src/main/java/com/utopiaindustries/dao/ctp/FinishOfflineItemRowMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.utopiaindustries.dao.ctp; - -import com.utopiaindustries.model.ctp.FinishedItem; -import org.springframework.jdbc.core.RowMapper; - -import java.sql.ResultSet; -import java.sql.SQLException; - -public class FinishOfflineItemRowMapper implements RowMapper { - public FinishedItem mapRow(ResultSet rs, int rowNum ) throws SQLException { - FinishedItem finishedItem = new FinishedItem(); - finishedItem.setId( rs.getLong( "id" ) ); - finishedItem.setItemId( rs.getLong( "item_id" ) ); - finishedItem.setSku( rs.getString( "sku" ) ); - finishedItem.setBarcode( rs.getString( "barcode" ) ); - if ( rs.getTimestamp( "created_at" ) != null ) { - finishedItem.setCreatedAt( rs.getTimestamp( "created_at" ).toLocalDateTime() ); - } - finishedItem.setCreatedBy( rs.getString( "created_by" ) ); - finishedItem.setJobCardId( rs.getLong("job_card_id") ); - finishedItem.setIsQa( rs.getBoolean("is_qa")); - finishedItem.setQaStatus( rs.getString("qa_status" ) ); - return finishedItem; - } -} diff --git a/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java index 380df3e..cfbfdd3 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java @@ -104,10 +104,6 @@ public class FinishedItemDAO { return namedParameterJdbcTemplate.query( query, new FinishedItemRowMapper() ); } - public List findFinishOfflineItemByQuery(String query ){ - return namedParameterJdbcTemplate.query( query, new FinishedItemRowMapper() ); - } - public List findByIds(List ids ){ if( ids == null || ids.isEmpty() ) return new ArrayList<>(); MapSqlParameterSource params = new MapSqlParameterSource(); @@ -139,7 +135,7 @@ public class FinishedItemDAO { } - public HashMap findTotalCount(List itemIds, long jobCardId) { + public HashMap findTotalFinishedItems(List itemIds, long jobCardId) { HashMap totalCounts = new HashMap<>(); MapSqlParameterSource params = new MapSqlParameterSource(); for (long id : itemIds) { @@ -160,9 +156,9 @@ public class FinishedItemDAO { return namedParameterJdbcTemplate.query( SELECT_BY_STITCHED_ITEM_IDS, params, new FinishedItemRowMapper() ); } - public List findByBarcodeAndApprovedStatus( List finishedItems ){ + public List findByBarcodeAndApprovedStatus( List stitchingOfflineItems ){ List items = new ArrayList<>(); - for (StitchingOfflineItem item : finishedItems){ + for (StitchingOfflineItem item : stitchingOfflineItems){ MapSqlParameterSource params = new MapSqlParameterSource(); params.addValue("barcode", item.getBarcode() ); boolean check =Boolean.TRUE.equals(namedParameterJdbcTemplate.queryForObject( SELECT_QUERY_BY_BARCODE_QA_STATUS, params, Boolean.class )); diff --git a/src/main/java/com/utopiaindustries/dao/ctp/InventoryAccountDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/InventoryAccountDAO.java index 55cdd6d..43aa3c1 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/InventoryAccountDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/InventoryAccountDAO.java @@ -22,11 +22,11 @@ public class InventoryAccountDAO { private final String DELETE_QUERY = String.format( "DELETE FROM %s WHERE id = :id", TABLE_NAME ); private final String INSERT_QUERY = String.format( "INSERT INTO %s (id, title, parent_entity_type, parent_entity_id, active, created_by, created_at, location_site_id, notes, is_packaging) VALUES (:id, :title, :parent_entity_type, :parent_entity_id, :active, :created_by, :created_at, :location_site_id, :notes, :is_packaging) ON DUPLICATE KEY UPDATE title = VALUES(title), parent_entity_type = VALUES(parent_entity_type), parent_entity_id = VALUES(parent_entity_id), active = VALUES(active), created_by = VALUES(created_by), created_at = VALUES(created_at), location_site_id = VALUES(location_site_id), notes = VALUES(notes), is_packaging = VALUES(is_packaging)", TABLE_NAME ); private final String SELECT_BY_IDS = String.format( "SELECT * FROM %s WHERE id IN (:ids)", TABLE_NAME ); - private final String SELECT_BY_IDS_AND_PARENT_ID = String.format( "SELECT * FROM %s WHERE id IN (:ids) AND parent_entity_id = :parent_entity_id", TABLE_NAME ); - private final String SELECT_BY_IDS_AND_PARENT_IDS = String.format( "SELECT * FROM %s WHERE id IN (:ids) AND parent_entity_id IN (:parent_entity_ids)", TABLE_NAME ); + private final String SELECT_BY_IDS_AND_PARENT_ID = String.format( "SELECT * FROM %s WHERE active = TRUE AND id IN (:ids) AND parent_entity_id = :parent_entity_id", TABLE_NAME ); + private final String SELECT_BY_IDS_AND_PARENT_IDS = String.format( "SELECT * FROM %s WHERE active = TRUE AND id IN (:ids) AND parent_entity_id IN (:parent_entity_ids)", TABLE_NAME ); private final String SELECT_BY_IDS_AND_PARENT_ENTITY_TYPE_AND_PARENT_ID_AND_COUNT = String.format( "SELECT * FROM %s WHERE id IN (:ids) AND parent_entity_id = :parent_entity_id AND parent_entity_type = :parent_entity_type LIMIT :limit", TABLE_NAME ); private final String SELECT_BY_IDS_PACKAGING_AND_COUNT = String.format( "SELECT * FROM %s WHERE id IN (:ids) AND is_packaging = :is_packaging LIMIT :limit", TABLE_NAME ); - private final String SELECT_BY_PARENT_TYPE_AND_PARENT_ID = String.format( "SELECT * FROM %s WHERE parent_entity_type = :parent_entity_type AND parent_entity_id = :parent_entity_id" , TABLE_NAME ); + private final String SELECT_BY_PARENT_TYPE_AND_PARENT_ID = String.format( "SELECT * FROM %s WHERE active = TRUE AND parent_entity_type = :parent_entity_type AND parent_entity_id = :parent_entity_id" , TABLE_NAME ); public InventoryAccountDAO(NamedParameterJdbcTemplate namedParameterJdbcTemplate) { this.namedParameterJdbcTemplate = namedParameterJdbcTemplate; diff --git a/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java index a5c8c5d..b58b11c 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java @@ -125,7 +125,7 @@ public class StitchingOfflineItemDAO { return namedParameterJdbcTemplate.query( SELECT_BY_MASTER_ID , params, new StitchingOfflineItemRowMapper() ); } - public HashMap findTotalCount(List itemIds, long jobCardId) { + public HashMap findTotalStitchingOfflineItems(List itemIds, long jobCardId) { HashMap totalCounts = new HashMap<>(); MapSqlParameterSource params = new MapSqlParameterSource(); for (long id : itemIds) { diff --git a/src/main/java/com/utopiaindustries/querybuilder/ctp/InventoryAccountQueryBuilder.java b/src/main/java/com/utopiaindustries/querybuilder/ctp/InventoryAccountQueryBuilder.java index aba10a7..11e5df9 100644 --- a/src/main/java/com/utopiaindustries/querybuilder/ctp/InventoryAccountQueryBuilder.java +++ b/src/main/java/com/utopiaindustries/querybuilder/ctp/InventoryAccountQueryBuilder.java @@ -43,7 +43,7 @@ public class InventoryAccountQueryBuilder { .setColumns("*") .where() .columnLikeTitle("title", title) - .or() + .and() .columnEquals("id", id) .and() .columnEquals("active", active) diff --git a/src/main/java/com/utopiaindustries/querybuilder/ctp/JobCardQueryBuilder.java b/src/main/java/com/utopiaindustries/querybuilder/ctp/JobCardQueryBuilder.java index 4eede66..6f085c0 100644 --- a/src/main/java/com/utopiaindustries/querybuilder/ctp/JobCardQueryBuilder.java +++ b/src/main/java/com/utopiaindustries/querybuilder/ctp/JobCardQueryBuilder.java @@ -26,30 +26,30 @@ public class JobCardQueryBuilder { } } - return ( new QueryBuilder() ) - .setTable( "cut_to_pack.job_card" ) - .setColumns( "*" ) + return (new QueryBuilder()) + .setTable("cut_to_pack.job_card") + .setColumns("*") .where() - .columnEquals("created_by",createdBy) + .columnEquals("created_by", createdBy) .and() - .columnLike( "code" , "%" + code +"%" ) + .columnLike("code", "%" + code + "%") .and() - .columnEquals( "status", status ) + .columnEquals("status", status) .and() - .columnEquals( "inventory_status", inventoryStatus ) + .columnEquals("inventory_status", inventoryStatus) .and() - .columnEquals( "customer", customer ) + .columnEquals("customer", customer) .and() - .columnEquals( "lot_number", lotNumber ) + .columnEquals("lot_number", lotNumber) .and() - .columnEquals( "purchase_order_id", purchaseOrderId ) + .columnEquals("purchase_order_id", purchaseOrderId) .and() - .columnEquals( "location_site_id", locationSiteId ) + .columnEquals("location_site_id", locationSiteId) .and() - .columnEqualToOrGreaterThan("created_at" , startDate1 ) + .columnEqualToOrGreaterThan("created_at", startDate1) .and() - .columnEqualToOrLessThan( "created_at", endDate1 ) - .limit( count.intValue() ) + .columnEqualToOrLessThan("created_at", endDate1) + .limit(count.intValue()) .build(); } } diff --git a/src/main/java/com/utopiaindustries/service/InventoryAccountService.java b/src/main/java/com/utopiaindustries/service/InventoryAccountService.java index c0a6b60..d83b4a7 100644 --- a/src/main/java/com/utopiaindustries/service/InventoryAccountService.java +++ b/src/main/java/com/utopiaindustries/service/InventoryAccountService.java @@ -98,6 +98,7 @@ public class InventoryAccountService { } public List getAllProcess(){ + return processDAO.findAll(); } diff --git a/src/main/java/com/utopiaindustries/service/InventoryArtifactService.java b/src/main/java/com/utopiaindustries/service/InventoryArtifactService.java index dc0e77d..e96a1f1 100644 --- a/src/main/java/com/utopiaindustries/service/InventoryArtifactService.java +++ b/src/main/java/com/utopiaindustries/service/InventoryArtifactService.java @@ -55,7 +55,7 @@ public class InventoryArtifactService { /* * get finished Items By Job Card ID * */ - public FinishedItem findFinishedItemByJobCardId( long id ){ + public FinishedItem findByJobCardId( long id ){ FinishedItem finishedItem = finishedItemDAO.find( id ); finishedItem.setJobCard( jobCardDAO.find( finishedItem.getJobCardId() ) ); return finishedItem; diff --git a/src/main/java/com/utopiaindustries/service/JobCardService.java b/src/main/java/com/utopiaindustries/service/JobCardService.java index aa50ab6..091cb4d 100644 --- a/src/main/java/com/utopiaindustries/service/JobCardService.java +++ b/src/main/java/com/utopiaindustries/service/JobCardService.java @@ -81,17 +81,18 @@ public class JobCardService { Long limit) { List jobCards = new ArrayList<>(); Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + String createdBy = authentication.getName(); if( limit == null ){ limit = 100L; } if( StringUtils.isAnyNotNullOrEmpty( code, status, inventoryStatus, customer, lotNumber, purchaseOrderId, locationSiteId, createdStartDate, createdEndDate ) ){ - String query = JobCardQueryBuilder.buildQuery(code, authentication.getName(), status, inventoryStatus, customer, lotNumber, purchaseOrderId, locationSiteId, createdStartDate, createdEndDate, limit ); - System.out.println( query ); for (GrantedAuthority role : authentication.getAuthorities()){ if (role.toString().equals("ROLE_ADMIN")){ - return jobCards = jobCardDAO.findByAllWithLimit(limit); + createdBy = ""; } } + String query = JobCardQueryBuilder.buildQuery(code, createdBy, status, inventoryStatus, customer, lotNumber, purchaseOrderId, locationSiteId, createdStartDate, createdEndDate, limit ); + System.out.println( query ); jobCards = jobCardDAO.findByQuery( query ); }else { jobCards = jobCardDAO.findByUserAndLimit( authentication.getName(), limit ); @@ -283,11 +284,11 @@ public class JobCardService { return stitchingOfflineItemDAO.findByJobCardId( jobCardId ); } - public HashMap totalStitchingItem(List itemIds, long jobCardId ){ - return stitchingOfflineItemDAO.findTotalCount( itemIds, jobCardId ); + public Map totalStitchingItem(List itemIds, long jobCardId ){ + return stitchingOfflineItemDAO.findTotalStitchingOfflineItems( itemIds, jobCardId ); } - public HashMap totalFinishItem(List itemIds, long jobCardId ){ - return finishedItemDAO.findTotalCount( itemIds, jobCardId ); + public Map totalFinishItem(List itemIds, long jobCardId ){ + return finishedItemDAO.findTotalFinishedItems( itemIds, jobCardId ); } } diff --git a/src/main/java/com/utopiaindustries/service/SummaryInventoryReportService.java b/src/main/java/com/utopiaindustries/service/SummaryInventoryReportService.java index 944a2ad..29b9b68 100644 --- a/src/main/java/com/utopiaindustries/service/SummaryInventoryReportService.java +++ b/src/main/java/com/utopiaindustries/service/SummaryInventoryReportService.java @@ -44,19 +44,19 @@ public class SummaryInventoryReportService { } List summaries = summaryInventoryReportDao.findByFilter(itemId1, sku1, startDate1, endDate1); - Map>> tableData = new HashMap<>(); + Map>> skuMapDateMap = new HashMap<>(); if(summaries == null) { - tableData = null; + skuMapDateMap = null; }else { for (SummaryInventoryReport summary : summaries) { - tableData + skuMapDateMap .computeIfAbsent(summary.getSku(), k -> new HashMap<>()) // SKU as key .computeIfAbsent(summary.getDate(), d -> new ArrayList<>()) // Date as key .add(summary); } } - return tableData; + return skuMapDateMap; } } diff --git a/src/main/java/com/utopiaindustries/service/UserService.java b/src/main/java/com/utopiaindustries/service/UserService.java index 1d5d36f..1eaeadf 100644 --- a/src/main/java/com/utopiaindustries/service/UserService.java +++ b/src/main/java/com/utopiaindustries/service/UserService.java @@ -64,7 +64,10 @@ public class UserService { * save user * */ @Transactional - public void saveUser( User user ){ + public void saveUser( User user, boolean checkNewOrEdit ){ + if(userDAO.findByUsername(user.getUsername()) != null && checkNewOrEdit ){ + throw new RuntimeException("username already exists"); + } // save user createUser( user ); // remove previous @@ -89,15 +92,13 @@ public class UserService { List newRoles = user.getAuthorities(); if(newRoles != null) { newRoles.forEach(authority -> authority.setUsername(user.getUsername())); + authorityDAO.saveAll( newRoles ); } List newInventoryAccounts = user.getInventoryAccounts(); if( newInventoryAccounts != null ){ newInventoryAccounts.forEach(account -> account.setUsername( user.getUsername() )); userInventoryAccountDAO.saveAll( newInventoryAccounts ); } - - // save - authorityDAO.saveAll( newRoles ); } private void deletePreviousRolesAndAccounts( User user ){ diff --git a/src/main/resources/templates/_job-card-sidebar.html b/src/main/resources/templates/_job-card-sidebar.html index 0c5b148..0062286 100644 --- a/src/main/resources/templates/_job-card-sidebar.html +++ b/src/main/resources/templates/_job-card-sidebar.html @@ -53,16 +53,16 @@
- +
- +
+ th:value="${param['limits'] ?: 100}">
- +
- +
diff --git a/src/main/resources/templates/cutting/_bundle-sidebar.html b/src/main/resources/templates/cutting/_bundle-sidebar.html index b7a6ec9..bdaf693 100644 --- a/src/main/resources/templates/cutting/_bundle-sidebar.html +++ b/src/main/resources/templates/cutting/_bundle-sidebar.html @@ -46,15 +46,15 @@
- +
- +
- +
Reset diff --git a/src/main/resources/templates/cutting/_cutting-inventory-account-sidebar.html b/src/main/resources/templates/cutting/_cutting-inventory-account-sidebar.html index f6ae71b..527af26 100644 --- a/src/main/resources/templates/cutting/_cutting-inventory-account-sidebar.html +++ b/src/main/resources/templates/cutting/_cutting-inventory-account-sidebar.html @@ -44,9 +44,9 @@
- - +
+ Reset diff --git a/src/main/resources/templates/cutting/_master-bundle-sidebar.html b/src/main/resources/templates/cutting/_master-bundle-sidebar.html index da34147..1eb3cbd 100644 --- a/src/main/resources/templates/cutting/_master-bundle-sidebar.html +++ b/src/main/resources/templates/cutting/_master-bundle-sidebar.html @@ -28,16 +28,16 @@
- +
- +
+ th:value="${param['count'] ?: 100}">
Bundles
-
+ diff --git a/src/main/resources/templates/cutting/master-bundles.html b/src/main/resources/templates/cutting/master-bundles.html index 9a1aad6..e11cdb8 100644 --- a/src/main/resources/templates/cutting/master-bundles.html +++ b/src/main/resources/templates/cutting/master-bundles.html @@ -16,7 +16,7 @@

Master Bundles

- +
diff --git a/src/main/resources/templates/finishing/segregate-inventory.html b/src/main/resources/templates/finishing/segregate-inventory.html index d7f7e48..fa964ac 100644 --- a/src/main/resources/templates/finishing/segregate-inventory.html +++ b/src/main/resources/templates/finishing/segregate-inventory.html @@ -12,7 +12,6 @@
-
Search Finished Item
Add New
-
+
@@ -36,7 +36,7 @@ - + diff --git a/src/main/resources/templates/job-card-list.html b/src/main/resources/templates/job-card-list.html index 6840123..37ba409 100644 --- a/src/main/resources/templates/job-card-list.html +++ b/src/main/resources/templates/job-card-list.html @@ -16,7 +16,7 @@ Add New
-
ID
+
@@ -34,7 +34,7 @@ - +
Code
diff --git a/src/main/resources/templates/reporting/inventory-summary-sidebar.html b/src/main/resources/templates/reporting/inventory-summary-sidebar.html index f2620a1..2e93b05 100644 --- a/src/main/resources/templates/reporting/inventory-summary-sidebar.html +++ b/src/main/resources/templates/reporting/inventory-summary-sidebar.html @@ -13,11 +13,11 @@
- +
- +
diff --git a/src/main/resources/templates/reporting/inventory-summary.html b/src/main/resources/templates/reporting/inventory-summary.html index b6294d8..664ba98 100644 --- a/src/main/resources/templates/reporting/inventory-summary.html +++ b/src/main/resources/templates/reporting/inventory-summary.html @@ -11,7 +11,7 @@
-

Summary

+

Summary

diff --git a/src/main/resources/templates/stitching/_finished-item-sidebar.html b/src/main/resources/templates/stitching/_finished-item-sidebar.html index 3b958b9..5b5ff78 100644 --- a/src/main/resources/templates/stitching/_finished-item-sidebar.html +++ b/src/main/resources/templates/stitching/_finished-item-sidebar.html @@ -25,15 +25,15 @@
- +
- +
- +
diff --git a/src/main/resources/templates/stitching/stitched-offline-items.html b/src/main/resources/templates/stitching/stitched-offline-items.html index 915f142..3b6f2bc 100644 --- a/src/main/resources/templates/stitching/stitched-offline-items.html +++ b/src/main/resources/templates/stitching/stitched-offline-items.html @@ -19,7 +19,7 @@
-
diff --git a/src/main/resources/templates/stitching/stitching-item-form.html b/src/main/resources/templates/stitching/stitching-item-form.html index 5b5b69f..3547c15 100644 --- a/src/main/resources/templates/stitching/stitching-item-form.html +++ b/src/main/resources/templates/stitching/stitching-item-form.html @@ -98,7 +98,7 @@
- Cancel + Cancel