Pārlūkot izejas kodu

费控生成打款数据

yzc 1 gadu atpakaļ
vecāks
revīzija
5686a7744a

+ 2 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/enums/PaymentTypeEnum.java

@@ -10,6 +10,8 @@ public enum PaymentTypeEnum {
     UNDER_REVIEW("10", "请款"),
     REJECT("20", "采购付款"),
     RECEIVE("30", "退货到款登记"),
+    COST_CONTROL("40", "费控"),
+
     ;
     private static Map<String, String> map = new LinkedHashMap<>();
 

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

@@ -132,4 +132,9 @@ public class AccountPayment extends BasePo {
      * 归属公司id
      */
     private Long companyId;
+
+    /**
+     * 费控id
+     */
+    private Long costControlId;
 }

+ 3 - 1
hx-common/src/main/java/com/fjhx/common/entity/logistics/po/LogisticsCompanyInfo.java

@@ -5,6 +5,8 @@ import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 物流公司信息
@@ -41,7 +43,7 @@ public class LogisticsCompanyInfo extends BasePo {
     /**
      * 税点
      */
-    private Integer taxPoints;
+    private BigDecimal taxPoints;
 
     /**
      * 开户名

+ 39 - 2
hx-form/src/main/java/com/fjhx/form/flow/CostControlFlow.java

@@ -2,6 +2,10 @@ package com.fjhx.form.flow;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
+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.enums.CodingRuleEnum;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.service.coding.CodingRuleService;
@@ -20,6 +24,7 @@ import com.ruoyi.common.utils.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -40,6 +45,8 @@ public class CostControlFlow extends FlowDelegate {
     private CostControlDetailService costControlDetailService;
     @Autowired
     private StockJournalDetailsService stockJournalDetailsService;
+    @Autowired
+    private AccountPaymentService accountPaymentService;
 
     @Override
     public String getFlowKey() {
@@ -72,6 +79,8 @@ public class CostControlFlow extends FlowDelegate {
      */
     @Override
     public void end(Long flowId, Long businessId, JSONObject submitData) {
+        CostControl costControl = costControlService.getById(businessId);
+
         costControlService.update(q -> q
                 .eq(CostControl::getId, businessId)
                 .set(CostControl::getStatus, FlowStatusEnum1.PASS.getKey())
@@ -90,6 +99,33 @@ public class CostControlFlow extends FlowDelegate {
                         .set(StockJournalDetails::getSettleStatus, 2));
             }
         }
+
+        //如果是属于付款类型的,需要自动生成一条打款数据
+        if (ObjectUtil.equals(costControl.getTradeType(), 20)) {
+            // 添加一条付款流水
+            AccountPayment payment = new AccountPayment();
+            payment.setBusinessId(businessId);
+            payment.setCostControlId(businessId);
+
+            payment.setAccountManagementId(costControl.getPaymentAccountId());
+            payment.setCurrency("CNY");
+            payment.setType(PaymentTypeEnum.COST_CONTROL.getKey());
+            payment.setStatus(PaymentStatusEnum.UNDER_REVIEW.getKey());
+            payment.setAmount(BigDecimal.ZERO);
+            payment.setIncomeAmount(costControl.getAmount());
+            payment.setName(costControl.getAccountName());
+            payment.setDataUser(costControl.getApplyUserId());
+            payment.setBusinessManagementId(costControl.getPaymentAccountId());
+            payment.setOpeningBank(costControl.getAccountBank());
+            payment.setBusinessCurrency("CNY");
+            payment.setAccountOpening(costControl.getAccountNumber());
+            payment.setPaymentMethod(costControl.getPaymentMethod());
+            payment.setCompanyId(costControl.getCompanyId());
+            payment.setCorporationId(costControl.getCompanyId());
+            payment.setDepartmentId(SecurityUtils.getDeptId());
+
+            accountPaymentService.save(payment);
+        }
     }
 
     /**
@@ -124,12 +160,13 @@ public class CostControlFlow extends FlowDelegate {
 
     @Override
     public void defaultMethod(Long flowId, Long businessId, NodeTypeEnum handleNodeType, FlowStatusEnum flowStatus, JSONObject submitData) {
-        super.defaultMethod(flowId, businessId, handleNodeType, flowStatus, submitData);
-
         //修改数据
         CostControlDto costControlDto = submitData.toJavaObject(CostControlDto.class);
         if (ObjectUtil.isNotEmpty(costControlDto) && ObjectUtil.isNotEmpty(costControlDto.getId())) {
             costControlService.addOrEdit(costControlDto);
         }
+
+        //执行原本的方法
+        super.defaultMethod(flowId, businessId, handleNodeType, flowStatus, submitData);
     }
 }