重构备货功能;手动发货加入备货、分配供应商发货加入备货;

This commit is contained in:
Richie 2025-05-23 21:21:08 +08:00
parent ed0bb999ce
commit b027b9b4bd
8 changed files with 409 additions and 504 deletions

View File

@ -1,58 +1,58 @@
package cn.qihangerp.api.order.controller;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
import cn.qihangerp.module.order.service.OShipStockUpService;
import cn.qihangerp.module.order.service.OShipWaybillService;
import cn.qihangerp.security.common.BaseController;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@AllArgsConstructor
@RestController
@RequestMapping("/ship")
public class ShipStockupController extends BaseController {
private final OShipStockUpService shipStockUpService;
private final OShipWaybillService shipWaybillService;
/**
* 备货列表
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/stock_up_list")
public TableDataInfo stock_up_list(ShipStockUpBo bo, PageQuery pageQuery)
{
var pageList = shipStockUpService.queryPageList(bo,pageQuery);
return getDataTable(pageList);
}
@PostMapping("/stock_up_complete")
public AjaxResult stock_up_complete(@RequestBody ShipStockUpCompleteBo bo)
{
int result = shipStockUpService.stockUpComplete(bo);
if(result == -1) return AjaxResult.error("参数错误orderItemIds为空");
if(result == -2) return AjaxResult.error("参数错误:没有要添加的");
else if(result == -1001) return AjaxResult.error("存在错误的orderItemId状态不对不能生成出库单");
else if(result == -1002) return AjaxResult.error("存在错误的订单数据名单明细中没有skuId请修改");
//wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
return toAjax(1);
}
@PostMapping("/stock_up_complete_by_order")
public AjaxResult stock_up_completeByOrder(@RequestBody ShipStockUpCompleteBo bo)
{
int result = shipStockUpService.stockUpCompleteByOrder(bo);
if(result == -1) return AjaxResult.error("参数错误orderItemIds为空");
if(result == -2) return AjaxResult.error("参数错误:没有要添加的");
else if(result == -1001) return AjaxResult.error("存在错误的orderItemId状态不对不能生成出库单");
else if(result == -1002) return AjaxResult.error("存在错误的订单数据名单明细中没有skuId请修改");
//wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
return toAjax(1);
}
}
//package cn.qihangerp.api.order.controller;
//
//
//import cn.qihangerp.common.AjaxResult;
//import cn.qihangerp.common.PageQuery;
//import cn.qihangerp.common.TableDataInfo;
//import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
//import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
//import cn.qihangerp.module.order.service.OShipStockUpService;
//import cn.qihangerp.module.order.service.OShipWaybillService;
//import cn.qihangerp.security.common.BaseController;
//import lombok.AllArgsConstructor;
//import org.springframework.web.bind.annotation.*;
//
//@AllArgsConstructor
//@RestController
//@RequestMapping("/ship")
//public class ShipStockupController extends BaseController {
// private final OShipStockUpService shipStockUpService;
// private final OShipWaybillService shipWaybillService;
//
// /**
// * 备货列表
// * @param bo
// * @param pageQuery
// * @return
// */
// @GetMapping("/stock_up_list")
// public TableDataInfo stock_up_list(ShipStockUpBo bo, PageQuery pageQuery)
// {
// var pageList = shipStockUpService.queryPageList(bo,pageQuery);
// return getDataTable(pageList);
// }
//
// @PostMapping("/stock_up_complete")
// public AjaxResult stock_up_complete(@RequestBody ShipStockUpCompleteBo bo)
// {
// int result = shipStockUpService.stockUpComplete(bo);
// if(result == -1) return AjaxResult.error("参数错误orderItemIds为空");
// if(result == -2) return AjaxResult.error("参数错误:没有要添加的");
// else if(result == -1001) return AjaxResult.error("存在错误的orderItemId状态不对不能生成出库单");
// else if(result == -1002) return AjaxResult.error("存在错误的订单数据名单明细中没有skuId请修改");
// //wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
// return toAjax(1);
// }
//
// @PostMapping("/stock_up_complete_by_order")
// public AjaxResult stock_up_completeByOrder(@RequestBody ShipStockUpCompleteBo bo)
// {
// int result = shipStockUpService.stockUpCompleteByOrder(bo);
// if(result == -1) return AjaxResult.error("参数错误orderItemIds为空");
// if(result == -2) return AjaxResult.error("参数错误:没有要添加的");
// else if(result == -1001) return AjaxResult.error("存在错误的orderItemId状态不对不能生成出库单");
// else if(result == -1002) return AjaxResult.error("存在错误的订单数据名单明细中没有skuId请修改");
// //wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
// return toAjax(1);
// }
//}

View File

@ -1,113 +1,113 @@
package cn.qihangerp.module.order.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 备货表打单加入备货清单
* @TableName o_ship_stock_up
*/
@Data
public class OShipStockUp implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
private String id;
/**
* 店铺id
*/
private Long shopId;
/**
* erp订单id
*/
private String saleOrderId;
/**
* erp订单itemid
*/
private String saleOrderItemId;
/**
* 订单编号
*/
private String orderNum;
/**
* 原始订单skuid
*/
private String originalSkuId;
/**
* erp系统商品id
*/
private Long goodsId;
/**
* erp系统商品规格id
*/
private Long specId;
/**
* 商品标题
*/
private String goodsTitle;
/**
* 商品图片
*/
private String goodsImg;
/**
* 商品规格
*/
private String goodsSpec;
/**
* 商品编码
*/
private String goodsNum;
/**
* 商品规格编码
*/
private String specNum;
/**
* 商品数量
*/
private Integer quantity;
/**
* 状态0待备货1备货中2已出库3已发货
*/
private Integer status;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人
*/
private String createBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人
*/
private String updateBy;
private static final long serialVersionUID = 1L;
}
//package cn.qihangerp.module.order.domain;
//
//import java.io.Serializable;
//import java.util.Date;
//
//import com.baomidou.mybatisplus.annotation.IdType;
//import com.baomidou.mybatisplus.annotation.TableId;
//import lombok.Data;
//
///**
// * 备货表打单加入备货清单
// * @TableName o_ship_stock_up
// */
//@Data
//public class OShipStockUp implements Serializable {
// /**
// *
// */
// @TableId(type = IdType.AUTO)
// private String id;
//
// /**
// * 店铺id
// */
// private Long shopId;
//
// /**
// * erp订单id
// */
// private String saleOrderId;
//
// /**
// * erp订单itemid
// */
// private String saleOrderItemId;
//
// /**
// * 订单编号
// */
// private String orderNum;
//
// /**
// * 原始订单skuid
// */
// private String originalSkuId;
//
// /**
// * erp系统商品id
// */
// private Long goodsId;
//
// /**
// * erp系统商品规格id
// */
// private Long specId;
//
// /**
// * 商品标题
// */
// private String goodsTitle;
//
// /**
// * 商品图片
// */
// private String goodsImg;
//
// /**
// * 商品规格
// */
// private String goodsSpec;
//
// /**
// * 商品编码
// */
// private String goodsNum;
//
// /**
// * 商品规格编码
// */
// private String specNum;
//
// /**
// * 商品数量
// */
// private Integer quantity;
//
// /**
// * 状态0待备货1备货中2已出库3已发货
// */
// private Integer status;
//
// /**
// * 创建时间
// */
// private Date createTime;
//
// /**
// * 创建人
// */
// private String createBy;
//
// /**
// * 更新时间
// */
// private Date updateTime;
//
// /**
// * 更新人
// */
// private String updateBy;
//
// private static final long serialVersionUID = 1L;
//}

