From 87dc04e8ef1580218961acbda378f0fd0e5bec89 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期四, 09 十月 2025 16:48:31 +0800 Subject: [PATCH] update --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 109 insertions(+), 4 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java index 2599113..1028728 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java @@ -27,6 +27,7 @@ import javax.validation.Valid; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -56,12 +57,19 @@ private final TErpClinicWarehousingBatchService erpClinicWarehousingBatchService; private final TCrmSupplierService crmSupplierService; private final TErpMaintenanceReminderService erpMaintenanceReminderService; + private final TSysOtherConfigService sysOtherConfigService; + private final TCrmClinicPointsService crmClinicPointsService; + private final TCrmChangePointsService crmChangePointsService; + private final TCrmBranchService crmBranchService; + private final TCrmSalespersonService crmSalespersonService; + private final TErpProcurementCommissionService erpProcurementCommissionService; + @Autowired - public TErpProcurementController(TErpProcurementService erpProcurementService, TokenService tokenService,TCrmClinicService crmClinicService,TErpProcurementGoodsService erpProcurementGoodsService - , TErpGoodsService erpGoodsService,TErpClinicWarehousingService erpClinicWarehousingService,TErpClinicWarehousingBatchService erpClinicWarehousingBatchService, - TCrmSupplierService crmSupplierService,TErpMaintenanceReminderService erpMaintenanceReminderService) { + public TErpProcurementController(TErpProcurementService erpProcurementService, TokenService tokenService, TCrmClinicService crmClinicService, TErpProcurementGoodsService erpProcurementGoodsService + , TErpGoodsService erpGoodsService, TErpClinicWarehousingService erpClinicWarehousingService, TErpClinicWarehousingBatchService erpClinicWarehousingBatchService, + TCrmSupplierService crmSupplierService, TErpMaintenanceReminderService erpMaintenanceReminderService, TSysOtherConfigService sysOtherConfigService, TCrmClinicPointsService crmClinicPointsService, TCrmChangePointsService crmChangePointsService, TCrmBranchService crmBranchService, TCrmSalespersonService crmSalespersonService, TErpProcurementCommissionService erpProcurementCommissionService) { this.erpProcurementService = erpProcurementService; this.tokenService = tokenService; this.crmClinicService = crmClinicService; @@ -71,6 +79,13 @@ this.erpClinicWarehousingBatchService = erpClinicWarehousingBatchService; this.crmSupplierService = crmSupplierService; this.erpMaintenanceReminderService = erpMaintenanceReminderService; + this.sysOtherConfigService = sysOtherConfigService; + this.crmClinicPointsService = crmClinicPointsService; + this.crmChangePointsService = crmChangePointsService; + this.crmBranchService = crmBranchService; + this.crmSalespersonService = crmSalespersonService; + this.erpProcurementCommissionService = erpProcurementCommissionService; + } @@ -198,9 +213,10 @@ SysUser user = tokenService.getLoginUser().getUser(); Integer roleType = user.getRoleType(); String clinicSupplierId=null; + TCrmClinic crmClinic = null; if(roleType == 5){ // 诊所 - TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class) + crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class) .eq(TCrmClinic::getUserId, user.getUserId()) .last("LIMIT 1")); clinicSupplierId = crmClinic.getId(); @@ -266,6 +282,94 @@ } + + BigDecimal payMoney = erpProcurement.getPayMoney(); + // 诊所添加积分 分公司添加积分 业务员添加积分 分公司添加分佣记录 业务员添加分佣记录 + TSysOtherConfig sysOtherConfig= sysOtherConfigService.getById(1); + if(sysOtherConfig!=null && sysOtherConfig.getPointsExpiration()!=null){ + Integer pointsExpiration = sysOtherConfig.getPointsExpiration(); + if(sysOtherConfig.getExpireUnit().equals(2)){ + pointsExpiration = pointsExpiration * 31; + } + if(sysOtherConfig.getExpireUnit().equals(3)){ + pointsExpiration = pointsExpiration * 365; + } + Double procurementConditions = sysOtherConfig.getProcurementConditions(); + + // 积分数 + int points = payMoney.divide(BigDecimal.valueOf(procurementConditions), 2, RoundingMode.HALF_DOWN).intValue(); + TCrmClinicPoints tCrmClinicPoints = new TCrmClinicPoints(); + tCrmClinicPoints.setClinicId(erpProcurement.getClinicId()); + tCrmClinicPoints.setPoints(points); + tCrmClinicPoints.setExpireTime(LocalDateTime.now().plusDays(pointsExpiration)); + crmClinicPointsService.save(tCrmClinicPoints); + + TCrmChangePoints tCrmChangePoints = new TCrmChangePoints(); + tCrmChangePoints.setProcurementId(erpProcurement.getId()); + tCrmChangePoints.setBranchSalespersonId(erpProcurement.getClinicId()); + tCrmChangePoints.setUserType(3); + tCrmChangePoints.setChangeType(1); + tCrmChangePoints.setChangeReason(1); + tCrmChangePoints.setChangeValue(points); + crmChangePointsService.save(tCrmChangePoints); + + } + + String branchId = crmClinic.getBranchId(); + TCrmBranch branch = crmBranchService.getById(branchId); + if(branch!=null){ + + // 积分数 + int points = payMoney.divide(branch.getPointsCommission(), 2, RoundingMode.HALF_DOWN).intValue(); + + TCrmChangePoints tCrmChangePoints = new TCrmChangePoints(); + tCrmChangePoints.setProcurementId(erpProcurement.getId()); + tCrmChangePoints.setBranchSalespersonId(branchId); + tCrmChangePoints.setUserType(1); + tCrmChangePoints.setChangeType(1); + tCrmChangePoints.setChangeReason(1); + tCrmChangePoints.setChangeValue(points); + crmChangePointsService.save(tCrmChangePoints); + + + // 分佣 + BigDecimal commission = branch.getMoneyCommission().divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN).multiply(payMoney).setScale(2, RoundingMode.HALF_UP); + TErpProcurementCommission tErpProcurementCommission = new TErpProcurementCommission(); + tErpProcurementCommission.setProcurementId(erpProcurement.getId()); + tErpProcurementCommission.setCommissionType(1); + tErpProcurementCommission.setBranchSalespersonId(branchId); + tErpProcurementCommission.setMoney(commission.doubleValue()); + erpProcurementCommissionService.save(tErpProcurementCommission); + + } + + String salespersonId = crmClinic.getSalespersonId(); + TCrmSalesperson salesperson = crmSalespersonService.getById(salespersonId); + if(salesperson!=null){ + // 积分数 + int points = payMoney.divide(salesperson.getPointsCommission(), 2, RoundingMode.HALF_DOWN).intValue(); + TCrmChangePoints tCrmChangePoints = new TCrmChangePoints(); + tCrmChangePoints.setProcurementId(erpProcurement.getId()); + tCrmChangePoints.setBranchSalespersonId(salespersonId); + tCrmChangePoints.setUserType(2); + tCrmChangePoints.setChangeType(1); + tCrmChangePoints.setChangeReason(1); + tCrmChangePoints.setChangeValue(points); + crmChangePointsService.save(tCrmChangePoints); + + + + // 分佣 + BigDecimal commission = salesperson.getMoneyCommission().divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN).multiply(payMoney).setScale(2, RoundingMode.HALF_UP); + TErpProcurementCommission tErpProcurementCommission = new TErpProcurementCommission(); + tErpProcurementCommission.setProcurementId(erpProcurement.getId()); + tErpProcurementCommission.setCommissionType(2); + tErpProcurementCommission.setBranchSalespersonId(salespersonId); + tErpProcurementCommission.setMoney(commission.doubleValue()); + erpProcurementCommissionService.save(tErpProcurementCommission); + } + + return R.ok(); } @@ -276,5 +380,6 @@ + } -- Gitblit v1.7.1