Переглянути джерело

1、订单结算列表接口新增区域/服务中心审核结果说明信息返回。

jxl 3 місяців тому
батько
коміт
d271805f0d

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

@@ -234,7 +234,7 @@ public class OrdersController extends BaseController {
             util.hideColumn("areaDistributionRatio","areaDistributionAmount"
                     ,"areaSettlementStatus", "areaSettlementTime","areaPayerMethod"
                     ,"areaPayerAccount","areaPayerAccountBankName","areaPayeeMethod"
-                    ,"areaPayeeAccount","areaPayeeBankName","areaPayeeName");
+                    ,"areaPayeeAccount","areaPayeeBankName","areaPayeeName","areaAuditorRemark");
         }
         util.exportExcel(response, list, "订单费用结算申请数据");
     }

+ 4 - 0
leromro-core/src/main/java/com/leromro/core/domain/OrderSettlementApplication.java

@@ -95,5 +95,9 @@ public class OrderSettlementApplication extends BaseEntity
     @ApiModelProperty("审核结果说明")
     private String auditorRemark;
 
+    @TableField("isNew")
+    @ApiModelProperty("是否最新申请记录 0不是 1是")
+    private Integer isNew;
+
 
 }

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

@@ -138,6 +138,13 @@ public class SettlementOrderListVO {
     @ApiModelProperty("区域收款人姓名")
     private String areaPayeeName;
 
+    /**
+     * 区域公司结算申请审核结果说明
+     */
+    @Excel(name = "区域公司结算申请审核结果说明")
+    @ApiModelProperty("区域公司结算申请审核结果说明")
+    private String areaAuditorRemark;
+
     // 服务中心抽成比例
     @Excel(name = "服务中心抽成比例")
     private BigDecimal serviceCentreDistributionRatio;
@@ -202,4 +209,11 @@ public class SettlementOrderListVO {
     @Excel(name = "服务中心收款人姓名")
     @ApiModelProperty("服务中心收款人姓名")
     private String serviceCentrePayeeName;
+
+    /**
+     * 服务中心结算申请审核结果说明
+     */
+    @Excel(name = "服务中心结算申请审核结果说明")
+    @ApiModelProperty("服务中心结算申请审核结果说明")
+    private String serviceCentreAuditorRemark;
 }

+ 2 - 1
leromro-core/src/main/java/com/leromro/core/service/IOrderSettlementApplicationService.java

@@ -77,8 +77,9 @@ public interface IOrderSettlementApplicationService extends IService<OrderSettle
     /**
      * 取消待审核的结算申请记录
      * @param mainOrderIds
+     * @param applicantType
      */
-    void cancelPendingRecord(List<Long> mainOrderIds);
+    void cancelPendingRecord(List<Long> mainOrderIds,String applicantType);
 
 
     /**

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

@@ -159,10 +159,11 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
 
     @Override
     @Transactional
-    public void cancelPendingRecord(List<Long> secondOrderIds) {
+    public void cancelPendingRecord(List<Long> secondOrderIds,String applicantType) {
         this.update(new LambdaUpdateWrapper<OrderSettlementApplication>()
                 .set(OrderSettlementApplication::getAuditorStatus, AuditorStatusEnum.CANCEL.getCode())
                 .eq(OrderSettlementApplication::getAuditorStatus, AuditorStatusEnum.AUDITING.getCode())
+                .eq(OrderSettlementApplication::getApplicantType, applicantType)
                 .in(OrderSettlementApplication::getOrderId, secondOrderIds)
         );
     }
@@ -203,8 +204,7 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
                         && !AreaSettlementStatusEnum.REJECTED.getCode().equals(settlementOrder.getAreaSettlementStatus())){
                     throw new ServiceException("订单不能重复申请结算");
                 }
-            }
-            if("4".equals(areaType)){
+            }else if("4".equals(areaType)){
                 if(!ServiceCentreSettlementStatusEnum.PENDING_SETTLEMENT.getCode().equals(settlementOrder.getServiceCentreSettlementStatus())
                         && !ServiceCentreSettlementStatusEnum.REJECTED.getCode().equals(settlementOrder.getServiceCentreSettlementStatus())){
                     throw new ServiceException("订单不能重复申请结算");
@@ -213,7 +213,9 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
         }
 
         // 取消订单之前正在审核中的结算申请记录
-        this.cancelPendingRecord(settlementOrderApplyDTO.getSecondOrderIds());
+        this.cancelPendingRecord(settlementOrderApplyDTO.getSecondOrderIds(),ApplicantTypeEnum.getCodeByAreaType(areaType));
+        // 之前的申请记录设置为不是最新的
+        this.updateIsNew(settlementOrderApplyDTO.getSecondOrderIds(),ApplicantTypeEnum.getCodeByAreaType(areaType),0);
 
         // 新增订单结算申请记录
         List<OrderSettlementApplication> orderSettlementApplicationList = new ArrayList<>();
@@ -230,6 +232,7 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
                     .payeeBankName(settlementOrderApplyDTO.getPayeeBankName())
                     .payeeName(settlementOrderApplyDTO.getPayeeName())
                     .payeeRemark(settlementOrderApplyDTO.getPayeeRemark())
+                    .isNew(1)
                     .build();
             orderSettlementApplicationList.add(orderSettlementApplication);
         }
@@ -243,6 +246,21 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
         }
     }
 
+    /**
+     * 更新订单结算申请记录是否最新
+     * @param secondOrderIds
+     * @param isNew
+     */
+    @Transactional
+    public void updateIsNew(List<Long> secondOrderIds,String applicantType,Integer isNew){
+        this.update(new LambdaUpdateWrapper<OrderSettlementApplication>()
+                .set(OrderSettlementApplication::getIsNew, isNew)
+                .in(OrderSettlementApplication::getOrderId, secondOrderIds)
+                .eq(OrderSettlementApplication::getApplicantType, applicantType)
+                .eq(OrderSettlementApplication::getIsNew,1)
+        );
+    }
+
     @Override
     @Transactional
     public void auditorOrderSettlement(SettlementOrderAuditorDTO settlementOrderAuditorDTO) {

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

@@ -339,6 +339,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         a.area_payee_account AS areaPayeeAccount,
         a.area_payee_bank_name AS areaPayeeBankName,
         a.area_payee_name AS areaPayeeName,
+        areaApplication.auditor_remark AS areaAuditorRemark,
         a.service_centre_distribution_ratio AS serviceCentreDistributionRatio,
         a.service_centre_distribution_amount AS serviceCentreDistributionAmount,
         a.service_centre_settlement_status AS serviceCentreSettlementStatus,
@@ -349,7 +350,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         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
+        a.service_centre_payee_name AS serviceCentrePayeeName,
+        serviceCentreApplication.auditor_remark AS serviceCentreAuditorRemark
         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
@@ -359,6 +361,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join sys_user as_user on a.area_settlement_user_id = as_user.user_id
         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
+        left join l_order_settlement_application areaApplication
+            on a.second_order_id = areaApplication.order_id
+            and areaApplication.applicant_type = 1
+            and areaApplication.isNew = 1
+        left join l_order_settlement_application serviceCentreApplication
+        on a.second_order_id = serviceCentreApplication.order_id
+        and serviceCentreApplication.applicant_type = 2
+        and serviceCentreApplication.isNew = 1
         <where>
             a.volunteer_settlement_status = 20
             <if test="areaDistributionId!=null">