View File

@ -1,19 +1,19 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OShipStockUp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author qilip
* @description 针对表o_ship_stock_up(备货表打单加入备货清单)的数据库操作Mapper
* @createDate 2024-07-28 18:29:53
* @Entity cn.qihangerp.module.order.domain.OShipStockUp
*/
public interface OShipStockUpMapper extends BaseMapper<OShipStockUp> {
}
//package cn.qihangerp.module.order.mapper;
//
//
//import cn.qihangerp.module.order.domain.OShipStockUp;
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//
///**
//* @author qilip
//* @description 针对表o_ship_stock_up(备货表打单加入备货清单)的数据库操作Mapper
//* @createDate 2024-07-28 18:29:53
//* @Entity cn.qihangerp.module.order.domain.OShipStockUp
//*/
//public interface OShipStockUpMapper extends BaseMapper<OShipStockUp> {
//
//}
//
//
//
//

View File

@ -1,25 +1,25 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.OShipStockUp;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author qilip
* @description 针对表o_ship_stock_up(备货表打单加入备货清单)的数据库操作Service
* @createDate 2024-07-28 18:29:53
*/
public interface OShipStockUpService extends IService<OShipStockUp> {
PageResult<OShipStockUp> queryPageList(ShipStockUpBo bo, PageQuery pageQuery);
/**
* 备货完成
* @param bo
* @return
*/
int stockUpComplete(ShipStockUpCompleteBo bo);
int stockUpCompleteByOrder(ShipStockUpCompleteBo bo);
}
//package cn.qihangerp.module.order.service;
//
//import cn.qihangerp.common.PageQuery;
//import cn.qihangerp.common.PageResult;
//import cn.qihangerp.module.order.domain.OShipStockUp;
//import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
//import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
//import com.baomidou.mybatisplus.extension.service.IService;
//
///**
//* @author qilip
//* @description 针对表o_ship_stock_up(备货表打单加入备货清单)的数据库操作Service
//* @createDate 2024-07-28 18:29:53
//*/
//public interface OShipStockUpService extends IService<OShipStockUp> {
// PageResult<OShipStockUp> queryPageList(ShipStockUpBo bo, PageQuery pageQuery);
//
// /**
// * 备货完成
// * @param bo
// * @return
// */
// int stockUpComplete(ShipStockUpCompleteBo bo);
// int stockUpCompleteByOrder(ShipStockUpCompleteBo bo);
//}

