Explorar o código

物流结算导出

xucaiqin %!s(int64=2) %!d(string=hai) anos
pai
achega
a115d167bc

+ 16 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementLogisticsController.java

@@ -43,9 +43,17 @@ public class KwpSettlementLogisticsController {
         return HttpResult.ok(kwpSettlementLogisticsService.getCountListCollection(settlementReq));
     }
 
+    /**
+     * 承运方导出
+     *
+     * @param response
+     * @param settlementReq
+     * @return
+     */
     @PostMapping(name = "运费收款-根据条件导出物流订单表数据", path = "exportCollection")
     public HttpResult exportCollection(HttpServletResponse response, @RequestBody @Valid SettlementReq settlementReq) {
         settlementReq.setUnitType(LogisticsUnitType.CARRIER);
+        settlementReq.setUnitTypeTwo(LogisticsUnitType.SHIPPER);
         List<SettlementLogisticsDto> list;
         list = kwpSettlementLogisticsService.selectList(settlementReq);
         return this.export(response, list);
@@ -68,9 +76,17 @@ public class KwpSettlementLogisticsController {
         return HttpResult.ok(kwpSettlementLogisticsService.getCountListPayment(settlementReq));
     }
 
+    /**
+     * 托运方导出
+     *
+     * @param response
+     * @param settlementReq
+     * @return
+     */
     @PostMapping(name = "运费付款-根据条件导出物流订单表数据", path = "exportPayment")
     public HttpResult exportPayment(HttpServletResponse response, @RequestBody @Valid SettlementReq settlementReq) {
         settlementReq.setUnitType(LogisticsUnitType.SHIPPER);
+        settlementReq.setUnitTypeTwo(LogisticsUnitType.CARRIER);
         List<SettlementLogisticsDto> list;
         list = kwpSettlementLogisticsService.selectList(settlementReq);
         return this.export(response, list);

+ 3 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementLogisticsDto.java

@@ -86,6 +86,9 @@ public class SettlementLogisticsDto implements ISettlement  {
      * 对账承运方财务联系人电话
      */
     private String successPhone;
+    //导出时的财务联系人
+    private String contacts;
+    private String phone;
 
     /**
      * 状态(1待结算2部分结算3全部结算)

+ 32 - 83
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/SettlementLogisticsVo.java

@@ -24,6 +24,18 @@ public class SettlementLogisticsVo {
     @ExcelProperty(value = "主键")
     private Long id;
 
+    @ExcelProperty(value = "状态")
+    private String statusLabel;
+    /**
+     * 对账单编号
+     */
+    @ExcelProperty(value = "对账单编号")
+    private String lLedgerNo;
+    /**
+     * 对账表名称
+     */
+    @ExcelProperty(value = "对账表名称")
+    private String name;
     /**
      * 结算单编号
      */
@@ -31,21 +43,21 @@ public class SettlementLogisticsVo {
     private String slOrderNo;
 
     /**
-     * 名称
+     * 剩余待还款
      */
-    @ExcelProperty(value = "名称")
-    private String name;
+    @ExcelProperty(value = "剩余待还款")
+    private BigDecimal waitPrice;
 
     /**
-     * 对账金额
+     * 实际应收/元
      */
-    @ExcelProperty(value = "对账金额")
+    @ExcelProperty(value = "实际应收/元")
     private BigDecimal totalPrice;
 
     /**
-     * 已收账款
+     * 当前收款/元
      */
-    @ExcelProperty(value = "已收账款")
+    @ExcelProperty(value = "当前收款/元")
     private BigDecimal actualPrice;
 
     /**
@@ -55,6 +67,11 @@ public class SettlementLogisticsVo {
     @ExcelProperty(value = "预计收款日期")
     private Date receiptTime;
 
+    @ExcelProperty(value = "联系人")
+    private String contacts;
+
+    @ExcelProperty(value = "联系电话")
+    private String phone;
     /**
      * 备注
      */
@@ -62,99 +79,31 @@ public class SettlementLogisticsVo {
     private String remark;
 
     /**
-     * 对账托运方财务联系人
-     */
-    @ExcelProperty(value = "对账托运方财务联系人")
-    private String auditUser;
-
-    /**
-     * 对账托运方财务联系人电话
-     */
-    @ExcelProperty(value = "对账托运方财务联系人电话")
-    private String auditPhone;
-
-    /**
-     * 对账承运方财务联系人
-     */
-    @ExcelProperty(value = "对账承运方财务联系人")
-    private String successUser;
-
-    /**
-     * 对账承运方财务联系人电话
-     */
-    @ExcelProperty(value = "对账承运方财务联系人电话")
-    private String successPhone;
-
-
-    @ExcelProperty(value = "状态")
-    private String statusText;
-
-    /**
-     * 创建人名称
+     * 变更人
      */
-    @ExcelProperty(value = "创建人名称")
-    private String createByText;
+    @ExcelProperty(value = "变更人")
+    private String updateByLabel;
 
     /**
-     * 创建时间
+     * 生成时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelProperty(value = "创建时间")
+    @ExcelProperty(value = "生成时间")
     private Date createTime;
 
 
-    /**
-     * 更新人名称
-     */
-    @ExcelProperty(value = "更新人名称")
-    private String updateByText;
-
-    /**
-     * 更新时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelProperty(value = "更新时间")
-    private Date updateTime;
-
-
-    /**
-     * 对账单名称
-     */
-    @ExcelProperty(value = "对账单名称")
-    private String ledgerName;
-
-
     /**
      * 交易方式
      */
     @ExcelProperty(value = "交易方式")
-    private String trading;
-
-    /**
-     * 对账单编号
-     */
-    @ExcelProperty(value = "对账单编号")
-    private String lLedgerNo;
+    private String tradingLabel;
 
 
     /**
-     * 客户名称
+     * 客户单位
      */
-    @ExcelProperty(value = "客户名称")
+    @ExcelProperty(value = "客户单位")
     private String firmName;
 
 
-    /**
-     * 实际应收还款
-     */
-    @ExcelProperty(value = "实际应收还款")
-    private BigDecimal ledgerSettlePrice;
-
-    /**
-     * 剩余待还款
-     */
-    @ExcelProperty(value = "剩余待还款")
-    private BigDecimal residuePrice;
-
-
 }

+ 20 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsService.java

@@ -52,6 +52,19 @@ public class KwpSettlementLogisticsService {
     @Resource
     private KwpSettlementOfflineService kwpSettlementOfflineService;
 
+    private void changeDict(List<? extends ISettlement> list) {
+        //字典等数据转换
+        Map<String, SysDictResDto> dictResDtoMap = remoteSystemService.queryDictMapByType(DictTypeEnum.TRADE_TYPE.getType());
+        for (ISettlement iSettlement : list) {
+            String trading = iSettlement.getTrading();
+            SysDictResDto sysDictResDto = dictResDtoMap.get(trading);
+            if (Objects.nonNull(sysDictResDto)) {
+                iSettlement.setTradingLabel(sysDictResDto.getLabel());
+            }
+            iSettlement.setStatusLabel(SettlementEnum.getStatusDesc(iSettlement.getStatus()));
+        }
+    }
+
     public void save(KwpSettlementLogistics settlementLogistics) {
         settlementLogisticsMapper.insert(settlementLogistics);
     }
@@ -167,7 +180,13 @@ public class KwpSettlementLogisticsService {
      */
     public List<SettlementLogisticsDto> selectList(SettlementReq settlementReq) {
         validSettlementReq(settlementReq);
-        return settlementLogisticsMapper.selectLogisticsList(settlementReq, settlementReq.getIdList());
+        List<SettlementLogisticsDto> settlementLogisticsDtos = settlementLogisticsMapper.selectLogisticsList(settlementReq, settlementReq.getIdList());
+        changeDict(settlementLogisticsDtos);
+        for (SettlementLogisticsDto settlementLogisticsDto : settlementLogisticsDtos) {
+            UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(settlementLogisticsDto.getUpdateBy());
+            settlementLogisticsDto.setUpdateByLabel(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName() : "");
+        }
+        return settlementLogisticsDtos;
     }
 
     /**

+ 28 - 1
sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementLogisticsMapper.xml

@@ -379,7 +379,34 @@
 
     <!--  根据多个结算运费物流订单id查订单,用于导出   -->
     <select id="selectLogisticsList" resultType="com.sckw.payment.model.dto.SettlementLogisticsDto">
-        <include refid="settlementLogisticsSelect"/>
+        select l.name                           as name,
+               l.l_ledger_no                    as lLedgerNo,
+               l.trading                        as trading,
+               l.settle_price                   as settlePrice,
+               (s.total_price - s.actual_price) as waitPrice,
+               lu2.firm_name                    as firmName,
+               s.id,
+               s.ent_id                         as entId,
+               s.l_ledger_id                    as lLedgerId,
+               s.sl_order_no                    as slOrderNo,
+               s.name,
+               s.total_price                    as totalPrice,
+               s.actual_price                   as actualPrice,
+               s.receipt_time                   as receiptTime,
+               s.remark,
+               (case
+                    when #{settlementReq.unitType,jdbcType=INTEGER} = 2 then s.audit_user
+                    else s.success_user end)    as contacts,
+               (case
+                    when #{settlementReq.unitType,jdbcType=INTEGER} = 2 then s.audit_phone
+                    else s.success_phone end)   as phone,
+               s.status,
+               s.create_by                      as createBy,
+               s.create_time                    as createTime
+        from kwp_settlement_logistics s
+                 inner join kwp_ledger_logistics l on s.l_ledger_id = l.id
+                 inner join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id
+                 inner join kwp_ledger_logistics_unit lu2 on s.l_ledger_id = lu2.l_ledger_id
         <where>
             l.del_flag = 0
               and s.del_flag = 0