Browse Source

区域/服务中心财务功能整改

jxl 3 days ago
parent
commit
d3766e5660

+ 0 - 1
leromro-core/src/main/java/com/leromro/core/controller/OrdersController.java

@@ -263,5 +263,4 @@ public class OrdersController extends BaseController {
         return R.ok();
     }
 
-
 }

+ 3 - 1
leromro-core/src/main/java/com/leromro/core/domain/vo/OrderSettlementApplicationListVO.java

@@ -15,6 +15,8 @@ import java.util.Date;
  */
 @Data
 public class OrderSettlementApplicationListVO {
+    // 结算申请记录id
+    private Long id;
     // 申请时间
     @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date applyTime;
@@ -105,7 +107,7 @@ public class OrderSettlementApplicationListVO {
 
     // 审核人名称
     @Excel(name = "审核人名称")
-    private Long auditorUserNickName;
+    private String auditorUserNickName;
 
     // 审核时间
     @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")

+ 86 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/SettlementOrderListVO.java

@@ -2,6 +2,7 @@ package com.leromro.core.domain.vo;
 
 import com.leromro.common.annotation.Excel;
 import com.leromro.framework.handler.DictLaberHandler;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -76,6 +77,49 @@ public class SettlementOrderListVO {
     @Excel(name = "区域公司结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date areaSettlementTime;
 
+    /**
+     * 区域管理费用付款方式 1银行卡
+     */
+    @ApiModelProperty("区域管理费用付款方式 1银行卡")
+    private String areaPayerMethod;
+
+    /**
+     * 区域管理费用付款账户
+     */
+    @ApiModelProperty("区域管理费用付款账户")
+    private String areaPayerAccount;
+
+    /**
+     * 区域管理费用付款银行名称
+     */
+    @ApiModelProperty("区域管理费用付款银行名称")
+    private String areaPayerAccountBankName;
+
+    /**
+     * 区域收款方式 1银行卡
+     */
+    @ApiModelProperty("区域收款方式 1银行卡")
+    private String areaPayeeMethod;
+
+    /**
+     * 区域收款账号
+     */
+    @ApiModelProperty("区域收款账号")
+    private String areaPayeeAccount;
+
+    /**
+     * 区域收款银行名称
+     */
+    @ApiModelProperty("区域收款银行名称")
+    private String areaPayeeBankName;
+
+    /**
+     * 区域收款人姓名
+     */
+    @ApiModelProperty("区域收款人姓名")
+    private String areaPayeeName;
+
+
     // 服务中心抽成金额
     @Excel(name = "服务中心抽成金额(元)")
     private BigDecimal serviceCentreDistributionAmount;
@@ -87,4 +131,46 @@ public class SettlementOrderListVO {
     // 服务中心结算时间
     @Excel(name = "服务中心结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date serviceCentreSettlementTime;
+
+    /**
+     * 服务中心费用付款方式 1银行卡
+     */
+    @ApiModelProperty("服务中心费用付款方式 1银行卡")
+    private String serviceCentrePayerMethod;
+
+    /**
+     * 服务中心费用付款账户
+     */
+    @ApiModelProperty("服务中心费用付款账户")
+    private String serviceCentrePayerAccount;
+
+    /**
+     * 服务中心费用付款银行名称
+     */
+    @ApiModelProperty("服务中心费用付款银行名称")
+    private String serviceCentrePayerBankName;
+
+    /**
+     * 服务中心收款方式 1银行卡
+     */
+    @ApiModelProperty("服务中心收款方式 1银行卡")
+    private String serviceCentrePayeeMethod;
+
+    /**
+     * 服务中心收款账号
+     */
+    @ApiModelProperty("服务中心收款账号")
+    private String serviceCentrePayeeAccount;
+
+    /**
+     * 服务中心收款银行名称
+     */
+    @ApiModelProperty("服务中心收款银行名称")
+    private String serviceCentrePayeeBankName;
+
+    /**
+     * 服务中心收款人姓名
+     */
+    @ApiModelProperty("服务中心收款人姓名")
+    private String serviceCentrePayeeName;
 }

+ 7 - 7
leromro-core/src/main/java/com/leromro/core/service/impl/OrderSettlementApplicationServiceImpl.java

@@ -217,7 +217,7 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
         List<OrderSettlementApplication> orderSettlementApplicationList = new ArrayList<>();
         for (SecondOrder settlementOrder : settlementOrderList) {
             OrderSettlementApplication orderSettlementApplication = OrderSettlementApplication.builder()
-                    .orderId(settlementOrder.getMainOrderId())
+                    .orderId(settlementOrder.getSecondOrderId())
                     .applicantType(ApplicantTypeEnum.getCodeByAreaType(areaType))
                     .applicantId(deptId)
                     .amount(getDistributionAmount(areaType, settlementOrder))
@@ -265,8 +265,9 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
         String areaType = sysDept.getAreaType();
 
         // 获取所有的申请记录
-        List<OrderSettlementApplication> orderSettlementApplicationList = this.list(new LambdaQueryWrapper<OrderSettlementApplication>().in(OrderSettlementApplication::getId, settlementOrderAuditorDTO.getIds()));
-        if(CollUtil.isNotEmpty(orderSettlementApplicationList)){
+        List<OrderSettlementApplication> orderSettlementApplicationList = this.list(new LambdaQueryWrapper<OrderSettlementApplication>()
+                .in(OrderSettlementApplication::getId, settlementOrderAuditorDTO.getIds()));
+        if(CollUtil.isEmpty(orderSettlementApplicationList)){
             throw new ServiceException("申请记录不存在");
         }
         // 检查是否所有记录都是待审核状态
@@ -287,12 +288,11 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
         // 获取所有审核记录对应的订单id
         List<Long> secondOrderIds = orderSettlementApplicationList.stream().map(OrderSettlementApplication::getOrderId).collect(Collectors.toList());
 
-        // 更新区域/服务中心结算状态
-        if("3".equals(areaType)){
+        // 更新区域/服务中心结算状态,当前是平台,则默认结算的是区域,当前如果是区域公司,默认结算的是服务中心
+        if("0".equals(areaType)){
             iSecondOrderService.updateAreaSettlementStatus(secondOrderIds
                     , AuditorStatusEnum.AUDIT_PASS.getCode().equals(settlementOrderAuditorDTO.getAuditorStatus())? AreaSettlementStatusEnum.PENDING_PAYMENT.getCode() : AreaSettlementStatusEnum.REJECTED.getCode());
-        }
-        if("4".equals(areaType)){
+        }else if("3".equals(areaType)){
             iSecondOrderService.updateServiceCentreSettlementStatus(secondOrderIds
                     , AuditorStatusEnum.AUDIT_PASS.getCode().equals(settlementOrderAuditorDTO.getAuditorStatus())? ServiceCentreSettlementStatusEnum.PENDING_PAYMENT.getCode() : ServiceCentreSettlementStatusEnum.REJECTED.getCode());
         }

+ 1 - 0
leromro-core/src/main/java/com/leromro/core/service/impl/SecondOrdersServiceImpl.java

@@ -189,6 +189,7 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
             orderAuthSettlementOrderListDTO.setServiceDistributionId(deptId);
         }
         PageUtils.startPage();
+        PageUtils.orderBy("a.create_time desc");
         List<SettlementOrderListVO> list = secondOrdersMapper.selectSettlementOrderList(orderAuthSettlementOrderListDTO);
         return list;
     }

+ 1 - 0
leromro-core/src/main/resources/mapper/core/OrderSettlementApplicationMapper.xml

@@ -38,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectOrderSettlementApplicationList" resultType="com.leromro.core.domain.vo.OrderSettlementApplicationListVO">
         SELECT
+        a.id as id,
         a.application_time as applyTime,
         application_user.nick_name AS applyUserName,
         sys_dept.dept_name AS applyUserName,

+ 16 - 1
leromro-core/src/main/resources/mapper/core/SecondOrdersMapper.xml

@@ -319,9 +319,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         a.area_distribution_amount AS areaDistributionAmount,
         a.area_settlement_status AS areaSettlementStatus,
         a.area_settlement_time AS areaSettlementTime,
+        a.area_payer_method AS areaPayerMethod,
+        a.area_payer_account AS areaPayerAccount,
+        a.area_payer_account_bank_name AS areaPayerAccountBankName,
+        a.area_payee_method AS areaPayeeMethod,
+        a.area_payee_account AS areaPayeeAccount,
+        a.area_payee_bank_name AS areaPayeeBankName,
+        a.area_payee_name AS areaPayeeName,
         a.service_centre_distribution_amount AS serviceCentreDistributionAmount,
         a.service_centre_settlement_status AS serviceCentreSettlementStatus,
-        a.service_centre_settlement_time AS serviceCentreSettlementTime
+        a.service_centre_settlement_time AS serviceCentreSettlementTime,
+        a.service_centre_payer_method AS serviceCentrePayerMethod,
+        a.service_centre_payer_account AS serviceCentrePayerAccount,
+        a.service_centre_payer_bank_name AS serviceCentrePayerBankName,
+        a.service_centre_payee_method AS serviceCentrePayeeMethod,
+        a.service_centre_payee_account AS serviceCentrePayeeAccount,
+        a.service_centre_payee_bank_name AS serviceCentrePayeeBankName,
+        a.service_centre_payee_name AS serviceCentrePayeeName
         FROM l_second_order a
         left join sys_dept area on a.area_distribution_id = area.dept_id
         left join sys_dept service_centre on a.service_center_id = service_centre.dept_id
@@ -332,6 +346,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join sys_user scs_user on a.service_centre_settlement_user_id = scs_user.user_id
         left join l_volunteer_info lvi on a.volunteer_info_id = lvi.volunteer_info_id
         <where>
+            a.volunteer_settlement_status = 20
             <if test="areaDistributionId!=null">
                 AND a.area_distribution_id = #{areaDistributionId}
             </if>