xucaiqin 2 лет назад
Родитель
Сommit
5ca73cb4e9

+ 7 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpLedgerLogisticsMapper.java

@@ -2,13 +2,19 @@ package com.sckw.payment.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.payment.model.KwpLedgerLogistics;
+import com.sckw.payment.model.dto.LedgerLogisticsDto;
+import com.sckw.payment.model.vo.req.LogisticsReq;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author xucaiqin
- * @date 2023-07-10 16:42:19
+ * @date 2023-07-11 13:41:43
  */
 
 @Mapper
 public interface KwpLedgerLogisticsMapper extends BaseMapper<KwpLedgerLogistics> {
+    List<LedgerLogisticsDto> pageSelect(@Param("logisticsReq") LogisticsReq logisticsReq);
 }

+ 50 - 8
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/KwpLedgerLogistics.java

@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
 
 /**
  * @author xucaiqin
- * @date 2023-07-10 16:42:19
+ * @date 2023-07-11 13:41:43
  */
 
 /**
@@ -48,6 +48,15 @@ public class KwpLedgerLogistics {
     @TableField(value = "carrier_ent_id")
     private Long carrierEntId;
 
+    /**
+     * 物流对账单编号
+     */
+    @TableField(value = "l_ledger_no")
+    private String lLedgerNo;
+
+    /**
+     * 对账单名称
+     */
     @TableField(value = "`name`")
     private String name;
 
