shiyunteng
2025-03-27 2f6bd04715eba821713b9e1492999b7e5be7fcdb
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
package com.by4cloud.platformx.device.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.ReceivingNote;
import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
import com.by4cloud.platformx.device.mapper.ReceivingNoteItemMapper;
import com.by4cloud.platformx.device.mapper.ReceivingNoteMapper;
import com.by4cloud.platformx.device.service.ReceivingNoteService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
 
import java.io.Serializable;
import java.util.List;
 
/**
 * 验收表
 *
 * @author pig
 * @date 2025-03-13 11:03:52
 */
@Service
@AllArgsConstructor
public class ReceivingNoteServiceImpl extends ServiceImpl<ReceivingNoteMapper, ReceivingNote> implements ReceivingNoteService {
 
    private final ReceivingNoteItemMapper itemMapper;
    private final DeviceInventoryMapper inventoryMapper;
 
    @Override
    public IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO) {
        return baseMapper.pageNew(page,queryDTO);
    }
 
    @Override
    public boolean saveDeep(ReceivingNote entity) {
        baseMapper.insert(entity);
        if (entity.getNoteItemList()!=null&&entity.getNoteItemList().size()>0){
            for (ReceivingNoteItem item:entity.getNoteItemList()
                 ) {
                item.setNoteId(entity.getId());
                itemMapper.insert(item);
                //设备库存同步新增
                if (item.getSerialNos()!=null&&item.getSerialNos().size()>0){
                    for (String serialNo:item.getSerialNos()
                         ) {
                        DeviceInventory inventory = new DeviceInventory();
                        inventory.setDeviceId(item.getDeviceId());
                        inventory.setDeviceNumber(item.getDeviceCode());
                        inventory.setName(item.getDeviceName());
                        inventory.setSerialNo(serialNo);
                        inventory.setSource(1);
                        inventoryMapper.insert(inventory);
                    }
 
                }
            }
        }
        return Boolean.TRUE;
    }
 
    @Override
    public boolean updateByIdDeep(ReceivingNote entity) {
        baseMapper.updateById(entity);
        QueryWrapper<ReceivingNoteItem> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("note_id",entity.getId());
        itemMapper.delete(queryWrapper);
        if (entity.getNoteItemList()!=null&&entity.getNoteItemList().size()>0){
            for (ReceivingNoteItem item:entity.getNoteItemList()
            ) {
                item.setNoteId(entity.getId());
                itemMapper.insert(item);
            }
        }
        return Boolean.TRUE;
    }
 
    @Override
    public ReceivingNote getByIdDeep(Long id) {
        ReceivingNote note = baseMapper.selectById(id);
        QueryWrapper<ReceivingNoteItem> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("note_id",note.getId());
        List<ReceivingNoteItem> itemList = itemMapper.selectList(queryWrapper);
        note.setNoteItemList(itemList);
        return note;
    }
}