Prechádzať zdrojové kódy

往来管理 增加归属公司 往来单位数据与多公司合并

yzc 1 rok pred
rodič
commit
80767db017

+ 1 - 2
hx-account/src/main/java/com/fjhx/account/controller/transaction/TransactionDepartmentController.java

@@ -3,7 +3,6 @@ package com.fjhx.account.controller.transaction;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.account.entity.transaction.dto.TransactionDepartmentDto;
 import com.fjhx.account.entity.transaction.dto.TransactionDepartmentSelectDto;
-import com.fjhx.account.entity.transaction.po.TransactionDepartment;
 import com.fjhx.account.entity.transaction.vo.TransactionDepartmentVo;
 import com.fjhx.account.service.transaction.TransactionDepartmentService;
 import com.ruoyi.common.core.domain.BaseSelectDto;
@@ -31,7 +30,7 @@ public class TransactionDepartmentController {
      * 往来单位列表
      */
     @GetMapping("/list")
-    public List<TransactionDepartment> list() {
+    public List<TransactionDepartmentVo> list() {
         return transactionDepartmentService.getList();
     }
 

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountPaymentDto.java

@@ -48,4 +48,9 @@ public class AccountPaymentDto extends AccountPayment {
      */
     private Long transactionDeptId;
 
+    /**
+     * 往来单位类型 0往来单位 1多公司
+     */
+    private Integer deptType;
+
 }

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRunningWater.java

@@ -115,4 +115,9 @@ public class AccountRunningWater extends BasePo {
      */
     private Long transactionDeptId;
 
+    /**
+     * 往来单位类型 0往来单位 1多公司
+     */
+    private Integer deptType;
+
 }

+ 10 - 0
hx-account/src/main/java/com/fjhx/account/entity/transaction/po/Transaction.java

@@ -57,4 +57,14 @@ public class Transaction extends BasePo {
 
     private Long accountRunningWaterId;
 
+    /**
+     * 归属公司
+     */
+    private Long corporationId;
+
+    /**
+     * 往来单位类型 0往来单位 1多公司
+     */
+    private Integer deptType;
+
 }

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/transaction/vo/TransactionDepartmentVo.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class TransactionDepartmentVo extends TransactionDepartment {
 
+    /**
+     * 单位类型 0往来单位 1多公司
+     */
+    private Integer deptType;
+
 }

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/transaction/vo/TransactionVo.java

@@ -24,4 +24,9 @@ public class TransactionVo extends Transaction {
      */
     private String accountName;
 
+    /**
+     * 归属公司 名称
+     */
+    private String corporationName;
+
 }

+ 9 - 0
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountPaymentServiceImpl.java

@@ -254,6 +254,7 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
         //赋值是否往来
         accountRunningWater.setIsTransaction(accountPaymentDto.getIsTransaction());
         accountRunningWater.setTransactionDeptId(accountPaymentDto.getTransactionDeptId());
+        accountRunningWater.setDeptType(accountRunningWater.getDeptType());
         accountRunningWaterService.save(accountRunningWater);
 
         //如果是往来
@@ -268,6 +269,14 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
             transaction.setAccountId(accountRunningWater.getAccountManagementId());
             transaction.setRemark(accountRunningWater.getRemarks());
             transaction.setAccountRunningWaterId(accountRunningWater.getId());
+
+            Assert.notEmpty(accountPaymentDto.getDeptType(), "往来单位类型不能为空");
+            transaction.setDeptType(accountPaymentDto.getDeptType());
+
+            //赋值归属公司
+            AccountManagement accountManagement = accountManagementService.getById(accountPaymentDto.getAccountManagementId());
+            transaction.setCorporationId(accountManagement.getCorporationId());
+
             transactionService.save(transaction);
         }
 

+ 63 - 0
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -250,6 +250,14 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
             transaction.setAccountId(dto.getAccountManagementId());
             transaction.setRemark(dto.getRemarks());
             transaction.setAccountRunningWaterId(dto.getId());
+
+            Assert.notEmpty(dto.getDeptType(), "往来单位类型不能为空");
+            transaction.setDeptType(dto.getDeptType());
+
+            //赋值归属公司
+            AccountManagement accountManagement = accountManagementService.getById(dto.getAccountManagementId());
+            transaction.setCorporationId(accountManagement.getCorporationId());
+
             transactionService.save(transaction);
         }
 
