Commit 25b7a1e0 authored by knight's avatar knight

需求 集运-客户端集运订单页面

parent a5c3cdc8
......@@ -3723,6 +3723,7 @@ public class CustomerServiceImpl extends AbstractService<CustomerMapper,
// 修改集运服务配置
Boolean isConsService = customerSetupUpdateReqVO.getIsConsService();
Integer preferenceTransportType = customerSetupUpdateReqVO.getPreferenceTransportType();
Long consPickupPoint = customerSetupUpdateReqVO.getConsPickupPoint();
if (arrivalConfirm != null) {
customerDO.setArrivalConfirm(arrivalConfirm);
......@@ -3756,6 +3757,12 @@ public class CustomerServiceImpl extends AbstractService<CustomerMapper,
customerDO.setPreferenceTransportType(preferenceTransportType);
}
// 修改集运提货点
if (consPickupPoint != null) {
customerDO.setConsPickupPoint(consPickupPoint);
}
customerMapper.updateById(customerDO);
if (lightUnit == null) {
......
......@@ -122,15 +122,13 @@ public class CustomerBaseVO {
private List<CustomerProductTypeGroupVO> products;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "是否开启集运服务")
private Boolean isConsService;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "集运服务运输方式偏好")
private Integer preferenceTransportType;
@ApiModelProperty(value = "集运提货点")
private Long consPickupPoint;
}
......@@ -322,4 +322,6 @@ public class CustomerDetailRespVO extends CustomerBaseVO {
private Integer preferenceTransportType;
private Long consPickupPoint;
}
......@@ -72,17 +72,17 @@ public class CustomerSetupUpdateReqVO {
@Valid
private List<CustomerLineUpdateReqVO> customerLines;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "是否开启集运服务")
private Boolean isConsService;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "集运服务运输方式偏好")
private Integer preferenceTransportType;
@ApiModelProperty(value = "集运常用提货点")
private Long consPickupPoint;
}
......@@ -88,6 +88,7 @@
<result column="customer_service_name" jdbcType="VARCHAR" property="customerServiceName"/>
<result column="is_cons_service" jdbcType="INTEGER" property="isConsService"/>
<result column="preference_transport_type" jdbcType="INTEGER" property="preferenceTransportType"/>
<result column="cons_pickup_point" jdbcType="INTEGER" property="consPickupPoint"/>
<collection property="productList" ofType="cn.iocoder.yudao.module.product.vo.product.ProductRespVO">
<id column="prod_id" jdbcType="BIGINT" property="id"/>
<result column="prod_type_id" jdbcType="BIGINT" property="typeId"/>
......
package cn.iocoder.yudao.module.order.dal.mysql.order;
import cn.iocoder.yudao.framework.mybatis.core.mapper.AbstractMapper;
import cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO;
import cn.iocoder.yudao.module.order.vo.cons.ConsQueryVO;
import cn.iocoder.yudao.module.order.vo.order.OrderBackPageVO;
import cn.iocoder.yudao.module.order.vo.order.OrderBackVO;
import cn.iocoder.yudao.module.order.vo.order.OrderQueryVO;
import org.apache.ibatis.annotations.*;
import java.util.List;
/**
* 订单 Mapper
*
* @author 系统管理员
*/
@Mapper
public interface OrderAppMapper extends AbstractMapper<OrderDO> {
Long selectCount(@Param("query") OrderQueryVO query);
List<OrderBackPageVO> selectConsPage(@Param("start") int start, @Param("size") int size, @Param("query") OrderQueryVO query);
}
......@@ -191,6 +191,8 @@ public interface OrderQueryService {
PageResult<OrderBackPageVO> myConsOrderPage(OrderQueryVO query, PageVO page);
PageResult<OrderBackPageVO> appMyOrderConsPage(OrderQueryVO query, PageVO page);
PageResult<OrderBackPageVO> adminCargoControlMyOrderPage(OrderQueryVO query, PageVO page);
PageResult<OrderBackPageVO> appCargoControlOrderPage(OrderQueryVO query, PageVO page);
......
......@@ -58,6 +58,7 @@ import cn.iocoder.yudao.module.order.dal.dataobject.orderTime.OrderTimeDO;
import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehouseIn.OrderWarehouseInDO;
import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehousePicture.OrderWarehousePictureDO;
import cn.iocoder.yudao.module.order.dal.mysql.approval.OrderApprovalMapper;
import cn.iocoder.yudao.module.order.dal.mysql.order.OrderAppMapper;
import cn.iocoder.yudao.module.order.dal.mysql.order.OrderMapper;
import cn.iocoder.yudao.module.order.dal.mysql.orderItem.OrderItemMapper;
import cn.iocoder.yudao.module.order.dal.mysql.orderItemPackLog.OrderItemPackLogMapper;
......@@ -76,6 +77,7 @@ import cn.iocoder.yudao.module.order.vo.approval.OrderApprovalHeadBaseVO;
import cn.iocoder.yudao.module.order.vo.approval.OrderSpecialApplyVO;
import cn.iocoder.yudao.module.order.vo.approval.OrderSpecialBatchApplyOrderItemDetailVO;
import cn.iocoder.yudao.module.order.vo.approval.OrderSpecialBatchApplyVO;
import cn.iocoder.yudao.module.order.vo.cons.ConsBackVO;
import cn.iocoder.yudao.module.order.vo.order.*;
import cn.iocoder.yudao.module.order.vo.orderConsignee.OrderConsigneeBackVO;
import cn.iocoder.yudao.module.order.vo.orderException.ExceptionTypeResultVO;
......@@ -141,6 +143,7 @@ import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.NOT_FIND_
public class OrderQueryServiceImpl implements OrderQueryService {
private final OrderMapper orderMapper;
private final OrderAppMapper orderAppMapper;
private final OrderItemMapper orderItemMapper;
private final OrderTimeMapper orderTimeMapper;
private final OrderDepartureService orderDepartureService;
......@@ -1164,6 +1167,24 @@ public class OrderQueryServiceImpl implements OrderQueryService {
return new PageResult<>(list, total, mpPage.getSize(), page.getPage(), (total + mpPage.getSize() - 1) / mpPage.getSize());
}
@Override
public PageResult<OrderBackPageVO> appMyOrderConsPage(OrderQueryVO query, PageVO pageVO) {
// 设置当前语言
if (Objects.isNull(query.getLang())) {
query.setLang(I18nMessage.getLang());
}
// 获取总数
Long total = orderAppMapper.selectCount(query);
// 根据页码计算分页数量
IPage<OrderBackPageVO> mpPage = MyBatisUtils.buildPage(pageVO);
int start = (pageVO.getPage() - 1) * pageVO.getRows();
int size = pageVO.getRows();
// 获取列表数据
List<OrderBackPageVO> list = orderAppMapper.selectConsPage(start, size, query);
return new PageResult<>(list, total, mpPage.getSize(), pageVO.getPage(), (total + mpPage.getSize() - 1) / mpPage.getSize());
}
@Override
public PageResult<OrderBackPageVO> adminCargoControlMyOrderPage(OrderQueryVO query, PageVO page) {
query.setLang(I18nMessage.getLang());
......
......@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.order.dto.OrderRemindExceptionDto;
import cn.iocoder.yudao.module.order.enums.OrderAbnormalStateEnum;
import cn.iocoder.yudao.module.order.enums.OrderStatusEnum;
import cn.iocoder.yudao.module.order.enums.OrderStatusMsgEnum;
import cn.iocoder.yudao.module.order.vo.cons.ConsBackVO;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.JSONObject;
......@@ -557,6 +558,12 @@ public class OrderBackPageVO {
@ApiModelProperty(value = "到仓重量")
private BigDecimal checkWeight;
@ApiModelProperty(value = "转运价格确认状态")
private Integer transferPriceConfirmationStatus;
// 集运包裹信息
private List<ConsBackVO> cons;
public void setGuanLianOrderStatus(String guanLianOrderStatus) {
this.guanLianOrderStatus = guanLianOrderStatus;
......
......@@ -686,6 +686,9 @@ public class OrderQueryVO {
@ApiModelProperty(value = "是否有收货人")
private Boolean hasConsignee;
@ApiModelProperty(value = "根据关键字搜索")
private String keyword;
public void setStatus(Integer status) {
this.status = status;
this.asStatus = status;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.order.dal.mysql.order.OrderAppMapper">
<select id="selectCount" resultType="java.lang.Long" parameterType="cn.iocoder.yudao.module.order.vo.order.OrderQueryVO">
select count(DISTINCT o.order_id)
FROM ecw_order as o
LEFT JOIN ecw_cons as c on c.order_id = o.order_id and c.deleted = 0
LEFT JOIN ecw_cons_item as ci ON ci.cons_id = c.id AND ci.deleted = 0
LEFT JOIN ecw_product as p ON p.id = ci.prod_id AND p.deleted = 0
WHERE o.deleted = 0 AND c.id IS NOT NULL
<include refid="orderConsQuery">
</include>
</select>
<resultMap id="orderConsPageResultMap" type="cn.iocoder.yudao.module.order.vo.order.OrderBackPageVO">
<id property="orderId" column="order_id"/>
<id property="orderNo" column="order_no"/>
<id property="tidanNo" column="tidan_no"/>
<id property="marks" column="marks"/>
<id property="status" column="status"/>
<id property="createTime" column="create_time"/>
<id property="transferPriceConfirmationStatus" column="transfer_price_confirmation_status"/>
<collection property="cons" ofType="cn.iocoder.yudao.module.order.vo.cons.ConsBackVO" >
<id property="id" column="cons_id" />
</collection>
</resultMap>
<select id="selectConsPage" resultMap="orderConsPageResultMap" parameterType="cn.iocoder.yudao.module.order.vo.order.OrderQueryVO">
SELECT o.order_id,
o.order_no,
o.marks,
o.`status`,
o.tidan_no,
c.id as cons_id,
o.create_time,
o.transfer_price_confirmation_status
FROM ecw_order as o
LEFT JOIN ecw_cons as c ON c.order_id = o.order_id AND c.deleted = 0
LEFT JOIN ecw_cons_item as ci ON ci.cons_id = c.id AND ci.deleted = 0
LEFT JOIN ecw_product as p ON p.id = ci.prod_id AND p.deleted = 0
WHERE o.deleted = 0 AND c.id IS NOT NULL
<include refid="orderConsQuery">
</include>
LIMIT #{start}, #{size}
</select>
<sql id="orderConsQuery">
<!-- 根据快递单号、订单号、提单号、商品名称、唛头查询 -->
<if test="query.keyword != null and query.keyword != ''">
AND (
c.express_no LIKE CONCAT('%', #{query.keyword}, '%')
OR o.order_no LIKE CONCAT('%', #{query.keyword}, '%')
OR o.tidan_no LIKE CONCAT('%', #{query.keyword}, '%')
OR o.marks LIKE CONCAT('%', #{query.keyword}, '%')
OR p.title_zh LIKE CONCAT('%', #{query.keyword}, '%')
OR p.title_en LIKE CONCAT('%', #{query.keyword}, '%')
OR p.title_fr LIKE CONCAT('%', #{query.keyword}, '%')
)
</if>
<!-- 根据包裹创建时间范围查询,(不能判断字符串为空,不然会报错)-->
<if test="query.beginCreateTime != null ">
AND o.create_time >= #{query.beginCreateTime}
</if>
<if test="query.endCreateTime != null">
AND o.create_time <![CDATA[ <= ]]> #{query.endCreateTime}
</if>
<!-- 订单状态 IN 查询 -->
<if test="query.statusList != null and query.statusList.size() > 0">
AND o.status IN
<foreach collection="query.statusList" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
</sql>
</mapper>
......@@ -37,6 +37,7 @@ import cn.iocoder.yudao.module.order.enums.OrderTempLateEnum;
import cn.iocoder.yudao.module.order.service.order.OrderItemService;
import cn.iocoder.yudao.module.order.service.order.OrderQueryService;
import cn.iocoder.yudao.module.order.service.order.OrderService;
import cn.iocoder.yudao.module.order.vo.cons.ConsBackVO;
import cn.iocoder.yudao.module.order.vo.order.*;
import cn.iocoder.yudao.module.order.vo.orderItem.ItemPackingListVO;
import cn.iocoder.yudao.module.order.vo.orderTime.OrderTimeBackVO;
......@@ -508,6 +509,13 @@ public class MyOrderController {
return success(pageResult);
}
@GetMapping("/cons/page")
@ApiOperation("获取集运订单分页")
public CommonResult<PageResult<OrderBackPageVO>> consPage(OrderQueryVO query, PageVO page){
PageResult<OrderBackPageVO> myOrderConsPage = orderQueryService.appMyOrderConsPage(query, page);
return success(myOrderConsPage);
}
@GetMapping("/cargo/control/page")
@ApiOperation("获得我控货的订单分页")
@PreAuthenticated
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment