cuijian
2023-08-19 bdd0875d4b13a3f1ef472f64d4b6a95e0ef64b22
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package org.jeecg.modules.spare.service.impl;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.modules.spare.entity.SparePartCancellingStocks;
import org.jeecg.modules.spare.entity.SparePartCancellingStocksDetail;
import org.jeecg.modules.spare.entity.SparePartReceive;
import org.jeecg.modules.spare.mapper.SparePartCancellingStocksDetailMapper;
import org.jeecg.modules.spare.mapper.SparePartCancellingStocksMapper;
import org.jeecg.modules.spare.service.ISparePartCancellingStocksService;
import org.jeecg.modules.spare.entity.SparePart;
import org.jeecg.modules.spare.service.ISparePartOutboundDetailService;
import org.jeecg.modules.spare.service.ISparePartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
 
/**
 * @Description: 备件退库
 * @Author: jeecg-boot
 * @Date: 2023-07-04
 * @Version: V1.0
 */
@Service
public class SparePartCancellingStocksServiceImpl extends ServiceImpl<SparePartCancellingStocksMapper, SparePartCancellingStocks> implements ISparePartCancellingStocksService {
    @Autowired
    private ISparePartOutboundDetailService sparePartOutboundDetailService;
    @Autowired
    private SparePartCancellingStocksMapper sparePartCancellingStocksMapper;
    @Autowired
    private SparePartCancellingStocksDetailMapper sparePartCancellingStocksDetailMapper;
    @Autowired
    private ISparePartService sparePartService;
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void saveMain(SparePartCancellingStocks sparePartCancellingStocks, List<SparePartCancellingStocksDetail> sparePartCancellingStocksDetailList) {
        sparePartCancellingStocks.setType("1");
        sparePartCancellingStocks.setStatus("1");
        sparePartCancellingStocks.setDelFlag(CommonConstant.DEL_FLAG_0);
        sparePartCancellingStocksMapper.insert(sparePartCancellingStocks);
        if (sparePartCancellingStocksDetailList != null && sparePartCancellingStocksDetailList.size() > 0) {
            for (SparePartCancellingStocksDetail entity : sparePartCancellingStocksDetailList) {
                entity.setStatus(CommonConstant.STATUS_0);
                SparePart sparePart = sparePartService.getById(entity.getSparePartId());
                entity.setAuxiliaryQuantity(entity.getMainQuantity() * Double.parseDouble(sparePart.getConversionRatio()));
                //外键设置
                entity.setSparePartCancellingId(sparePartCancellingStocks.getId());
                sparePartCancellingStocksDetailMapper.insert(entity);
            }
        }
    }
 
    /*    */
 
    /**
     * 备件出库 备件出库明细信息
     * qsw 2023-7-03
     *//*
    @GetMapping("getSparePartOutboundDetailsById")
    public Result<?> getSparePartOutboundDetailsById(@RequestParam("pageNo") Integer pageNo,
                                                     @RequestParam("pageSize") Integer pageSize,
                                                     @RequestParam Map<String, Object> params) {
        IPage<Map<String, Object>> deatils = sparePartOutboundDetailService.getSparePartCanxellingStoksDetailsById(pageNo, pageSize, params);
        return Result.ok(deatils);
    }*/
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateMain(SparePartCancellingStocks sparePartCancellingStocks, List<SparePartCancellingStocksDetail> sparePartCancellingStocksDetailList) {
        sparePartCancellingStocksMapper.updateById(sparePartCancellingStocks);
 
        //1.先删除子表数据
        sparePartCancellingStocksDetailMapper.deleteByMainId(sparePartCancellingStocks.getId());
 
        //2.子表数据重新插入
        if (sparePartCancellingStocksDetailList != null && sparePartCancellingStocksDetailList.size() > 0) {
            for (SparePartCancellingStocksDetail entity : sparePartCancellingStocksDetailList) {
                //外键设置
                entity.setSparePartCancellingId(sparePartCancellingStocks.getId());
                sparePartCancellingStocksDetailMapper.insert(entity);
            }
        }
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void delMain(String id) {
        sparePartCancellingStocksDetailMapper.deleteByMainId(id);
        sparePartCancellingStocksMapper.deleteById(id);
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void delBatchMain(Collection<? extends Serializable> idList) {
        for (Serializable id : idList) {
            sparePartCancellingStocksDetailMapper.deleteByMainId(id.toString());
            sparePartCancellingStocksMapper.deleteById(id);
        }
    }
 
 
    /**
     * 撤回
     *
     * @param id
     */
    @Override
    public void revocation(String id) {
        SparePartCancellingStocks sparePartCancellingStocks = super.getById(id);
        sparePartCancellingStocks.setStatus("0");
        super.updateById(sparePartCancellingStocks);
    }
 
    /***
     * 驳回
     * @param sparePartCancellingStocks
     */
    @Override
    public void reject(SparePartCancellingStocks sparePartCancellingStocks) {
        String id = sparePartCancellingStocks.getId();
        SparePartCancellingStocks sparePart = super.getById(id);
        /*前端页面已经处理,只在待审批下方展示撤回按钮*/
        sparePart.setStatus("3");
        sparePart.setApprovalOpinions(sparePartCancellingStocks.getApprovalOpinions());
        super.updateById(sparePart);
    }
 
    /***
     * 审批
     * @param sparePartCancellingStocks
     */
    @Override
    public void approval(SparePartCancellingStocks sparePartCancellingStocks) {
        String id = sparePartCancellingStocks.getId();
        SparePartCancellingStocks sparePart = super.getById(id);
        /*前端页面已经处理,只在待审批下方展示撤回按钮*/
        sparePart.setStatus("2");
        sparePart.setApprovalOpinions(sparePartCancellingStocks.getApprovalOpinions());
        super.updateById(sparePart);
    }
}