Jelajahi Sumber

添加权限过滤

yzc 1 tahun lalu
induk
melakukan
c0214bc6f0
20 mengubah file dengan 169 tambahan dan 100 penghapusan
  1. 4 21
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountManagement.java
  2. 9 3
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountPayment.java
  3. 5 0
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountPaymentRecords.java
  4. 5 0
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRequestFunds.java
  5. 5 0
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRequestFundsDetail.java
  6. 6 0
      hx-account/src/main/java/com/fjhx/account/entity/transaction/po/Transaction.java
  7. 6 0
      hx-account/src/main/java/com/fjhx/account/entity/transaction/po/TransactionDepartment.java
  8. 5 0
      hx-account/src/main/java/com/fjhx/account/entity/write/dto/WriteOffRecordsDto.java
  9. 9 22
      hx-account/src/main/java/com/fjhx/account/flow/AccountRequestFundsFlow.java
  10. 25 17
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountManagementServiceImpl.java
  11. 9 0
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountPaymentServiceImpl.java
  12. 4 0
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRequestFundsServiceImpl.java
  13. 7 0
      hx-account/src/main/java/com/fjhx/account/service/transaction/impl/TransactionDepartmentServiceImpl.java
  14. 9 0
      hx-account/src/main/java/com/fjhx/account/service/transaction/impl/TransactionServiceImpl.java
  15. 9 0
      hx-account/src/main/java/com/fjhx/account/service/write/impl/WriteOffRecordsServiceImpl.java
  16. 8 3
      hx-purchase/src/main/java/com/fjhx/purchase/entity/invoice/po/InvoiceDetails.java
  17. 8 3
      hx-purchase/src/main/java/com/fjhx/purchase/entity/pay/po/PayDetail.java
  18. 24 20
      hx-purchase/src/main/java/com/fjhx/purchase/service/invoice/impl/InvoiceServiceImpl.java
  19. 4 8
      hx-purchase/src/main/java/com/fjhx/purchase/service/pay/impl/PayServiceImpl.java
  20. 8 3
      hx-sale/src/main/java/com/fjhx/sale/flow/PayFlow.java

+ 4 - 21
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountManagement.java

@@ -81,26 +81,9 @@ public class AccountManagement extends BasePo {
     private String beneficiaryAddress;
 
 
-
-
-
-//    /**
-//     * 云帆ID
-//     */
-//    private String yfId;
-//
-//    /**
-//     * 云帆——归属公司id(common模块corporation表id)
-//     */
-//    private String yfCorporationId;
-//
-//    private String yfCreateUser;
-//
-//    private String yfUpdateUser;
-//
-//    private String tenantId;
-
-
-
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
 
 }

+ 9 - 3
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountPayment.java

@@ -1,12 +1,13 @@
 package com.fjhx.account.entity.account.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  * 打款表
@@ -126,4 +127,9 @@ public class AccountPayment extends BasePo {
      * 数据所属人
      */
     private Long dataUser;
+
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
 }

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