View File

@ -31,13 +31,6 @@ public interface OShipmentService extends IService<OShipment> {
*/
ResultVo<Integer> handOrderShip(OrderShipBo shipping);
/**
* 订单备货很多逻辑
* @param orderNum
* @param shopType
* @return
*/
ResultVo<Integer> shipStockup(String orderNum, EnumShopType shopType);
/**
* 发货消息
@ -47,5 +40,5 @@ public interface OShipmentService extends IService<OShipment> {
* @param logisticsCode
* @return
*/
ResultVo<Integer> shipSendMessage(String orderNum, EnumShopType shopType,String logisticsCompany,String logisticsCode);
// ResultVo<Integer> shipSendMessage(String orderNum, EnumShopType shopType,String logisticsCompany,String logisticsCode);
}

View File

@ -1,107 +1,107 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.module.order.domain.OShipStockUp;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
import cn.qihangerp.module.order.mapper.OShipStockUpMapper;
import cn.qihangerp.module.order.service.OShipStockUpService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
/**
* @author qilip
* @description 针对表o_ship_stock_up(备货表打单加入备货清单)的数据库操作Service实现
* @createDate 2024-07-28 18:29:53
*/
@AllArgsConstructor
@Service
public class OShipStockUpServiceImpl extends ServiceImpl<OShipStockUpMapper, OShipStockUp>
implements OShipStockUpService {
private final OShipStockUpMapper mapper;
@Override
public PageResult<OShipStockUp> queryPageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OShipStockUp> queryWrapper = new LambdaQueryWrapper<OShipStockUp>()
.eq(bo.getShopId()!=null,OShipStockUp::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OShipStockUp::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OShipStockUp::getOrderNum,bo.getOrderNum())
;
Page<OShipStockUp> pages = mapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
/**
* 备货完成
* @param bo
* @return
*/
@Override
public int stockUpComplete(ShipStockUpCompleteBo bo) {
if(bo.getIds() == null || bo.getIds().length == 0) return -1;
int total=0;
// 循环判断状态
for (Long id:bo.getIds()) {
OShipStockUp up = mapper.selectById(id);
if (up != null) {
if (up.getStatus() == 0 || up.getStatus() == 1) {
OShipStockUp update = new OShipStockUp();
update.setId(id.toString());
update.setStatus(2);//备货完成
update.setUpdateBy("备货完成");
update.setUpdateTime(new Date());
mapper.updateById(update);
}
}
}
return 1;
}
/**
* 备货完成 by Order
* @param bo
* @return
*/
@Override
public int stockUpCompleteByOrder(ShipStockUpCompleteBo bo) {
if(bo.getOrderNums() == null || bo.getOrderNums().length == 0) return -1;
int total=0;
// 循环判断状态
for (String orderNum:bo.getOrderNums()) {
List<OShipStockUp> upList = mapper.selectList(new LambdaQueryWrapper<OShipStockUp>().eq(OShipStockUp::getOrderNum,orderNum));
if (upList != null) {
for(OShipStockUp up : upList) {
if (up.getStatus() == 0 || up.getStatus() == 1) {
OShipStockUp update = new OShipStockUp();
update.setId(up.getId());
update.setStatus(2);//备货完成
update.setUpdateBy("备货完成");
update.setUpdateTime(new Date());
mapper.updateById(update);
}
}
}
}
return 1;
}
}
//package cn.qihangerp.module.order.service.impl;
//
//import cn.qihangerp.module.order.domain.OShipStockUp;
//import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
//import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
//import cn.qihangerp.module.order.mapper.OShipStockUpMapper;
//import cn.qihangerp.module.order.service.OShipStockUpService;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import cn.qihangerp.common.PageQuery;
//import cn.qihangerp.common.PageResult;
//
//import lombok.AllArgsConstructor;
//import org.springframework.stereotype.Service;
//import org.springframework.util.StringUtils;
//
//import java.util.Date;
//import java.util.List;
//
///**
//* @author qilip
//* @description 针对表o_ship_stock_up(备货表打单加入备货清单)的数据库操作Service实现
//* @createDate 2024-07-28 18:29:53
//*/
//@AllArgsConstructor
//@Service
//public class OShipStockUpServiceImpl extends ServiceImpl<OShipStockUpMapper, OShipStockUp>
// implements OShipStockUpService {
// private final OShipStockUpMapper mapper;
//
// @Override
// public PageResult<OShipStockUp> queryPageList(ShipStockUpBo bo, PageQuery pageQuery) {
// LambdaQueryWrapper<OShipStockUp> queryWrapper = new LambdaQueryWrapper<OShipStockUp>()
// .eq(bo.getShopId()!=null,OShipStockUp::getShopId,bo.getShopId())
// .eq(bo.getStatus()!=null,OShipStockUp::getStatus,bo.getStatus())
// .eq(StringUtils.hasText(bo.getOrderNum()),OShipStockUp::getOrderNum,bo.getOrderNum())
// ;
// Page<OShipStockUp> pages = mapper.selectPage(pageQuery.build(), queryWrapper);
//
// return PageResult.build(pages);
// }
//
// /**
// * 备货完成
// * @param bo
// * @return
// */
// @Override
// public int stockUpComplete(ShipStockUpCompleteBo bo) {
//
// if(bo.getIds() == null || bo.getIds().length == 0) return -1;
//
// int total=0;
// // 循环判断状态
// for (Long id:bo.getIds()) {
// OShipStockUp up = mapper.selectById(id);
// if (up != null) {
// if (up.getStatus() == 0 || up.getStatus() == 1) {
// OShipStockUp update = new OShipStockUp();
// update.setId(id.toString());
// update.setStatus(2);//备货完成
// update.setUpdateBy("备货完成");
// update.setUpdateTime(new Date());
// mapper.updateById(update);
// }
// }
// }
//
// return 1;
// }
//
// /**
// * 备货完成 by Order
// * @param bo
// * @return
// */
// @Override
// public int stockUpCompleteByOrder(ShipStockUpCompleteBo bo) {
//
// if(bo.getOrderNums() == null || bo.getOrderNums().length == 0) return -1;
//
// int total=0;
// // 循环判断状态
// for (String orderNum:bo.getOrderNums()) {
// List<OShipStockUp> upList = mapper.selectList(new LambdaQueryWrapper<OShipStockUp>().eq(OShipStockUp::getOrderNum,orderNum));
// if (upList != null) {
// for(OShipStockUp up : upList) {
// if (up.getStatus() == 0 || up.getStatus() == 1) {
// OShipStockUp update = new OShipStockUp();
// update.setId(up.getId());
// update.setStatus(2);//备货完成
// update.setUpdateBy("备货完成");
// update.setUpdateTime(new Date());
// mapper.updateById(update);
// }
// }
// }
// }
//
// return 1;
// }
//}
//
//
//
//

