#
mrzhssss
2022-04-26 d17c089f1d7ff3be848b05161917346e7f664a1d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package zy.cloud.wms.manager.service.impl;
 
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import zy.cloud.wms.manager.entity.Order;
import zy.cloud.wms.manager.entity.Pickout;
import zy.cloud.wms.manager.entity.Wave;
import zy.cloud.wms.manager.mapper.OrderDetlMapper;
import zy.cloud.wms.manager.entity.OrderDetl;
import zy.cloud.wms.manager.service.OrderDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import zy.cloud.wms.manager.service.OrderService;
import zy.cloud.wms.manager.service.PickoutService;
import zy.cloud.wms.manager.service.WaveService;
 
import java.util.ArrayList;
import java.util.List;
 
@Service("orderDetlService")
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private WaveService waveService;
    @Autowired
    private PickoutService pickoutService;
 
    @Override
    public List<OrderDetl> selectByOrderNo(String orderNo, Long hostId) {
        return this.baseMapper.selectByOrderNo(orderNo, hostId);
    }
 
    @Override
    public List<OrderDetl> selectBatchByOrderNo(List<Order> orders) {
        return this.baseMapper.selectBatchByOrderNo(orders);
    }
 
    @Override
    public List<OrderDetl> selectOutList(String matnr, ArrayList<String> strings) {
        return this.baseMapper.selectOutList(matnr,strings);
    }
 
    /**
     * 通过orderid来查询所有orderDetl
     * @param id
     * @return
     */
    @Override
    public Boolean checkFinish(Long id) {
        List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
                .eq("order_id", id));
        for (OrderDetl orderDetl : orderDetls) {
            if (orderDetl.getAnfme() - orderDetl.getOutQty() != 0 ){
                return false;
            }
        }
        return true;
    }
 
    @Override
    public void finishOrder(Long id) {
        /**
         * 更改order状态
         */
        Order order = orderService.selectOne(new EntityWrapper<Order>()
                .eq("id", id));
        order.setSettle(5L);
        orderService.update(order,new EntityWrapper<Order>()
                .eq("id", id));
        /**
         * 更改波次状态
         */
        Wave wave = waveService.selectOne(new EntityWrapper<Wave>()
                .eq("wave_no", order.getWaveNo()));
        wave.setStatus((short) 2);
        waveService.update(wave,new EntityWrapper<Wave>()
                .eq("wave_no", order.getWaveNo()));
 
        /**
         * 更改拣货单状态
         */
        Pickout pickout = pickoutService.selectOne(new EntityWrapper<Pickout>()
                .eq("wave_no", wave.getWaveNo()));
        pickout.setWrkSts(3L);
        pickoutService.update(pickout,new EntityWrapper<Pickout>()
                .eq("wave_no", wave.getWaveNo()));
 
    }
}