zhanghl
2025-05-13 a9f55fb1ab24f43fee70b16e1a8c58a33fc59fa6
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
146
147
148
149
150
151
package com.aps.core.service.impl;
 
import java.util.List;
 
import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.mapper.*;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aps.core.domain.ApsPlateStandardRequireBatch;
import com.aps.core.service.IApsPlateStandardRequireBatchService;
import org.springframework.transaction.annotation.Transactional;
 
/**
 * 钣金计划标准需求计划批次表Service业务层处理
 * 
 * @author zhl
 * @date 2025-05-06
 */
@Service
public class ApsPlateStandardRequireBatchServiceImpl implements IApsPlateStandardRequireBatchService 
{
    @Autowired
    private ApsPlateStandardRequireBatchMapper apsPlateStandardRequireBatchMapper;
 
    @Resource
    ApsMaterialStorageManagementMapper apsMaterialStorageManagementMapper;
 
    @Resource
    ApsPlatePlanMapper apsPlatePlanMapper;
 
    @Resource
    ApsPlateStandardRequireMapper apsPlateStandardRequireMapper;
 
    @Resource
    ApsPlateStandardRequireBomOrderDetailMapper apsPlateStandardRequireBomOrderDetailMapper;
 
    @Resource
    ApsPlateStandardRequireBomStockDetailMapper apsPlateStandardRequireBomStockDetailMapper;
 
    @Resource
    ApsPlateStandardRequireErrorMapper apsPlateStandardRequireErrorMapper;
 
 
    /**
     * 查询钣金计划标准需求计划批次表
     * 
     * @param id 钣金计划标准需求计划批次表主键
     * @return 钣金计划标准需求计划批次表
     */
    @Override
    public ApsPlateStandardRequireBatch selectApsPlateStandardRequireBatchById(Long id)
    {
        return apsPlateStandardRequireBatchMapper.selectApsPlateStandardRequireBatchById(id);
    }
 
    /**
     * 查询钣金计划标准需求计划批次表列表
     * 
     * @param apsPlateStandardRequireBatch 钣金计划标准需求计划批次表
     * @return 钣金计划标准需求计划批次表
     */
    @Override
    public List<ApsPlateStandardRequireBatch> selectApsPlateStandardRequireBatchList(ApsPlateStandardRequireBatch apsPlateStandardRequireBatch)
    {
        return apsPlateStandardRequireBatchMapper.selectApsPlateStandardRequireBatchList(apsPlateStandardRequireBatch);
    }
 
    /**
     * 新增钣金计划标准需求计划批次表
     * 
     * @param apsPlateStandardRequireBatch 钣金计划标准需求计划批次表
     * @return 结果
     */
    @Override
    public int insertApsPlateStandardRequireBatch(ApsPlateStandardRequireBatch apsPlateStandardRequireBatch)
    {
        apsPlateStandardRequireBatch.setCreateTime(DateUtils.getNowDate());
        return apsPlateStandardRequireBatchMapper.insertApsPlateStandardRequireBatch(apsPlateStandardRequireBatch);
    }
 
    /**
     * 修改钣金计划标准需求计划批次表
     * 
     * @param apsPlateStandardRequireBatch 钣金计划标准需求计划批次表
     * @return 结果
     */
    @Override
    public int updateApsPlateStandardRequireBatch(ApsPlateStandardRequireBatch apsPlateStandardRequireBatch)
    {
        apsPlateStandardRequireBatch.setUpdateTime(DateUtils.getNowDate());
        return apsPlateStandardRequireBatchMapper.updateApsPlateStandardRequireBatch(apsPlateStandardRequireBatch);
    }
 
    /**
     * 批量删除钣金计划标准需求计划批次表
     * 
     * @param ids 需要删除的钣金计划标准需求计划批次表主键
     * @return 结果
     */
    @Override
    public int deleteApsPlateStandardRequireBatchByIds(Long[] ids)
    {
        return apsPlateStandardRequireBatchMapper.deleteApsPlateStandardRequireBatchByIds(ids);
    }
 
    /**
     * 删除钣金计划标准需求计划批次表信息
     * 
     * @param id 钣金计划标准需求计划批次表主键
     * @return 结果
     */
    @Override
    public int deleteApsPlateStandardRequireBatchById(Long id)
    {
        return apsPlateStandardRequireBatchMapper.deleteApsPlateStandardRequireBatchById(id);
    }
 
    /**
     * 生成新批次号
     * */
    @Override
    public String getNewBatchNumber() {
        String batchNum = String.valueOf(IdUtil.getSnowflakeNextId()) ;
        ApsPlateStandardRequireBatch batchBuilder = ApsPlateStandardRequireBatch.builder()
                .id(IdUtil.getSnowflakeNextId())
                .batchNumber(batchNum)
                .delFlag("0").build();
        batchBuilder.setCreateBy(SecurityUtils.getUsername());
        batchBuilder.setCreateTime(DateUtils.getNowDate());
        apsPlateStandardRequireBatchMapper.insertApsPlateStandardRequireBatch(batchBuilder);
        return batchNum;
    }
 
    @Transactional
    @Override
    public void initRequireBatch() {
        ApsPlateStandardRequireBatch batch=apsPlateStandardRequireBatchMapper.selectLastRequireBatch();
        if (batch!=null){
            String batchNumber = batch.getBatchNumber();
            apsPlateStandardRequireMapper.deleteLastPatch(batchNumber);
            apsPlateStandardRequireBomOrderDetailMapper.deleteLastPatch(batchNumber);
            apsPlateStandardRequireBomStockDetailMapper.deleteLastPatch(batchNumber);
            apsPlateStandardRequireErrorMapper.deleteLastPatch(batchNumber);
            apsPlatePlanMapper.initUnMatchQty();
            apsMaterialStorageManagementMapper.initRemainderStock();
        }
    }
}