wenwj
2025-04-11 0edc9cd23d8787f93fe52afac0577e327f67cbbe
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
package com.aps.core.service.impl;
 
import java.util.List;
 
import com.aps.common.core.utils.DateUtils;
import com.aps.common.core.utils.StringUtils;
import com.aps.common.core.utils.uuid.IdUtils;
import com.aps.core.domain.ApsPartPlan;
import com.aps.core.domain.ApsPartPlanTemp;
import com.aps.core.domain.ApsWeldSeamTemp;
import com.aps.core.mapper.ApsWeldSeamTempMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aps.core.mapper.ApsWeldSeamMapper;
import com.aps.core.domain.ApsWeldSeam;
import com.aps.core.service.IApsWeldSeamService;
import org.springframework.transaction.annotation.Transactional;
 
/**
 * 焊缝Service业务层处理
 * 
 * @author wwj
 * @date 2025-04-09
 */
@Service
public class ApsWeldSeamServiceImpl implements IApsWeldSeamService 
{
    @Autowired
    private ApsWeldSeamMapper apsWeldSeamMapper;
    @Autowired
    private ApsWeldSeamTempMapper apsWeldSeamTempMapper;
 
    /**
     * 查询焊缝
     * 
     * @param id 焊缝主键
     * @return 焊缝
     */
    @Override
    public ApsWeldSeam selectApsWeldSeamById(String id)
    {
        return apsWeldSeamMapper.selectApsWeldSeamById(id);
    }
 
    /**
     * 查询焊缝列表
     * 
     * @param apsWeldSeam 焊缝
     * @return 焊缝
     */
    @Override
    public List<ApsWeldSeam> selectApsWeldSeamList(ApsWeldSeam apsWeldSeam)
    {
        return apsWeldSeamMapper.selectApsWeldSeamList(apsWeldSeam);
    }
 
    /**
     * 新增焊缝
     * 
     * @param apsWeldSeam 焊缝
     * @return 结果
     */
    @Override
    public int insertApsWeldSeam(ApsWeldSeam apsWeldSeam)
    {
        apsWeldSeam.setId(IdUtils.fastUUID());
        apsWeldSeam.setCreateTime(DateUtils.getNowDate());
        return apsWeldSeamMapper.insertApsWeldSeam(apsWeldSeam);
    }
 
    /**
     * 修改焊缝
     * 
     * @param apsWeldSeam 焊缝
     * @return 结果
     */
    @Override
    public int updateApsWeldSeam(ApsWeldSeam apsWeldSeam)
    {
        return apsWeldSeamMapper.updateApsWeldSeam(apsWeldSeam);
    }
 
    /**
     * 批量删除焊缝
     * 
     * @param ids 需要删除的焊缝主键
     * @return 结果
     */
    @Override
    public int deleteApsWeldSeamByIds(String[] ids)
    {
        return apsWeldSeamMapper.deleteApsWeldSeamByIds(ids);
    }
 
    /**
     * 删除焊缝信息
     * 
     * @param id 焊缝主键
     * @return 结果
     */
    @Override
    public int deleteApsWeldSeamById(String id)
    {
        return apsWeldSeamMapper.deleteApsWeldSeamById(id);
    }
 
    @Override
    public int confirmWeldSeam(ApsWeldSeamTemp apsWeldSeamTemp) {
        //查询临时表数据
        List<ApsWeldSeamTemp> apsWeldSeamTemps=apsWeldSeamTempMapper.selectApsWeldSeamTempList(apsWeldSeamTemp);
        int count=0;
        String[] ids=new String[apsWeldSeamTemps.size()];
        for (int i = 0; i <apsWeldSeamTemps.size() ; i++) {
            //记录临时表id
            ids[i]=apsWeldSeamTemps.get(i).getId();
            ApsWeldSeam apsWeldSeam=new ApsWeldSeam();
            BeanUtils.copyProperties(apsWeldSeamTemps.get(i), apsWeldSeam);
            //通过工单号查询是否存在数据
            ApsWeldSeam apsWeldSeam1=apsWeldSeamMapper.selectApsWeldSeamByWorkOrderNo(apsWeldSeam.getWorkOrderNo());
            //当工单号存在则更新数据否则插入数据
            if(StringUtils.isNotEmpty(apsWeldSeam1.getId())){
                apsWeldSeam.setId(apsWeldSeam1.getId());
                apsWeldSeamMapper.updateApsWeldSeam(apsWeldSeam);
            }else {
                //插入正式表,并记录
                apsWeldSeam.setId(IdUtils.fastUUID());
                apsWeldSeamMapper.insertApsWeldSeam(apsWeldSeam);
            }
            count++;
        }
        //插入数量与临时表查询一直则删除临时表数据
        if (count==apsWeldSeamTemps.size()) {
            apsWeldSeamTempMapper.deleteApsWeldSeamTempByIds(ids);
        }
        return 1;
    }
}