@@ -63,12 +72,6 @@ public class KwpLedgerLogistics {
     @TableField(value = "end_time")
     private LocalDateTime endTime;
 
-    /**
-     * 对账金额
-     */
-    @TableField(value = "price")
-    private BigDecimal price;
-
     /**
      * 发票税率(%)
      */
@@ -79,7 +82,7 @@ public class KwpLedgerLogistics {
      * 交易方式(预付款、货到付款)
      */
     @TableField(value = "trading")
-    private String trading;
+    private Integer trading;
 
     /**
      * 卸货量
@@ -111,18 +114,54 @@ public class KwpLedgerLogistics {
     @TableField(value = "total_price")
     private BigDecimal totalPrice;
 
+    /**
+     * 实际结算金额
+     */
+    @TableField(value = "settle_price")
+    private BigDecimal settlePrice;
+
     /**
      * 已收款/元
      */
     @TableField(value = "actual_price")
     private BigDecimal actualPrice;
 
+    /**
+     * 托运方电话
+     */
+    @TableField(value = "check_phone")
+    private String checkPhone;
+
+    /**
+     * 托运方联系人
+     */
+    @TableField(value = "check_user")
+    private String checkUser;
+
+    /**
+     * 承运方电话
+     */
+    @TableField(value = "carrier_phone")
+    private String carrierPhone;
+
+    /**
+     * 承运方联系人
+     */
+    @TableField(value = "carrier_user")
+    private String carrierUser;
+
     /**
      * 对账清单凭证
      */
     @TableField(value = "url")
     private String url;
 
+    /**
+     * 生成时间
+     */
+    @TableField(value = "generate_time")
+    private LocalDateTime generateTime;
+
     /**
      * 备注
      */
@@ -138,6 +177,9 @@ public class KwpLedgerLogistics {
     @TableField(value = "create_by")
     private Long createBy;
 
+    /**
+     * 创建时间
+     */
     @TableField(value = "create_time")
     private LocalDateTime createTime;
 

+ 118 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpLedgerLogisticsService.java

@@ -1,11 +1,129 @@
 package com.sckw.payment.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.payment.dao.KwpLedgerLogisticsMapper;
+import com.sckw.payment.dao.KwpLedgerLogisticsOrderMapper;
+import com.sckw.payment.dao.KwpLedgerLogisticsTrackMapper;
+import com.sckw.payment.model.KwpLedgerLogistics;
+import com.sckw.payment.model.KwpLedgerLogisticsOrder;
+import com.sckw.payment.model.KwpLedgerLogisticsTrack;
+import com.sckw.payment.model.constant.LedgerLicEnum;
+import com.sckw.payment.model.dto.LedgerLogisticsDto;
+import com.sckw.payment.model.vo.req.LedgerReq;
+import com.sckw.payment.model.vo.req.LogisticsReq;
+import com.sckw.payment.model.vo.req.LogisticsSendReq;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
 /**
  * @author xucaiqin
  * @date 2023-07-10 16:38:36
  */
 @Service
+@AllArgsConstructor
 public class KwpLedgerLogisticsService {
 
+    private final KwpLedgerLogisticsMapper logisticsMapper;
+    private final KwpLedgerLogisticsTrackMapper logisticsTrackMapper;
+    private final KwpLedgerLogisticsOrderMapper logisticsOrderMapper;
+
+    public PageResult pageList(LogisticsReq logisticsReq) {
+        //todo 查询缓存,获取客户企业id
+        String keywords = logisticsReq.getKeywords();
+        if (StringUtils.isNotBlank(keywords)) {
+
+        }
+        PageHelper.startPage(logisticsReq.getPage(), logisticsReq.getPageSize());
+
+        List<LedgerLogisticsDto> kwpLedgerLogisticsList = logisticsMapper.pageSelect(logisticsReq);
+
+        return PageHelperUtil.getPageResult(new PageInfo<>(kwpLedgerLogisticsList));
+    }
+
+    public Object sendLedger(LogisticsSendReq logisticsReq) {
+        return null;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public Object sendLedgerDraft(LogisticsSendReq logisticsReq) {
+        /*插入物流对账单*/
+        KwpLedgerLogistics kwpLedgerLogistics = new KwpLedgerLogistics();
+        kwpLedgerLogistics.setId(new IdWorker(1).nextId());
+        kwpLedgerLogistics.setEntId(0L);//todo
+        kwpLedgerLogistics.setCheckEntId(logisticsReq.getCheckEntId());
+        kwpLedgerLogistics.setCarrierEntId(logisticsReq.getCarrierEntId());//todo
+        kwpLedgerLogistics.setLLedgerNo("");//todo
+        kwpLedgerLogistics.setName(logisticsReq.getName());
+        kwpLedgerLogistics.setStartTime(logisticsReq.getStartTime());
+        kwpLedgerLogistics.setEndTime(logisticsReq.getEndTime());
+        kwpLedgerLogistics.setTaxRate(new BigDecimal("0"));//todo
+        kwpLedgerLogistics.setTrading(logisticsReq.getTrading());//todo
+        //todo 查询运单
+
+        kwpLedgerLogistics.setUnloadAmount(new BigDecimal("0"));
+        kwpLedgerLogistics.setLoadAmount(new BigDecimal("0"));
+        kwpLedgerLogistics.setDeficitAmount(new BigDecimal("0"));
+        kwpLedgerLogistics.setLoseAmount(new BigDecimal("0"));
+        kwpLedgerLogistics.setTotalPrice(logisticsReq.getTotalPrice());
+        kwpLedgerLogistics.setSettlePrice(logisticsReq.getSettlePrice());
+        kwpLedgerLogistics.setActualPrice(new BigDecimal("0"));
+        kwpLedgerLogistics.setCheckPhone("");//取承运订单的第一条数据
+        kwpLedgerLogistics.setCheckUser("");
+        kwpLedgerLogistics.setCarrierPhone("");
+        kwpLedgerLogistics.setCarrierUser("");
+        kwpLedgerLogistics.setGenerateTime(null);
+        kwpLedgerLogistics.setUrl("");
+        kwpLedgerLogistics.setRemark(logisticsReq.getRemark());
+        kwpLedgerLogistics.setStatus(0);
+        kwpLedgerLogistics.setCreateBy(0L);
+        kwpLedgerLogistics.setCreateTime(LocalDateTime.now());
+        kwpLedgerLogistics.setUpdateBy(0L);
+        kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
+        kwpLedgerLogistics.setDelFlag(0);
+        logisticsMapper.insert(kwpLedgerLogistics);
+        /*插入对账关联物流运单*/
+        logisticsOrderMapper.insert(new KwpLedgerLogisticsOrder());
+        return null;
+    }
+
+
+    public Integer remove(Long id) {
+        return logisticsMapper.deleteById(id);
+    }
+
+    public String backOrder(Long id) {
+        KwpLedgerLogistics kwpLedgerLogistics = new KwpLedgerLogistics();
+        kwpLedgerLogistics.setId(id);
+        kwpLedgerLogistics.setStatus(LedgerLicEnum.CANCEL.getStatus());
+        logisticsMapper.updateById(kwpLedgerLogistics);
+        return null;
+    }
+
+    public List<KwpLedgerLogisticsTrack> queryBack(Long id) {
+        LambdaQueryWrapper<KwpLedgerLogisticsTrack> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwpLedgerLogisticsTrack::getLLedgerId, id);
+        wrapper.eq(KwpLedgerLogisticsTrack::getDelFlag, 0);
+        return logisticsTrackMapper.selectList(wrapper);
+    }
+
+    public Integer doBack(LedgerReq ledgerReq) {
+        KwpLedgerLogisticsTrack kwpLedgerLogisticsTrack = new KwpLedgerLogisticsTrack();
+        kwpLedgerLogisticsTrack.setId(new IdWorker(1).nextId());
+        kwpLedgerLogisticsTrack.setLLedgerId(ledgerReq.getId());
+        kwpLedgerLogisticsTrack.setRemark(ledgerReq.getRemark());
+        kwpLedgerLogisticsTrack.setStatus(0);
+
+        return logisticsTrackMapper.insert(kwpLedgerLogisticsTrack);
+    }
 }

+ 31 - 5
sckw-modules/sckw-payment/src/main/resources/mapper/KwpLedgerLogisticsMapper.xml

@@ -8,19 +8,25 @@
     <result column="ent_id" jdbcType="BIGINT" property="entId" />
     <result column="check_ent_id" jdbcType="BIGINT" property="checkEntId" />
     <result column="carrier_ent_id" jdbcType="BIGINT" property="carrierEntId" />
+    <result column="l_ledger_no" jdbcType="VARCHAR" property="lLedgerNo" />
     <result column="name" jdbcType="VARCHAR" property="name" />
     <result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
     <result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
-    <result column="price" jdbcType="DECIMAL" property="price" />
     <result column="tax_rate" jdbcType="DECIMAL" property="taxRate" />
-    <result column="trading" jdbcType="VARCHAR" property="trading" />
+    <result column="trading" jdbcType="INTEGER" property="trading" />
     <result column="unload_amount" jdbcType="DECIMAL" property="unloadAmount" />
     <result column="load_amount" jdbcType="DECIMAL" property="loadAmount" />
     <result column="deficit_amount" jdbcType="DECIMAL" property="deficitAmount" />
     <result column="lose_amount" jdbcType="DECIMAL" property="loseAmount" />
     <result column="total_price" jdbcType="DECIMAL" property="totalPrice" />
+    <result column="settle_price" jdbcType="DECIMAL" property="settlePrice" />
     <result column="actual_price" jdbcType="DECIMAL" property="actualPrice" />
+    <result column="check_phone" jdbcType="VARCHAR" property="checkPhone" />
+    <result column="check_user" jdbcType="VARCHAR" property="checkUser" />
+    <result column="carrier_phone" jdbcType="VARCHAR" property="carrierPhone" />
+    <result column="carrier_user" jdbcType="VARCHAR" property="carrierUser" />
     <result column="url" jdbcType="VARCHAR" property="url" />
+    <result column="generate_time" jdbcType="TIMESTAMP" property="generateTime" />
     <result column="remark" jdbcType="VARCHAR" property="remark" />
     <result column="status" jdbcType="INTEGER" property="status" />
     <result column="create_by" jdbcType="BIGINT" property="createBy" />
@@ -31,8 +37,28 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, ent_id, check_ent_id, carrier_ent_id, `name`, start_time, end_time, price, tax_rate, 
-    trading, unload_amount, load_amount, deficit_amount, lose_amount, total_price, actual_price, 
-    url, remark, `status`, create_by, create_time, update_by, update_time, del_flag
+    id, ent_id, check_ent_id, carrier_ent_id, l_ledger_no, `name`, start_time, end_time, 
+    tax_rate, trading, unload_amount, load_amount, deficit_amount, lose_amount, total_price, 
+    settle_price, actual_price, check_phone, check_user, carrier_phone, carrier_user, 
+    url, generate_time, remark, `status`, create_by, create_time, update_by, update_time, 
+    del_flag
   </sql>
+
+    <select id="pageSelect" resultType="com.sckw.payment.model.dto.LedgerLogisticsDto">
+        select *
+        from kwp_ledger_logistics kll
+        <where>
+            kll.del_flag = 0
+            <if test="logisticsReq.status != null">
+                and kll.status = #{logisticsReq.status}
+            </if>
+            <if test="logisticsReq.trading != null">
+                and kll.trading = #{logisticsReq.trading,jdbcType=INTEGER}
+            </if>
+            <if test="logisticsReq.startCreateTime != null and logisticsReq.endCreateTime != null">
+                and kll.generate_time between  #{logisticsReq.startCreateTime,jdbcType=TIMESTAMP} and #{logisticsReq.endCreateTime,jdbcType=TIMESTAMP}
+            </if>
+        </where>
+        order by kll.generate_time
+    </select>
 </mapper>