View File

@ -12,13 +12,11 @@ import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.ResultVoEnum;
import cn.qihangerp.common.enums.EnumShopType;
import lombok.AllArgsConstructor;
import lombok.extern.java.Log;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
@ -38,7 +36,6 @@ public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment
private final OShipmentItemMapper shippingItemMapper;
private final OOrderMapper orderMapper;
private final OOrderItemMapper itemMapper;
private final OShipStockUpMapper shipStockUpMapper;
/**
* 查询发货记录
@ -138,141 +135,94 @@ public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment
return ResultVo.success();
}
/**
* 订单备货很多逻辑
* @param orderNum
* @param shopType
* @return
*/
@Transactional
@Override
public ResultVo<Integer> shipStockup(String orderNum, EnumShopType shopType) {
if(shopType.getIndex()==EnumShopType.OFFLINE.getIndex()){
// OFFLINE 订单处理
List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().eq(OOrder::getOrderNum, orderNum).eq(OOrder::getShopType, shopType.getIndex()));
if(oOrders == null || oOrders.size()==0){
log.info("===========订单备货错误OOrder表中没有找到订单数据====="+orderNum);
}else {
log.info("===========订单备货开始处理业务====="+orderNum);
// 1将order_item数据加入到备货清单中o_ship_stock_up
// 查处item
List<OOrderItem> items = itemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getOrderId, oOrders.get(0).getId()));
if(items!=null&& items.size()>0){
for (var item:items) {
List<OShipStockUp> erpShipStockUps = shipStockUpMapper.selectList(new LambdaQueryWrapper<OShipStockUp>().eq(OShipStockUp::getSaleOrderItemId, item.getId()));
if(erpShipStockUps==null || erpShipStockUps.size()==0) {
OShipStockUp shipStockUp = new OShipStockUp();
shipStockUp.setShopId(oOrders.get(0).getShopId().longValue());
shipStockUp.setSaleOrderId(item.getOrderId());
shipStockUp.setSaleOrderItemId(item.getId());
shipStockUp.setOrderNum(oOrders.get(0).getOrderNum());
shipStockUp.setOriginalSkuId(item.getSkuId());
shipStockUp.setGoodsId(item.getGoodsId());
shipStockUp.setSpecId(item.getGoodsSkuId());
shipStockUp.setGoodsTitle(item.getGoodsTitle());
shipStockUp.setGoodsImg(item.getGoodsImg());
shipStockUp.setGoodsSpec(item.getGoodsSpec());
shipStockUp.setGoodsNum(item.getGoodsNum());
shipStockUp.setSpecNum(item.getSkuNum());
shipStockUp.setQuantity(item.getQuantity());
shipStockUp.setStatus(0);//状态0待备货1备货中2已出库3已发货
shipStockUp.setCreateBy("消息通知备货");
shipStockUp.setCreateTime(new Date());
shipStockUpMapper.insert(shipStockUp);
}
}
}
}
}
return ResultVo.success();
}
@Transactional
@Override
public ResultVo<Integer> shipSendMessage(String orderNum, EnumShopType shopType,String logisticsCompany,String logisticsCode) {
List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().eq(OOrder::getOrderNum, orderNum).eq(OOrder::getShopType, shopType.getIndex()));
if(oOrders == null || oOrders.size()==0){
log.info("===========订单发货错误OOrder表中没有找到订单数据====="+orderNum);
}else {
log.info("===========订单发货开始处理业务====="+orderNum);
// 更新erp sale order 订单表发货状态
if(oOrders.get(0).getOrderStatus()!=3){
//2是已发货
OOrder update = new OOrder();
update.setId(oOrders.get(0).getId());
update.setOrderStatus(2);
update.setShippingCompany(logisticsCompany);
update.setShippingNumber(logisticsCode);
update.setShippingCost(BigDecimal.ZERO);
update.setShippingMan("消息通知发货完成");
update.setShippingTime(new Date());
// update.setShipStatus(3);
update.setUpdateTime(new Date());
update.setUpdateBy("消息通知发货完成");
orderMapper.updateById(update);
}
// 更新备货表相关订单状态0_ship_stock_up
OShipStockUp shipStockUp = new OShipStockUp();
shipStockUp.setUpdateBy("消息通知发货完成");
shipStockUp.setUpdateTime(new Date());
shipStockUp.setStatus(3);//状态0待备货1备货中2已出库3已发货
shipStockUpMapper.update(shipStockUp,new LambdaQueryWrapper<OShipStockUp>().eq(OShipStockUp::getSaleOrderId,oOrders.get(0).getId()));
//插入发货表数据o_shipment & o_shipment_item
List<OOrderItem> oOrderItems = itemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getOrderId, oOrders.get(0).getId()));
List<String> orderNums = new ArrayList<>();
List<String> subOrderNums = new ArrayList<>();
List<OShipmentItem> shippingItemList = new ArrayList<>();
for (var oOrderItem:oOrderItems) {
// if (oOrderItem.getRefundStatus()!=1) {
// return ResultVo.error(ResultVoEnum.StatusError, orderItemId + "子订单退款状态不允许发货");
// }
orderNums.add(oOrderItem.getOrderNum());
subOrderNums.add(oOrderItem.getSubOrderNum());
// 添加shipping_item
OShipmentItem shippingItem = new OShipmentItem();
shippingItem.setOrderId(oOrderItem.getOrderId());
shippingItem.setOrderItemId(oOrderItem.getId());
shippingItem.setOrderNum(oOrderItem.getOrderNum());
shippingItem.setSubOrderNum(oOrderItem.getSubOrderNum());
shippingItemList.add(shippingItem);
}
// 订单发货主表
OShipment shipping = new OShipment();
shipping.setShippingType(1);//订单发货
shipping.setShopId(oOrders.get(0).getShopId());
shipping.setOrderNums(String.join(", ", orderNums));
shipping.setSubOrderNums(String.join(", ", subOrderNums));
shipping.setReceiverName(oOrders.get(0).getReceiverName());
shipping.setReceiverMobile(oOrders.get(0).getReceiverMobile());
shipping.setProvince(oOrders.get(0).getProvince());
shipping.setCity(oOrders.get(0).getCity());
shipping.setTown(oOrders.get(0).getTown());
shipping.setAddress(oOrders.get(0).getAddress());
shipping.setLogisticsCompany(logisticsCompany);
shipping.setLogisticsCompanyCode(logisticsCompany);
shipping.setWaybillCode(logisticsCode);
shipping.setShippingTime(new Date());
// shipping.setRemark("手动发货");
shipping.setCreateTime(new Date());
mapper.insert(shipping);
// 添加发货子表
for (var item:shippingItemList) {
item.setShippingId(shipping.getId());
shippingItemMapper.insert(item);
}
}
return ResultVo.success();
}
// @Transactional
// @Override
// public ResultVo<Integer> shipSendMessage(String orderNum, EnumShopType shopType,String logisticsCompany,String logisticsCode) {
//
// List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().eq(OOrder::getOrderNum, orderNum).eq(OOrder::getShopType, shopType.getIndex()));
// if(oOrders == null || oOrders.size()==0){
// log.info("===========订单发货错误OOrder表中没有找到订单数据====="+orderNum);
// }else {
// log.info("===========订单发货开始处理业务====="+orderNum);
// // 更新erp sale order 订单表发货状态
// if(oOrders.get(0).getOrderStatus()!=3){
// //2是已发货
// OOrder update = new OOrder();
// update.setId(oOrders.get(0).getId());
// update.setOrderStatus(2);
// update.setShippingCompany(logisticsCompany);
// update.setShippingNumber(logisticsCode);
// update.setShippingCost(BigDecimal.ZERO);
// update.setShippingMan("消息通知发货完成");
// update.setShippingTime(new Date());
//// update.setShipStatus(3);
//
// update.setUpdateTime(new Date());
// update.setUpdateBy("消息通知发货完成");
// orderMapper.updateById(update);
// }
// // 更新备货表相关订单状态0_ship_stock_up
// OShipStockUp shipStockUp = new OShipStockUp();
// shipStockUp.setUpdateBy("消息通知发货完成");
// shipStockUp.setUpdateTime(new Date());
// shipStockUp.setStatus(3);//状态0待备货1备货中2已出库3已发货
// shipStockUpMapper.update(shipStockUp,new LambdaQueryWrapper<OShipStockUp>().eq(OShipStockUp::getSaleOrderId,oOrders.get(0).getId()));
//
// //插入发货表数据o_shipment & o_shipment_item
// List<OOrderItem> oOrderItems = itemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getOrderId, oOrders.get(0).getId()));
// List<String> orderNums = new ArrayList<>();
// List<String> subOrderNums = new ArrayList<>();
// List<OShipmentItem> shippingItemList = new ArrayList<>();
// for (var oOrderItem:oOrderItems) {
//// if (oOrderItem.getRefundStatus()!=1) {
//// return ResultVo.error(ResultVoEnum.StatusError, orderItemId + "子订单退款状态不允许发货");
//// }
//
// orderNums.add(oOrderItem.getOrderNum());
// subOrderNums.add(oOrderItem.getSubOrderNum());
//
// // 添加shipping_item
// OShipmentItem shippingItem = new OShipmentItem();
// shippingItem.setOrderId(oOrderItem.getOrderId());
// shippingItem.setOrderItemId(oOrderItem.getId());
// shippingItem.setOrderNum(oOrderItem.getOrderNum());
// shippingItem.setSubOrderNum(oOrderItem.getSubOrderNum());
// shippingItemList.add(shippingItem);
// }
//
// // 订单发货主表
// OShipment shipping = new OShipment();
// shipping.setShippingType(1);//订单发货
// shipping.setShopId(oOrders.get(0).getShopId());
// shipping.setOrderNums(String.join(", ", orderNums));
// shipping.setSubOrderNums(String.join(", ", subOrderNums));
// shipping.setReceiverName(oOrders.get(0).getReceiverName());
// shipping.setReceiverMobile(oOrders.get(0).getReceiverMobile());
// shipping.setProvince(oOrders.get(0).getProvince());
// shipping.setCity(oOrders.get(0).getCity());
// shipping.setTown(oOrders.get(0).getTown());
// shipping.setAddress(oOrders.get(0).getAddress());
// shipping.setLogisticsCompany(logisticsCompany);
// shipping.setLogisticsCompanyCode(logisticsCompany);
// shipping.setWaybillCode(logisticsCode);
// shipping.setShippingTime(new Date());
//// shipping.setRemark("手动发货");
// shipping.setCreateTime(new Date());
// mapper.insert(shipping);
//
// // 添加发货子表
// for (var item:shippingItemList) {
// item.setShippingId(shipping.getId());
// shippingItemMapper.insert(item);
// }
//
//
// }
//
// return ResultVo.success();
// }
}

View File

@ -1,38 +0,0 @@
<?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.qihangerp.module.order.mapper.OShipStockUpMapper">
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipStockUp">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="saleOrderId" column="sale_order_id" jdbcType="BIGINT"/>
<result property="saleOrderItemId" column="sale_order_item_id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/>
<result property="originalSkuId" column="original_sku_id" jdbcType="VARCHAR"/>
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
<result property="specId" column="spec_id" jdbcType="BIGINT"/>
<result property="goodsTitle" column="goods_title" jdbcType="VARCHAR"/>
<result property="goodsImg" column="goods_img" jdbcType="VARCHAR"/>
<result property="goodsSpec" column="goods_spec" jdbcType="VARCHAR"/>
<result property="goodsNum" column="goods_num" jdbcType="VARCHAR"/>
<result property="specNum" column="spec_num" jdbcType="VARCHAR"/>
<result property="quantity" column="quantity" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,shop_id,sale_order_id,
sale_order_item_id,order_num,original_sku_id,
goods_id,spec_id,goods_title,
goods_img,goods_spec,goods_num,
spec_num,quantity,status,
create_time,create_by,update_time,
update_by
</sql>
</mapper>