瀏覽代碼

请求列表权限过滤添加角色

yzc 1 年之前
父節點
當前提交
252b53bebb

+ 6 - 2
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRequestFundsServiceImpl.java

@@ -93,8 +93,12 @@ public class AccountRequestFundsServiceImpl extends ServiceImpl<AccountRequestFu
         Set<String> permissionList = sysRoleService.selectRolePermissionByUserId(SecurityUtils.getUserId());
         DynamicDataSourceContextHolder.poll();
         if (ObjectUtil.isNotEmpty(permissionList)) {
-            //if in[总经理、财务主管、出纳]可查看所有数据else只能看自己的
-            if (!permissionList.contains("ceo") && !permissionList.contains("financeOfficer") && !permissionList.contains("cashier")) {
+            //if in[总经理、财务主管、出纳、实习出纳]可查看所有数据else只能看自己的
+            if (!permissionList.contains("ceo")
+                    && !permissionList.contains("financeOfficer")
+                    && !permissionList.contains("cashier")
+                    && !permissionList.contains("Intern_cashier")
+            ) {
                 // 添加权限自己看自己
                 wrapper.eq("arf.create_user", SecurityUtils.getUserId());
             }

+ 7 - 56
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -261,63 +261,14 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         //先回滚历史数据
         //获取历史的流水信息信息
         AccountRunningWater oldAccountRunningWater = getById(accountRunningWaterDto.getId());
-        //获取余额
-        AccountRemainder accountRemainder = accountRemainderService.getOne(q -> q
-                .eq(AccountRemainder::getAccountManagementId, oldAccountRunningWater.getAccountManagementId())
-                .eq(AccountRemainder::getCurrency, oldAccountRunningWater.getCurrency())
-        );
-        if (ObjectUtil.isEmpty(accountRemainder)) {
-            throw new ServiceException("历史数据 该账户不存在此币种,请前往资金账户添加");
-        }
-        boolean update = false;
-        if ("10".equals(oldAccountRunningWater.getStatus())) {
-            BigDecimal subtract = accountRemainder.getRemainder().subtract(oldAccountRunningWater.getAmount());
-            if (subtract.compareTo(BigDecimal.ZERO) < 0) {
-                throw new ServiceException("修改前数据 账户余额不足");
-            }
-            update = accountRemainderService.update(q -> q
-                    .setSql("remainder = remainder - " + oldAccountRunningWater.getAmount())
-                    .setSql("change_remainder = " + oldAccountRunningWater.getAmount())
-                    .eq(AccountRemainder::getId, accountRemainder.getId())
-                    .apply("remainder - {0} >= 0", oldAccountRunningWater.getAmount())
-            );
-        } else {
-            update = accountRemainderService.update(q -> q
-                    .setSql("remainder = remainder + " + oldAccountRunningWater.getAmount())
-                    .setSql("change_remainder = " + oldAccountRunningWater.getAmount())
-                    .eq(AccountRemainder::getId, accountRemainder.getId())
-            );
-        }
-        Assert.eqTrue(update, "余额回滚操作失败");
+        //回滚余额 修改操作类型 收入变支出 支出变收入
+        String status = "10".equals(oldAccountRunningWater.getStatus()) ? "20" : "10";
+        oldAccountRunningWater.setStatus(status);
+        //回滚原数据
+        changeRemainder(oldAccountRunningWater);
+
         //再操作修改后数据
-        //获取余额
-        AccountRemainder accountRemainder1 = accountRemainderService.getOne(q -> q
-                .eq(AccountRemainder::getAccountManagementId, accountRunningWaterDto.getAccountManagementId())
-                .eq(AccountRemainder::getCurrency, accountRunningWaterDto.getCurrency())
-        );
-        if (ObjectUtil.isEmpty(accountRemainder)) {
-            throw new ServiceException("修改后数据 该账户不存在此币种,请前往资金账户添加");
-        }
-        boolean update1 = false;
-        if ("10".equals(accountRunningWaterDto.getStatus())) {
-            update1 = accountRemainderService.update(q -> q
-                    .setSql("remainder = remainder + " + accountRunningWaterDto.getAmount())
-                    .setSql("change_remainder = " + accountRunningWaterDto.getAmount())
-                    .eq(AccountRemainder::getId, accountRemainder1.getId())
-            );
-        } else {
-            BigDecimal subtract = accountRemainder1.getRemainder().subtract(accountRunningWaterDto.getAmount());
-            if (subtract.compareTo(BigDecimal.ZERO) < 0) {
-                throw new ServiceException("修改后数据 账户余额不足");
-            }
-            update1 = accountRemainderService.update(q -> q
-                    .setSql("remainder = remainder - " + accountRunningWaterDto.getAmount())
-                    .setSql("change_remainder = " + accountRunningWaterDto.getAmount())
-                    .eq(AccountRemainder::getId, accountRemainder1.getId())
-                    .apply("remainder - {0} >= 0", accountRunningWaterDto.getAmount())
-            );
-        }
-        Assert.eqTrue(update1, "余额修改操作失败");
+        changeRemainder(accountRunningWaterDto);
 
         this.updateById(accountRunningWaterDto);
     }