Commit 25b7a1e0 authored by knight's avatar knight

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

parent a5c3cdc8
...@@ -3723,6 +3723,7 @@ public class CustomerServiceImpl extends AbstractService<CustomerMapper, ...@@ -3723,6 +3723,7 @@ public class CustomerServiceImpl extends AbstractService<CustomerMapper,
// 修改集运服务配置 // 修改集运服务配置
Boolean isConsService = customerSetupUpdateReqVO.getIsConsService(); Boolean isConsService = customerSetupUpdateReqVO.getIsConsService();
Integer preferenceTransportType = customerSetupUpdateReqVO.getPreferenceTransportType(); Integer preferenceTransportType = customerSetupUpdateReqVO.getPreferenceTransportType();
Long consPickupPoint = customerSetupUpdateReqVO.getConsPickupPoint();
if (arrivalConfirm != null) { if (arrivalConfirm != null) {
customerDO.setArrivalConfirm(arrivalConfirm); customerDO.setArrivalConfirm(arrivalConfirm);
...@@ -3756,6 +3757,12 @@ public class CustomerServiceImpl extends AbstractService<CustomerMapper, ...@@ -3756,6 +3757,12 @@ public class CustomerServiceImpl extends AbstractService<CustomerMapper,
customerDO.setPreferenceTransportType(preferenceTransportType); customerDO.setPreferenceTransportType(preferenceTransportType);
} }
// 修改集运提货点
if (consPickupPoint != null) {
customerDO.setConsPickupPoint(consPickupPoint);
}
customerMapper.updateById(customerDO); customerMapper.updateById(customerDO);
if (lightUnit == null) { if (lightUnit == null) {
......
...@@ -122,15 +122,13 @@ public class CustomerBaseVO { ...@@ -122,15 +122,13 @@ public class CustomerBaseVO {
private List<CustomerProductTypeGroupVO> products; private List<CustomerProductTypeGroupVO> products;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "是否开启集运服务") @ApiModelProperty(value = "是否开启集运服务")
private Boolean isConsService; private Boolean isConsService;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "集运服务运输方式偏好") @ApiModelProperty(value = "集运服务运输方式偏好")
private Integer preferenceTransportType; private Integer preferenceTransportType;
@ApiModelProperty(value = "集运提货点")
private Long consPickupPoint;
} }
...@@ -322,4 +322,6 @@ public class CustomerDetailRespVO extends CustomerBaseVO { ...@@ -322,4 +322,6 @@ public class CustomerDetailRespVO extends CustomerBaseVO {
private Integer preferenceTransportType; private Integer preferenceTransportType;
private Long consPickupPoint;
} }
...@@ -72,17 +72,17 @@ public class CustomerSetupUpdateReqVO { ...@@ -72,17 +72,17 @@ public class CustomerSetupUpdateReqVO {
@Valid @Valid
private List<CustomerLineUpdateReqVO> customerLines; private List<CustomerLineUpdateReqVO> customerLines;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "是否开启集运服务") @ApiModelProperty(value = "是否开启集运服务")
private Boolean isConsService; private Boolean isConsService;
/**
* 泡货标准(kg)
*/
@ApiModelProperty(value = "集运服务运输方式偏好") @ApiModelProperty(value = "集运服务运输方式偏好")
private Integer preferenceTransportType; private Integer preferenceTransportType;
@ApiModelProperty(value = "集运常用提货点")
private Long consPickupPoint;
} }
...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
<result column="customer_service_name" jdbcType="VARCHAR" property="customerServiceName"/> <result column="customer_service_name" jdbcType="VARCHAR" property="customerServiceName"/>
<result column="is_cons_service" jdbcType="INTEGER" property="isConsService"/> <result column="is_cons_service" jdbcType="INTEGER" property="isConsService"/>
<result column="preference_transport_type" jdbcType="INTEGER" property="preferenceTransportType"/> <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"> <collection property="productList" ofType="cn.iocoder.yudao.module.product.vo.product.ProductRespVO">
<id column="prod_id" jdbcType="BIGINT" property="id"/> <id column="prod_id" jdbcType="BIGINT" property="id"/>
<result column="prod_type_id" jdbcType="BIGINT" property="typeId"/> <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 { ...@@ -191,6 +191,8 @@ public interface OrderQueryService {
PageResult<OrderBackPageVO> myConsOrderPage(OrderQueryVO query, PageVO page); PageResult<OrderBackPageVO> myConsOrderPage(OrderQueryVO query, PageVO page);
PageResult<OrderBackPageVO> appMyOrderConsPage(OrderQueryVO query, PageVO page);
PageResult<OrderBackPageVO> adminCargoControlMyOrderPage(OrderQueryVO query, PageVO page); PageResult<OrderBackPageVO> adminCargoControlMyOrderPage(OrderQueryVO query, PageVO page);
PageResult<OrderBackPageVO> appCargoControlOrderPage(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; ...@@ -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.orderWarehouseIn.OrderWarehouseInDO;
import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehousePicture.OrderWarehousePictureDO; 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.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.order.OrderMapper;
import cn.iocoder.yudao.module.order.dal.mysql.orderItem.OrderItemMapper; import cn.iocoder.yudao.module.order.dal.mysql.orderItem.OrderItemMapper;
import cn.iocoder.yudao.module.order.dal.mysql.orderItemPackLog.OrderItemPackLogMapper; import cn.iocoder.yudao.module.order.dal.mysql.orderItemPackLog.OrderItemPackLogMapper;
...@@ -76,6 +77,7 @@ import cn.iocoder.yudao.module.order.vo.approval.OrderApprovalHeadBaseVO; ...@@ -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.OrderSpecialApplyVO;
import cn.iocoder.yudao.module.order.vo.approval.OrderSpecialBatchApplyOrderItemDetailVO; 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.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.order.*;
import cn.iocoder.yudao.module.order.vo.orderConsignee.OrderConsigneeBackVO; import cn.iocoder.yudao.module.order.vo.orderConsignee.OrderConsigneeBackVO;
import cn.iocoder.yudao.module.order.vo.orderException.ExceptionTypeResultVO; import cn.iocoder.yudao.module.order.vo.orderException.ExceptionTypeResultVO;
...@@ -141,6 +143,7 @@ import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.NOT_FIND_ ...@@ -141,6 +143,7 @@ import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.NOT_FIND_
public class OrderQueryServiceImpl implements OrderQueryService { public class OrderQueryServiceImpl implements OrderQueryService {
private final OrderMapper orderMapper; private final OrderMapper orderMapper;
private final OrderAppMapper orderAppMapper;
private final OrderItemMapper orderItemMapper; private final OrderItemMapper orderItemMapper;
private final OrderTimeMapper orderTimeMapper; private final OrderTimeMapper orderTimeMapper;
private final OrderDepartureService orderDepartureService; private final OrderDepartureService orderDepartureService;
...@@ -1164,6 +1167,24 @@ public class OrderQueryServiceImpl implements OrderQueryService { ...@@ -1164,6 +1167,24 @@ public class OrderQueryServiceImpl implements OrderQueryService {
return new PageResult<>(list, total, mpPage.getSize(), page.getPage(), (total + mpPage.getSize() - 1) / mpPage.getSize()); 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 @Override
public PageResult<OrderBackPageVO> adminCargoControlMyOrderPage(OrderQueryVO query, PageVO page) { public PageResult<OrderBackPageVO> adminCargoControlMyOrderPage(OrderQueryVO query, PageVO page) {
query.setLang(I18nMessage.getLang()); query.setLang(I18nMessage.getLang());
......
...@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.order.dto.OrderRemindExceptionDto; ...@@ -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.OrderAbnormalStateEnum;
import cn.iocoder.yudao.module.order.enums.OrderStatusEnum; import cn.iocoder.yudao.module.order.enums.OrderStatusEnum;
import cn.iocoder.yudao.module.order.enums.OrderStatusMsgEnum; 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.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -557,6 +558,12 @@ public class OrderBackPageVO { ...@@ -557,6 +558,12 @@ public class OrderBackPageVO {
@ApiModelProperty(value = "到仓重量") @ApiModelProperty(value = "到仓重量")
private BigDecimal checkWeight; private BigDecimal checkWeight;
@ApiModelProperty(value = "转运价格确认状态")
private Integer transferPriceConfirmationStatus;
// 集运包裹信息
private List<ConsBackVO> cons;
public void setGuanLianOrderStatus(String guanLianOrderStatus) { public void setGuanLianOrderStatus(String guanLianOrderStatus) {
this.guanLianOrderStatus = guanLianOrderStatus; this.guanLianOrderStatus = guanLianOrderStatus;
......
...@@ -686,6 +686,9 @@ public class OrderQueryVO { ...@@ -686,6 +686,9 @@ public class OrderQueryVO {
@ApiModelProperty(value = "是否有收货人") @ApiModelProperty(value = "是否有收货人")
private Boolean hasConsignee; private Boolean hasConsignee;
@ApiModelProperty(value = "根据关键字搜索")
private String keyword;
public void setStatus(Integer status) { public void setStatus(Integer status) {
this.status = status; this.status = status;
this.asStatus = 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; ...@@ -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.OrderItemService;
import cn.iocoder.yudao.module.order.service.order.OrderQueryService; import cn.iocoder.yudao.module.order.service.order.OrderQueryService;
import cn.iocoder.yudao.module.order.service.order.OrderService; 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.order.*;
import cn.iocoder.yudao.module.order.vo.orderItem.ItemPackingListVO; import cn.iocoder.yudao.module.order.vo.orderItem.ItemPackingListVO;
import cn.iocoder.yudao.module.order.vo.orderTime.OrderTimeBackVO; import cn.iocoder.yudao.module.order.vo.orderTime.OrderTimeBackVO;
...@@ -508,6 +509,13 @@ public class MyOrderController { ...@@ -508,6 +509,13 @@ public class MyOrderController {
return success(pageResult); 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") @GetMapping("/cargo/control/page")
@ApiOperation("获得我控货的订单分页") @ApiOperation("获得我控货的订单分页")
@PreAuthenticated @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