@@ -459,11 +467,15 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
     @DSTransactional
     @Override
     public void internalTransfer(AccountRunningWaterDto dto) {
+        AccountManagement outAccountManagement = accountManagementService.getById(dto.getAccountManagementId());
+        AccountManagement inAccountManagement = accountManagementService.getById(dto.getInAccountManagementId());
+
         //生成转出流水
         dto.setStatus("20");//支出
         dto.setType("50");//内部转账
         //操作余额
         changeRemainder(dto);
+
         this.save(dto);
 
         //如果手续费不为0生成手续费
@@ -497,7 +509,58 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         inAccountRunningWater.setCurrency(dto.getInCurrency());
         //操作余额
         changeRemainder(inAccountRunningWater);
+
         this.save(inAccountRunningWater);
+
+        //如果是往来
+        if (ObjectUtil.isNotEmpty(dto.getIsTransaction()) && 1 == dto.getIsTransaction()) {
+            dto.setDeptType(1);
+            dto.setTransactionDeptId(inAccountManagement.getCorporationId());
+            this.updateById(dto);
+            inAccountRunningWater.setDeptType(1);
+            inAccountRunningWater.setTransactionDeptId(outAccountManagement.getCorporationId());
+            this.updateById(inAccountRunningWater);
+
+            //转入转出归属公司不同生成往来记录
+            if (inAccountManagement.getCorporationId() != outAccountManagement.getCorporationId()) {
+                //创建转入往来数据
+                Transaction transaction = new Transaction();
+                transaction.setType(1);//支出
+                transaction.setCurrency(dto.getCurrency());
+                transaction.setAmount(dto.getAmount());
+                transaction.setIsFlowingWater(1);
+                transaction.setAccountId(dto.getAccountManagementId());
+                transaction.setRemark(dto.getRemarks());
+                transaction.setAccountRunningWaterId(dto.getId());
+                transaction.setDeptType(1);
+
+                //赋值归属公司(转出账户归属公司)
+                transaction.setCorporationId(outAccountManagement.getCorporationId());
+                //赋值往来单位(转入账户归属公司)
+                transaction.setDepartmentId(inAccountManagement.getCorporationId());
+
+                transactionService.save(transaction);
+
+                //创建转出往来数据
+                Transaction transaction1 = new Transaction();
+                transaction1.setType(0);//收入
+                transaction1.setCurrency(inAccountRunningWater.getCurrency());
+                transaction1.setAmount(inAccountRunningWater.getAmount());
+                transaction1.setIsFlowingWater(1);
+                transaction1.setAccountId(inAccountRunningWater.getAccountManagementId());
+                transaction1.setRemark(inAccountRunningWater.getRemarks());
+                transaction1.setAccountRunningWaterId(inAccountRunningWater.getId());
+                transaction1.setDeptType(1);
+
+                //赋值归属公司(转入账户归属公司)
+                transaction1.setCorporationId(inAccountManagement.getCorporationId());
+                //赋值往来单位(转出账户归属公司)
+                transaction1.setDepartmentId(outAccountManagement.getCorporationId());
+
+                transactionService.save(transaction1);
+            }
+        }
+
     }
 
     /**

+ 1 - 1
hx-account/src/main/java/com/fjhx/account/service/transaction/TransactionDepartmentService.java

@@ -22,7 +22,7 @@ public interface TransactionDepartmentService extends BaseService<TransactionDep
     /**
      * 往来单位列表
      */
-    List<TransactionDepartment> getList();
+    List<TransactionDepartmentVo> getList();
 
     /**
      * 往来单位分页

+ 19 - 2
hx-account/src/main/java/com/fjhx/account/service/transaction/impl/TransactionDepartmentServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fjhx.account.service.transaction.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.entity.transaction.dto.TransactionDepartmentDto;
@@ -8,7 +9,10 @@ import com.fjhx.account.entity.transaction.po.TransactionDepartment;
 import com.fjhx.account.entity.transaction.vo.TransactionDepartmentVo;
 import com.fjhx.account.mapper.transaction.TransactionDepartmentMapper;
 import com.fjhx.account.service.transaction.TransactionDepartmentService;
+import com.fjhx.common.entity.corporation.po.Corporation;
+import com.fjhx.common.service.corporation.CorporationService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -24,10 +28,23 @@ import java.util.List;
 @Service
 public class TransactionDepartmentServiceImpl extends ServiceImpl<TransactionDepartmentMapper, TransactionDepartment> implements TransactionDepartmentService {
 
+    @Autowired
+    private CorporationService corporationService;
+
     @Override
-    public List<TransactionDepartment> getList() {
+    public List<TransactionDepartmentVo> getList() {
         List<TransactionDepartment> list = this.list();
-        return list;
+        List<TransactionDepartmentVo> transactionDepartmentVos = BeanUtil.copyToList(list, TransactionDepartmentVo.class);
+        transactionDepartmentVos.forEach(item -> item.setDeptType(0));
+        List<Corporation> corporationList = corporationService.list();
+        for (Corporation corporation : corporationList) {
+            TransactionDepartmentVo transactionDepartmentVo = new TransactionDepartmentVo();
+            transactionDepartmentVo.setId(corporation.getId());
+            transactionDepartmentVo.setName(corporation.getName());
+            transactionDepartmentVo.setDeptType(1);
+            transactionDepartmentVos.add(transactionDepartmentVo);
+        }
+        return transactionDepartmentVos;
     }
 
     @Override

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/service/transaction/impl/TransactionServiceImpl.java

@@ -15,6 +15,7 @@ import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.account.service.transaction.TransactionDepartmentService;
 import com.fjhx.account.service.transaction.TransactionService;
+import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.utils.ExchangeRateUtil;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,8 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
     private TransactionDepartmentService transactionDepartmentService;
     @Autowired
     private AccountRunningWaterService accountRunningWaterService;
+    @Autowired
+    private CorporationService corporationService;
 
     @Override
     public Page<TransactionVo> getPage(TransactionSelectDto dto) {
@@ -71,6 +74,10 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
         accountManagementService.attributeAssign(records, TransactionVo::getAccountId, (item, account) -> {
             item.setAccountName(account.getName());
         });
+        //赋值归属公司名称
+        corporationService.attributeAssign(records, TransactionVo::getCorporationId, (item, corporation) -> {
+            item.setCorporationName(corporation.getName());
+        });
         return page;
     }