新增查询可派单商品数量接口
This commit is contained in:
parent
4bd975d7c4
commit
a8991068d5
|
|
@ -79,6 +79,35 @@ public class OrderController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private GoodsStandardService goodsStandardService;
|
private GoodsStandardService goodsStandardService;
|
||||||
|
|
||||||
|
@PostMapping("/can/assign")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult canAssign(@RequestBody AppOrderAssignRequest request){
|
||||||
|
try {
|
||||||
|
// 找出原单的数量
|
||||||
|
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(request.getOrderMasterId());
|
||||||
|
// 找出原单关联的细单的商品数量
|
||||||
|
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(request.getOrderMasterId());
|
||||||
|
for (OrderDetail orderDetail : orderDetailList){
|
||||||
|
// 子单数量
|
||||||
|
List<OrderGoods> orderDetailGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
|
||||||
|
|
||||||
|
// 计算剩余未分配的商品数量
|
||||||
|
for (OrderGoods detailGoods : orderDetailGoodsList) {
|
||||||
|
for(OrderGoods masterGoods : orderGoodsList){
|
||||||
|
if(masterGoods.getGoodsStandardId() == detailGoods.getGoodsStandardId()){
|
||||||
|
masterGoods.setGoodsNum(masterGoods.getGoodsNum() - detailGoods.getGoodsNum());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//计算新单的数量
|
||||||
|
return AjaxResult.success(orderGoodsList);
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return AjaxResult.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/assign")
|
@PostMapping("/assign")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,12 @@ public class OrderGoods extends BaseEntity {
|
||||||
@Excel(name = "订单商品id")
|
@Excel(name = "订单商品id")
|
||||||
private Long orderGoodsId;
|
private Long orderGoodsId;
|
||||||
|
|
||||||
@Excel(name = "订单id, 可以为主单或者细单", cellType = Excel.ColumnType.NUMERIC)
|
@Excel(name = "订单id, 主单", cellType = Excel.ColumnType.NUMERIC)
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
|
@Excel(name = "子订单id, 细单", cellType = Excel.ColumnType.NUMERIC)
|
||||||
|
private Long orderDetailId;
|
||||||
|
|
||||||
@Excel(name = "商品规格id", cellType = Excel.ColumnType.NUMERIC)
|
@Excel(name = "商品规格id", cellType = Excel.ColumnType.NUMERIC)
|
||||||
private Long goodsStandardId;
|
private Long goodsStandardId;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@ public interface OrderDetailMapper {
|
||||||
*/
|
*/
|
||||||
OrderDetail selectById(Long orderDetailId);
|
OrderDetail selectById(Long orderDetailId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param orderMasterId 主订单id
|
||||||
|
* @return 详细订单
|
||||||
|
*/
|
||||||
|
List<OrderDetail> selectByOrderMasterId(@Param("orderMasterId") Long orderMasterId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除细单表信息
|
* 批量删除细单表信息
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,8 @@ public interface OrderGoodsMapper {
|
||||||
|
|
||||||
List<OrderGoods> selectByOrderId(Long orderId);
|
List<OrderGoods> selectByOrderId(Long orderId);
|
||||||
|
|
||||||
|
List<OrderGoods> selectByOrderDetailId(@Param("orderDetailId") Long orderDetailId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除订单商品信息
|
* 批量删除订单商品信息
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@ public interface OrderDetailService {
|
||||||
*/
|
*/
|
||||||
OrderDetail selectById(Long orderDetailId);
|
OrderDetail selectById(Long orderDetailId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param orderMasterId 主订单id
|
||||||
|
* @return 详细订单
|
||||||
|
*/
|
||||||
|
List<OrderDetail> selectByOrderMasterId(Long orderMasterId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ids 详细订单ids
|
* @param ids 详细订单ids
|
||||||
* @return 删除结果
|
* @return 删除结果
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ public interface OrderGoodsService {
|
||||||
|
|
||||||
List<OrderGoods> selectByOrderMasterId(Long orderMasterId);
|
List<OrderGoods> selectByOrderMasterId(Long orderMasterId);
|
||||||
|
|
||||||
|
List<OrderGoods> selectByOrderDetailId(Long orderDetailId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param orderGoods 订单商品属性
|
* @param orderGoods 订单商品属性
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,11 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
return orderDetailMapper.selectById(orderDetailId);
|
return orderDetailMapper.selectById(orderDetailId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrderDetail> selectByOrderMasterId(Long orderMasterId) {
|
||||||
|
return orderDetailMapper.selectByOrderMasterId(orderMasterId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int deleteOrderDetailByIds(String ids) {
|
public int deleteOrderDetailByIds(String ids) {
|
||||||
Long[] orderDetailIds = Convert.toLongArray(ids);
|
Long[] orderDetailIds = Convert.toLongArray(ids);
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
|
||||||
return orderGoodsMapper.selectByOrderId(orderMasterId);
|
return orderGoodsMapper.selectByOrderId(orderMasterId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrderGoods> selectByOrderDetailId(Long orderDetailId) {
|
||||||
|
return orderGoodsMapper.selectByOrderDetailId(orderDetailId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateOrderGoods(OrderGoods orderGoods) {
|
public int updateOrderGoods(OrderGoods orderGoods) {
|
||||||
Assert.notNull(orderGoods.getOrderGoodsId(), "OrderGoodsId cannot be null!");
|
Assert.notNull(orderGoods.getOrderGoodsId(), "OrderGoodsId cannot be null!");
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,11 @@
|
||||||
<include refid="selectOrderDetail"/> WHERE id = #{orderDetailId}
|
<include refid="selectOrderDetail"/> WHERE id = #{orderDetailId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectByOrderMasterId" parameterType="long" resultMap="OrderDetailResult">
|
||||||
|
<include refid="selectOrderDetail"/> WHERE order_master_id = #{orderMasterId}
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteOrderDetailByIds" parameterType="Long">
|
<delete id="deleteOrderDetailByIds" parameterType="Long">
|
||||||
DELETE FROM order_detail WHERE id IN
|
DELETE FROM order_detail WHERE id IN
|
||||||
<foreach collection="array" item="orderDetailId" open="(" separator="," close=")">
|
<foreach collection="array" item="orderDetailId" open="(" separator="," close=")">
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,15 @@
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByOrderDetailId" parameterType="long" resultMap="OrderGoodsResult">
|
||||||
|
<include refid="selectOrderGoods"/>
|
||||||
|
<where>
|
||||||
|
<if test="orderDetailId != null and orderDetailId != 0">
|
||||||
|
AND order_detail_id = #{orderDetailId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteOrderGoodsByIds" parameterType="Long">
|
<delete id="deleteOrderGoodsByIds" parameterType="Long">
|
||||||
DELETE FROM order_goods WHERE order_goods_id IN
|
DELETE FROM order_goods WHERE order_goods_id IN
|
||||||
<foreach collection="array" item="orderGoodsId" open="(" separator="," close=")">
|
<foreach collection="array" item="orderGoodsId" open="(" separator="," close=")">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue