From 6f05d8c1bbbc61bdf7ee900ec240c1d41aa4163a Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Mon, 8 Jan 2024 12:23:09 +0100 Subject: [PATCH] fix : better purchase status + better job name display feature :client invoicing internal use --- .../admin/UserClientController.java | 19 ++++------ .../shippingInvoice/InvoiceController.java | 35 +++++++++++++++---- .../business/mapper/ClientUserMapper.java | 2 ++ .../business/mapper/PurchaseOrderMapper.java | 1 + .../business/mapper/xml/ClientUserMapper.xml | 9 +++++ .../mapper/xml/PurchaseOrderMapper.xml | 7 ++++ .../service/IPurchaseOrderService.java | 2 ++ .../business/service/IUserClientService.java | 2 ++ .../service/impl/UserClientServiceImpl.java | 5 +++ .../purchase/PurchaseOrderServiceImpl.java | 8 +++-- 10 files changed, 69 insertions(+), 21 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/UserClientController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/UserClientController.java index 738ebd789..7df4d67bd 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/UserClientController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/UserClientController.java @@ -6,9 +6,8 @@ import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.business.entity.Client; +import org.jeecg.modules.business.entity.ClientCategory; import org.jeecg.modules.business.service.IUserClientService; -import org.jeecg.modules.system.entity.SysRole; -import org.jeecg.modules.system.service.ISysUserRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,8 +24,6 @@ import java.util.Map; public class UserClientController { @Autowired private IUserClientService userClientService; - @Autowired - private ISysUserRoleService sysUserRoleService; /** * Checks if the user is a client or internal user * @return the client's info OR a list of clients @@ -37,15 +34,7 @@ public class UserClientController { String userId = loginUser.getId(); Client client = userClientService.getClientMinInfoByUserId(userId); if(client == null) { - List sysRoles = sysUserRoleService.getUserRole(userId); - boolean isAllowed = false; - for(SysRole sysRole: sysRoles) { - if(sysRole.getRoleCode().equals("admin") || sysRole.getRoleCode().equals("dev") || sysRole.getRoleCode().equals("Sales")){ - isAllowed = true; - break; - } - } - if(isAllowed) { + if(loginUser.getOrgCode().contains("A01") || loginUser.getOrgCode().contains("A03")) { Map> internalClientList = new HashMap<>(); internalClientList.put("internal", userClientService.listClients()); return Result.OK("internal usage", internalClientList); @@ -57,4 +46,8 @@ public class UserClientController { clientMap.put("client", client); return Result.ok(clientMap); } + @GetMapping(value = "/getSelfServiceClients") + public Result getSelfServiceClients() { + return Result.ok(userClientService.getClientsByCategory(ClientCategory.CategoryName.SELF_SERVICE.getName())); + } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java index f33223d13..c5c4db0c1 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java @@ -544,6 +544,13 @@ public class InvoiceController { if(entry.getKey().getProductAvailable().equals("0") && entry.getKey().getVirtualProductAvailable().equals("1")) entry.getKey().setProductAvailable("2"); + if(entry.getKey().getPurchaseInvoiceNumber() != null) { + PurchaseOrder purchase = purchaseOrderService.getPurchaseByInvoiceNumber(entry.getKey().getPurchaseInvoiceNumber()); + if(purchase.getStatus().equals("1")) + entry.getKey().setProductAvailable("3"); + else + entry.getKey().setProductAvailable("4"); + } BeanUtils.copyProperties(entry.getKey(), orderFront); finalOrderAndStatus.add(MutableTriple.of(orderFront, ordersAndStatus.get(ordersAndStatus.size() - 1).getMiddle(), ordersAndStatus.get(ordersAndStatus.size() - 1).getRight())); } @@ -1115,14 +1122,30 @@ public class InvoiceController { return Result.OK().success("sys.api.syncRequestSubmitted"); } @GetMapping(value = "/duplicateInvoiceNumberCheck") - public Result duplicateInvoiceNumberCheck(@RequestParam("invoiceNumber") String invoiceNumber) { - if(iShippingInvoiceService.getShippingInvoice(invoiceNumber) != null - || purchaseOrderService.getInvoiceId(invoiceNumber) != null - || !platformOrderService.getPlatformOrdersByInvoiceNumber(invoiceNumber).isEmpty()) { - return Result.error("Invoice number already exists."); + public Result duplicateInvoiceNumberCheck(@RequestParam(value = "id", required = false) String invoiceId, + @RequestParam("invoiceNumber") String invoiceNumber, + @RequestParam("invoiceType") String invoiceType) { + if(invoiceType.equals("purchase")) { + if(purchaseOrderService.getInvoiceId(invoiceNumber) != null) { + if(invoiceId != null && purchaseOrderService.getInvoiceId(invoiceNumber).equals(invoiceId)) + return Result.OK("Invoice number not changed."); + else + return Result.error("Invoice number already exists."); + } + else { + return Result.OK("Invoice number is available."); + } } else { - return Result.OK("Invoice number is available."); + if(iShippingInvoiceService.getShippingInvoice(invoiceNumber) != null) { + if(invoiceId != null && iShippingInvoiceService.getShippingInvoice(invoiceNumber).getId().equals(invoiceId)) + return Result.OK("Invoice number not changed."); + else + return Result.error("Invoice number already exists."); + } + else { + return Result.OK("Invoice number is available."); + } } } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ClientUserMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ClientUserMapper.java index ec4add1f2..ef7094923 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ClientUserMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ClientUserMapper.java @@ -31,4 +31,6 @@ public interface ClientUserMapper extends BaseMapper { List listClients(); Client getClientMinInfoByUserId(@Param("userId") String userId); + + List getClientsByCategory(@Param("category") String categoryName); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PurchaseOrderMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PurchaseOrderMapper.java index 9703f87c1..414a85a46 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PurchaseOrderMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PurchaseOrderMapper.java @@ -101,6 +101,7 @@ public interface PurchaseOrderMapper extends BaseMapper { String getInvoiceId(@Param("invoiceNumber") String invoiceNumber); + PurchaseOrder getPurchaseByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber); List getPurchasesByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber); List getPlatformOrder(@Param("invoiceNumber") String invoiceNumber); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ClientUserMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ClientUserMapper.xml index af7524634..ffd6a64a6 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ClientUserMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ClientUserMapper.xml @@ -25,4 +25,13 @@ JOIN client c ON c.id = user_client.client_id + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderMapper.xml index cef617321..ccf8e747e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PurchaseOrderMapper.xml @@ -86,6 +86,13 @@ FROM purchase_order WHERE invoice_number = #{invoiceNumber} +