@@ -51,4 +51,9 @@ public class AccountPaymentRecords extends BasePo {
      */
     private String remark;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

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

@@ -122,4 +122,9 @@ public class AccountRequestFunds extends BasePo {
      */
     private Long advanceId;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

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

@@ -61,4 +61,9 @@ public class AccountRequestFundsDetail extends BasePo {
      */
     private Integer dataType;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

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

@@ -53,4 +53,10 @@ public class Transaction extends BasePo {
      */
     private String remark;
 
+
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

+ 6 - 0
hx-account/src/main/java/com/fjhx/account/entity/transaction/po/TransactionDepartment.java

@@ -28,4 +28,10 @@ public class TransactionDepartment extends BasePo {
      */
     private String remark;
 
+
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

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

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class WriteOffRecordsDto extends WriteOffRecords {
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

+ 9 - 22
hx-account/src/main/java/com/fjhx/account/flow/AccountRequestFundsFlow.java

@@ -1,7 +1,6 @@
 package com.fjhx.account.flow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fjhx.account.entity.account.dto.AccountPaymentDto;
@@ -13,7 +12,6 @@ import com.fjhx.account.entity.account.po.AccountRequestFundsDetail;
 import com.fjhx.account.service.account.AccountPaymentService;
 import com.fjhx.account.service.account.AccountRequestFundsDetailService;
 import com.fjhx.account.service.account.AccountRequestFundsService;
-import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.file.utils.ObsFileUtil;
@@ -64,25 +62,6 @@ public class AccountRequestFundsFlow extends FlowDelegate {
      */
     @Override
     public Long start(Long flowId, JSONObject submitData) {
-//
-//        // 获取提交数据
-//        AccountRequestFundsDto accountRequestFundsDto = submitData.toJavaObject(AccountRequestFundsDto.class);
-//
-//        // 添加请款表的信息
-//        accountRequestFundsDto.setStatus(AccountRequestFundsStatusEnum.UNDER_REVIEW.getKey());
-//        accountRequestFundsService.save(accountRequestFundsDto);
-//
-//        // 添加请款详情表的信息
-//        List<AccountRequestFundsDetail> accountRequestFundsDetailList = accountRequestFundsDto.getAccountRequestFundsDetailList();
-//        if (CollectionUtils.isNotEmpty(accountRequestFundsDetailList)) {
-//            accountRequestFundsDetailList.forEach(item -> item.setAccountRequestFundsId(accountRequestFundsDto.getId()));
-//            accountRequestFundsDetailService.saveBatch(accountRequestFundsDetailList);
-//        }
-//
-//        // 添加附件信息
-//        ObsFileUtil.saveFile(accountRequestFundsDto.getFileList(), accountRequestFundsDto.getId());
-//
-//        return accountRequestFundsDto.getId();
 
         // 获取提交数据
         AccountRequestFundsDto accountRequestFundsDto = submitData.toJavaObject(AccountRequestFundsDto.class);
@@ -207,6 +186,11 @@ public class AccountRequestFundsFlow extends FlowDelegate {
      * @param opType 操作类型 0直接发起 1重新发起
      */
     private AccountRequestFundsDto commStart(AccountRequestFundsDto accountRequestFundsDto, Integer opType) {
+        //赋值归属公司
+        Long companyId = SecurityUtils.getCompanyId();
+        accountRequestFundsDto.setCompanyId(companyId);
+
+
         if (opType == 1) {
             Assert.notEmpty(accountRequestFundsDto.getId(), "请款id不能为空");
         }
@@ -223,7 +207,10 @@ public class AccountRequestFundsFlow extends FlowDelegate {
                 accountRequestFundsDetailService.editLinked(accountRequestFundsDetailList, AccountRequestFundsDetail::getContractId, accountRequestFundsDto.getId());
             }
 
-            accountRequestFundsDetailList.forEach(item -> item.setAccountRequestFundsId(accountRequestFundsDto.getId()));
+            accountRequestFundsDetailList.forEach(item -> {
+                item.setAccountRequestFundsId(accountRequestFundsDto.getId());
+                item.setCompanyId(companyId);
+            });
             accountRequestFundsDetailService.saveOrUpdateBatch(accountRequestFundsDetailList);
         }
 

+ 25 - 17
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountManagementServiceImpl.java

@@ -25,6 +25,7 @@ import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
 import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -75,6 +76,10 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
                         .like(AccountManagement::getOpeningBank, dto.getKeyword());
             });
         }
+
+        //权限过滤:资金账户
+        wrapper.eq(AccountManagement::getCompanyId, SecurityUtils.getCompanyId());
+
         Page<AccountManagementVo> page = baseMapper.getPage(dto.getPage(), wrapper);
         List<AccountManagementVo> records = page.getRecords();
         //赋值归属公司名称
@@ -110,10 +115,13 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
     @Override
     @Transactional(rollbackFor = {Exception.class})
     public void add(AccountManagementDto accountManagementDto) {
+        //赋值归属公司
+        accountManagementDto.setCompanyId(SecurityUtils.getCompanyId());
+
         //判断账户的别名是否已存在
         List<AccountManagement> accountManagements = this.list(Wrappers.<AccountManagement>lambdaQuery()
                 .eq(AccountManagement::getAlias, accountManagementDto.getAlias()));
-        if (accountManagements.size()>0){
+        if (accountManagements.size() > 0) {
             throw new ServiceException("数据错误:账户别名已存在请重新创建");
         }
         //添加账户管理表的信息
@@ -132,15 +140,15 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
         //判断账户的别名是否已存在
         List<AccountManagement> accountManagements = this.list(Wrappers.<AccountManagement>lambdaQuery()
                 .eq(AccountManagement::getAlias, accountManagementDto.getAlias()));
-        if (accountManagements.size()>1){
+        if (accountManagements.size() > 1) {
             throw new ServiceException("数据错误:账户别名已存在请重新创建");
         }
         //删除账户-余额表的信息
         List<AccountRemainder> accountRemainderList = accountManagementDto.getAccountRemainderList();
         List<Long> ids = accountRemainderList.stream().map(accountRemainder -> accountRemainder.getId()).collect(Collectors.toList());
         accountRemainderService.remove(Wrappers.<AccountRemainder>lambdaQuery()
-                .eq(AccountRemainder::getAccountManagementId,accountManagementDto.getId())
-                .notIn(AccountRemainder::getId,ids)
+                .eq(AccountRemainder::getAccountManagementId, accountManagementDto.getId())
+                .notIn(AccountRemainder::getId, ids)
         );
         //添加账户余额表的信息
         saveAccountRemainder(accountManagementDto);
@@ -156,21 +164,21 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
         List<AccountRunningWater> accountRunningWaterList = accountRunningWaterService.list(Wrappers.<AccountRunningWater>lambdaQuery()
                 .eq(AccountRunningWater::getAccountManagementId, id));
         //如果存在流水表的数据则不能删除账户表的信息
-        if (accountRunningWaterList.size()>0){
+        if (accountRunningWaterList.size() > 0) {
             throw new ServiceException("无法删除,该账户已存在流水数据");
         }
         //删除账户-管理表的信息
         this.removeById(id);
         //删除账户-余额表的信息
         accountRemainderService.remove(Wrappers.<AccountRemainder>lambdaQuery()
-                .eq(AccountRemainder::getAccountManagementId,id));
+                .eq(AccountRemainder::getAccountManagementId, id));
     }
 
     /**
      * 账户统计(账户列表)
      */
     @Override
-    public  List<Map<String, Object>> managementStatistics(AccountManagementSelectDto dto) {
+    public List<Map<String, Object>> managementStatistics(AccountManagementSelectDto dto) {
         //存放账户统计数据
         List<Map<String, Object>> list = new ArrayList<>();
 
@@ -185,24 +193,24 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
         List<DictTenantDataVo> dictTenantDataVos = getDict("customer_source");
         DynamicDataSourceContextHolder.poll();
 
-        if (dictTenantDataVos.size()==0){
+        if (dictTenantDataVos.size() == 0) {
             throw new ServiceException("数据有误:没有配置币种字典,请先配置");
         }
 
         //赋值
         for (DictTenantDataVo dictTenantDataVo : dictTenantDataVos) {
             //赋初始值信息
-            Map<String,Object> map = new HashMap<>();
-            map.put("currencyKey",dictTenantDataVo.getDictKey());
-            map.put("currencyValue",dictTenantDataVo.getDictValue());
-            map.put("remainder",new BigDecimal(0));
+            Map<String, Object> map = new HashMap<>();
+            map.put("currencyKey", dictTenantDataVo.getDictKey());
+            map.put("currencyValue", dictTenantDataVo.getDictValue());
+            map.put("remainder", new BigDecimal(0));
             //赋值余额信息
-            if (accountRemainderList.size()>0){
+            if (accountRemainderList.size() > 0) {
                 Map<String, List<AccountRemainder>> accountRemainderMap = accountRemainderList.stream()
                         .collect(Collectors.groupingBy(AccountRemainder::getCurrency));
                 List<AccountRemainder> accountRemainderList1 = accountRemainderMap.get(dictTenantDataVo.getDictKey());
-                if (ObjectUtil.isNotEmpty(accountRemainderList1)){
-                    map.put("remainder",accountRemainderList1.get(0).getRemainder());
+                if (ObjectUtil.isNotEmpty(accountRemainderList1)) {
+                    map.put("remainder", accountRemainderList1.get(0).getRemainder());
                 }
             }
             list.add(map);
@@ -212,7 +220,7 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
     }
 
     //根据字典编码获取字典的数据
-    private List<DictTenantDataVo> getDict(String code){
+    private List<DictTenantDataVo> getDict(String code) {
         DictTenantDataSelectDto dto = new DictTenantDataSelectDto();
         dto.setDictCode(code);
         return dictTenantDataService.getList(dto);
@@ -319,7 +327,7 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
     /**
      * 添加账户-余额表的信息
      */
-    private void saveAccountRemainder(AccountManagementDto accountManagementDto){
+    private void saveAccountRemainder(AccountManagementDto accountManagementDto) {
         List<AccountRemainder> accountRemainderList = accountManagementDto.getAccountRemainderList();
         accountRemainderList.forEach(accountRemainder -> {
             accountRemainder.setAccountManagementId(accountManagementDto.getId());

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

@@ -100,6 +100,10 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
         //对方账户过滤
         wrapper.like(ObjectUtil.isNotEmpty(dto.getOppositeAccountName()), "ap.name", dto.getOppositeAccountName());
 
+        //权限过滤:打款-子公司看自己的
+        wrapper.eq("ap.company_id", SecurityUtils.getCompanyId());
+
+
         Page<AccountPaymentVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<AccountPaymentVo> records = page.getRecords();
         if (records.size() == 0) {
@@ -178,6 +182,10 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
     public void add(AccountPaymentDto accountPaymentDto) {
         Assert.notEmpty(accountPaymentDto.getId(), "打款id不能为空");
 
+        //赋值归属公司
+        Long companyId = SecurityUtils.getCompanyId();
+        accountPaymentDto.setCompanyId(companyId);
+
         AccountRemainder accountRemainder = accountRemainderService.getOne(Wrappers.<AccountRemainder>lambdaQuery()
                 .eq(AccountRemainder::getAccountManagementId, accountPaymentDto.getAccountManagementId())
                 .eq(AccountRemainder::getCurrency, accountPaymentDto.getCurrency()));
@@ -223,6 +231,7 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
         accountPaymentRecords.setCurrency(accountPaymentDto.getCurrency());
         accountPaymentRecords.setExpensesTime(accountPaymentDto.getExpensesTime());
         accountPaymentRecords.setRemark(accountPaymentDto.getRemark());
+        accountPaymentRecords.setCompanyId(companyId);
         accountPaymentRecordsService.save(accountPaymentRecords);
 
         // 赋值变更金额

+ 4 - 0
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRequestFundsServiceImpl.java

@@ -105,6 +105,7 @@ public class AccountRequestFundsServiceImpl extends ServiceImpl<AccountRequestFu
                     && !permissionList.contains("financeOfficer")
                     && !permissionList.contains("cashier")
                     && !permissionList.contains("Intern_cashier")
+                    && !permissionList.contains("admin")//管理员
             ) {
                 // 添加权限自己看自己
                 wrapper.eq("arf.create_user", SecurityUtils.getUserId());
@@ -112,6 +113,9 @@ public class AccountRequestFundsServiceImpl extends ServiceImpl<AccountRequestFu
         }
         //-----------------------------------------------------------------------
 
+        //权限过滤:请款-子公司看自己的
+        wrapper.eq("arf.company_id", SecurityUtils.getCompanyId());
+
 
         // 归属公司
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getCorporationId()), "arf.corporation_id", dto.getCorporationId());

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

@@ -8,6 +8,7 @@ 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.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.stereotype.Service;
 
@@ -34,6 +35,10 @@ public class TransactionDepartmentServiceImpl extends ServiceImpl<TransactionDep
     public Page<TransactionDepartmentVo> getPage(TransactionDepartmentSelectDto dto) {
         IWrapper<TransactionDepartment> wrapper = getWrapper();
         wrapper.orderByDesc("td", TransactionDepartment::getId);
+
+        //权限过滤:往来管理
+        wrapper.eq("td", TransactionDepartment::getCompanyId, SecurityUtils.getCompanyId());
+
         Page<TransactionDepartmentVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }
@@ -41,6 +46,8 @@ public class TransactionDepartmentServiceImpl extends ServiceImpl<TransactionDep
 
     @Override
     public void add(TransactionDepartmentDto transactionDepartmentDto) {
+        //赋值归属公司
+        transactionDepartmentDto.setCompanyId(SecurityUtils.getCompanyId());
         this.save(transactionDepartmentDto);
     }
 

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

@@ -12,6 +12,7 @@ import com.fjhx.account.mapper.transaction.TransactionMapper;
 import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.account.service.transaction.TransactionDepartmentService;
 import com.fjhx.account.service.transaction.TransactionService;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -54,6 +55,12 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
         }
         //排序
         wrapper.orderByDesc("t", Transaction::getId);
+
+
+        //权限过滤:往来管理
+        wrapper.eq("t", Transaction::getCompanyId, SecurityUtils.getCompanyId());
+
+
         Page<TransactionVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         //赋值往来单位名称
         List<TransactionVo> records = page.getRecords();
@@ -69,6 +76,8 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
 
     @Override
     public void add(TransactionDto transactionDto) {
+        //赋值归属公司
+        transactionDto.setCompanyId(SecurityUtils.getCompanyId());
         this.save(transactionDto);
     }
 

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

@@ -17,6 +17,7 @@ import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,6 +55,10 @@ public class WriteOffRecordsServiceImpl extends ServiceImpl<WriteOffRecordsMappe
         IWrapper<WriteOffRecords> wrapper = getWrapper();
         wrapper.eq("ap.corporation_id", dto.getCorporationId());
         wrapper.eq("ap.type", dto.getType());
+
+        //权限过滤:冲销记录
+        wrapper.eq("wor.company_id", SecurityUtils.getCompanyId());
+
         wrapper.orderByDesc("wor", WriteOffRecords::getId);
         Page<WriteOffRecordsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<WriteOffRecordsVo> records = page.getRecords();
@@ -76,6 +81,10 @@ public class WriteOffRecordsServiceImpl extends ServiceImpl<WriteOffRecordsMappe
         accountPayment.setStatus("20");
         //清空已打款金额
         accountPayment.setAmount(BigDecimal.ZERO);
+
+        //赋值归属公司
+        writeOffRecordsDto.setCompanyId(SecurityUtils.getCompanyId());
+
         accountPaymentService.updateById(accountPayment);
 
         //赋值最后一次打款时间

+ 8 - 3
hx-purchase/src/main/java/com/fjhx/purchase/entity/invoice/po/InvoiceDetails.java

@@ -1,12 +1,12 @@
 package com.fjhx.purchase.entity.invoice.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 发票明细
@@ -40,4 +40,9 @@ public class InvoiceDetails extends BasePo {
      */
     private String remark;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

+ 8 - 3
hx-purchase/src/main/java/com/fjhx/purchase/entity/pay/po/PayDetail.java

@@ -1,12 +1,12 @@
 package com.fjhx.purchase.entity.pay.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 采购付款明细
@@ -40,4 +40,9 @@ public class PayDetail extends BasePo {
      */
     private Long payId;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

+ 24 - 20
hx-purchase/src/main/java/com/fjhx/purchase/service/invoice/impl/InvoiceServiceImpl.java

@@ -29,7 +29,6 @@ import org.springframework.stereotype.Service;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 
@@ -38,7 +37,7 @@ import java.util.stream.Collectors;
  * 发票管理 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-12
  */
 //@DS(SourceConstant.PURCHASE)
@@ -53,6 +52,7 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
 
     /**
      * 分页
+     *
      * @param dto
      * @return
      */
@@ -65,13 +65,9 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
         if (StringUtils.isNotEmpty(dto.getKeyword())) {
             wrapper.keyword(dto.getKeyword(), new SqlField("t1.purchaseCodes"));
         }
-        //权限过滤:发票-子公司看自己的,总公司看全部
-        Long companyId = SecurityUtils.getCompanyId();
-        if (!Objects.equals(companyId, 100L)) {
-            wrapper.eq("t1", Invoice::getCompanyId, companyId);
-        } else {
-            wrapper.eq("t1", Invoice::getCompanyId, dto.getCompanyId());
-        }
+        //权限过滤:发票-子公司看自己的
+        wrapper.eq("t1", Invoice::getCompanyId, SecurityUtils.getCompanyId());
+
         wrapper.orderByDesc("t1", Invoice::getCreateTime);
         Page<InvoiceVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<InvoiceVo> list = page.getRecords();
@@ -91,6 +87,7 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
 
     /**
      * 详情
+     *
      * @param id
      * @return
      */
@@ -101,11 +98,11 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
         List<InvoiceDetailsVo> invoiceDetailsVos = invoiceDetailsService.getDetail(id);
         List<Long> ids = invoiceDetailsVos.stream().distinct().map(InvoiceDetailsVo::getPurchaseId).collect(Collectors.toList());
         List<InvoiceDetailsVo> invoiceDetailsList = invoiceDetailsService.getSumMoneyByPurchaseIds(ids);
-        Map<Long, BigDecimal> invoiceMap = invoiceDetailsList.stream().collect(Collectors.toMap(InvoiceDetailsVo::getPurchaseId,InvoiceDetailsVo::getSumMoney));
-        for(InvoiceDetailsVo p:invoiceDetailsVos){
-            if(MapUtils.isNotEmpty(invoiceMap)){
+        Map<Long, BigDecimal> invoiceMap = invoiceDetailsList.stream().collect(Collectors.toMap(InvoiceDetailsVo::getPurchaseId, InvoiceDetailsVo::getSumMoney));
+        for (InvoiceDetailsVo p : invoiceDetailsVos) {
+            if (MapUtils.isNotEmpty(invoiceMap)) {
                 p.setSumMoney(invoiceMap.getOrDefault(p.getPurchaseId(), BigDecimal.ZERO));
-            }else{
+            } else {
                 p.setSumMoney(BigDecimal.ZERO);
             }
         }
@@ -115,17 +112,22 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
 
     /**
      * 新增
+     *
      * @param invoice
      */
     @Override
     @DSTransactional
     public void add(Invoice invoice) {
+
+        Long companyId = SecurityUtils.getCompanyId();
+        invoice.setCompanyId(companyId);
         this.save(invoice);
         List<InvoiceDetails> invoiceDetailsList = invoice.getInvoiceDetailsList();
-        if(CollectionUtils.isNotEmpty(invoiceDetailsList)){
+        if (CollectionUtils.isNotEmpty(invoiceDetailsList)) {
 
             invoiceDetailsList = invoiceDetailsList.stream()
                     .peek(item -> item.setInvoiceId(invoice.getId()))
+                    .peek(item -> item.setCompanyId(companyId))
                     .filter(item -> item.getMoney() != null && item.getMoney().compareTo(BigDecimal.ZERO) > 0)
                     .collect(Collectors.toList());
 
@@ -135,38 +137,40 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
 
         }
 
-        ObsFileUtil.saveFile(invoice.getFileList(),invoice.getId());
+        ObsFileUtil.saveFile(invoice.getFileList(), invoice.getId());
     }
 
     /**
      * 修改
+     *
      * @param invoice
      */
     @Override
     @DSTransactional
     public void edit(Invoice invoice) {
         this.updateById(invoice);
-        invoiceDetailsService.remove(Wrappers.<InvoiceDetails>query().lambda().eq(InvoiceDetails::getInvoiceId,invoice.getId()));
+        invoiceDetailsService.remove(Wrappers.<InvoiceDetails>query().lambda().eq(InvoiceDetails::getInvoiceId, invoice.getId()));
         List<InvoiceDetails> invoiceDetailsList = invoice.getInvoiceDetailsList();
-        if(CollectionUtils.isNotEmpty(invoiceDetailsList)){
-            for(InvoiceDetails d:invoiceDetailsList){
+        if (CollectionUtils.isNotEmpty(invoiceDetailsList)) {
+            for (InvoiceDetails d : invoiceDetailsList) {
                 d.setInvoiceId(invoice.getId());
             }
             invoiceDetailsService.saveBatch(invoiceDetailsList);
         }
         //修改
-        ObsFileUtil.editFile(invoice.getFileList(),invoice.getId());
+        ObsFileUtil.editFile(invoice.getFileList(), invoice.getId());
     }
 
     /**
      * 删除
+     *
      * @param id
      */
     @Override
     @DSTransactional
     public void delete(Long id) {
         this.removeById(id);
-        invoiceDetailsService.remove(Wrappers.<InvoiceDetails>query().lambda().eq(InvoiceDetails::getInvoiceId,id));
+        invoiceDetailsService.remove(Wrappers.<InvoiceDetails>query().lambda().eq(InvoiceDetails::getInvoiceId, id));
         ObsFileUtil.removeFile(id);
     }
 

+ 4 - 8
hx-purchase/src/main/java/com/fjhx/purchase/service/pay/impl/PayServiceImpl.java

@@ -106,13 +106,8 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
             wrapper.keyword(dto.getKeyword(), new SqlField(Pay::getUserName), new SqlField(Pay::getRemark));
         }
 
-        //权限过滤:采购付款-子公司看自己的,总公司看全部
-        Long companyId = SecurityUtils.getCompanyId();
-        if (!Objects.equals(companyId, 100L)) {
-            wrapper.eq("p", Pay::getCompanyId, companyId);
-        } else {
-            wrapper.eq("p", Pay::getCompanyId, dto.getCompanyId());
-        }
+        //权限过滤:采购付款-子公司看自己的
+        wrapper.eq("p", Pay::getCompanyId, SecurityUtils.getCompanyId());
 
         wrapper.orderByDesc("p", Pay::getCreateTime);
         Page<PayVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
@@ -158,6 +153,7 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
 
     /**
      * 详情
+     *
      * @param id
      * @return
      */
@@ -220,7 +216,7 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
         DynamicDataSourceContextHolder.push(SourceConstant.BASE);
         FlowExample flowExample = flowExampleService.getOne(Wrappers.<FlowExample>query().lambda().eq(FlowExample::getBusinessId, id));
         // 赋值流程id
-        if(ObjectUtil.isNotEmpty(flowExample)) {
+        if (ObjectUtil.isNotEmpty(flowExample)) {
             result.setFlowExampleId(flowExample.getId());
         }
 

+ 8 - 3
hx-sale/src/main/java/com/fjhx/sale/flow/PayFlow.java

@@ -1,14 +1,12 @@
 package com.fjhx.sale.flow;
 
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fjhx.account.entity.account.enums.PaymentStatusEnum;
 import com.fjhx.account.entity.account.enums.PaymentTypeEnum;
 import com.fjhx.account.entity.account.po.AccountPayment;
 import com.fjhx.account.service.account.AccountPaymentService;
-import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.core.FlowDelegate;
@@ -70,13 +68,20 @@ public class PayFlow extends FlowDelegate {
     public Long start(Long flowId, JSONObject submitData) {
         Pay pay = submitData.toJavaObject(Pay.class);
 
+        Long companyId = SecurityUtils.getCompanyId();
+
+        pay.setCompanyId(companyId);
+
         pay.setCurrency("CNY");
         pay.setStatus(PayStatusEnum1.UNDER_REVIEW.getKey());
         payService.saveOrUpdate(pay);
 
         List<PayDetail> payDetailList = pay.getPayDetailList();
         if (CollectionUtils.isNotEmpty(payDetailList)) {
-            payDetailList.forEach(item -> item.setPayId(pay.getId()));
+            payDetailList.forEach(item -> {
+                item.setPayId(pay.getId());
+                item.setCompanyId(companyId);
+            });
         }
         payDetailService.editLinked(payDetailList, PayDetail::getPayId, pay.getId());