sfd
2025-05-09 4d1cd3ce3b90f8e4229ff90d19422a94f3ca3a49
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
package com.aps.core.service.impl;
 
import java.math.BigDecimal;
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.domain.ApsPlatePlan;
import com.aps.core.domain.ApsPlateStandardRequire;
import com.aps.core.mapper.ApsPlatePlanMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aps.core.mapper.ApsPlateStandardRequireBomOrderDetailMapper;
import com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail;
import com.aps.core.service.IApsPlateStandardRequireBomOrderDetailService;
 
/**
 * ApsPlateStandardRequireBomOrderDetailService业务层处理
 * 
 * @author zhl
 * @date 2025-05-06
 */
@Service
public class ApsPlateStandardRequireBomOrderDetailServiceImpl implements IApsPlateStandardRequireBomOrderDetailService 
{
    @Autowired
    private ApsPlateStandardRequireBomOrderDetailMapper apsPlateStandardRequireBomOrderDetailMapper;
    @Autowired
    private ApsPlatePlanMapper apsPlatePlanMapper;
    /**
     * 查询ApsPlateStandardRequireBomOrderDetail
     * 
     * @param id ApsPlateStandardRequireBomOrderDetail主键
     * @return ApsPlateStandardRequireBomOrderDetail
     */
    @Override
    public ApsPlateStandardRequireBomOrderDetail selectApsPlateStandardRequireBomOrderDetailById(Long id)
    {
        return apsPlateStandardRequireBomOrderDetailMapper.selectApsPlateStandardRequireBomOrderDetailById(id);
    }
 
    /**
     * 查询ApsPlateStandardRequireBomOrderDetail列表
     * 
     * @param apsPlateStandardRequireBomOrderDetail ApsPlateStandardRequireBomOrderDetail
     * @return ApsPlateStandardRequireBomOrderDetail
     */
    @Override
    public List<ApsPlateStandardRequireBomOrderDetail> selectApsPlateStandardRequireBomOrderDetailList(ApsPlateStandardRequireBomOrderDetail apsPlateStandardRequireBomOrderDetail)
    {
        return apsPlateStandardRequireBomOrderDetailMapper.selectApsPlateStandardRequireBomOrderDetailList(apsPlateStandardRequireBomOrderDetail);
    }
 
    /**
     * 新增ApsPlateStandardRequireBomOrderDetail
     * 
     * @param apsPlateStandardRequireBomOrderDetail ApsPlateStandardRequireBomOrderDetail
     * @return 结果
     */
    @Override
    public int insertApsPlateStandardRequireBomOrderDetail(ApsPlateStandardRequireBomOrderDetail apsPlateStandardRequireBomOrderDetail)
    {
        apsPlateStandardRequireBomOrderDetail.setCreateTime(DateUtils.getNowDate());
        return apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(apsPlateStandardRequireBomOrderDetail);
    }
 
    /**
     * 修改ApsPlateStandardRequireBomOrderDetail
     * 
     * @param apsPlateStandardRequireBomOrderDetail ApsPlateStandardRequireBomOrderDetail
     * @return 结果
     */
    @Override
    public int updateApsPlateStandardRequireBomOrderDetail(ApsPlateStandardRequireBomOrderDetail apsPlateStandardRequireBomOrderDetail)
    {
        apsPlateStandardRequireBomOrderDetail.setUpdateTime(DateUtils.getNowDate());
        return apsPlateStandardRequireBomOrderDetailMapper.updateApsPlateStandardRequireBomOrderDetail(apsPlateStandardRequireBomOrderDetail);
    }
 
    /**
     * 批量删除ApsPlateStandardRequireBomOrderDetail
     * 
     * @param ids 需要删除的ApsPlateStandardRequireBomOrderDetail主键
     * @return 结果
     */
    @Override
    public int deleteApsPlateStandardRequireBomOrderDetailByIds(Long[] ids)
    {
        return apsPlateStandardRequireBomOrderDetailMapper.deleteApsPlateStandardRequireBomOrderDetailByIds(ids);
    }
 
    /**
     * 删除ApsPlateStandardRequireBomOrderDetail信息
     * 
     * @param id ApsPlateStandardRequireBomOrderDetail主键
     * @return 结果
     */
    @Override
    public int deleteApsPlateStandardRequireBomOrderDetailById(Long id)
    {
        return apsPlateStandardRequireBomOrderDetailMapper.deleteApsPlateStandardRequireBomOrderDetailById(id);
    }
 
    @Override
    public void savePlastPlanAndBomOrderDetail(ApsPlateStandardRequire require, ApsPlatePlan platePlan, BigDecimal subtract, BigDecimal stock, BigDecimal netRequirement) {
        platePlan.setUnmatchedQuantity(subtract);
        apsPlatePlanMapper.updatePlanUnMatchQtyByVersion(platePlan);
        /* 记录工单与净需求的匹配关系*/
        ApsPlateStandardRequireBomOrderDetail bomOrderDetail = ApsPlateStandardRequireBomOrderDetail.builder()
                .id(IdUtil.getSnowflakeNextId())
                .requireId(require.getId())
                .requireTrackId(require.getRequireTrackId())
                .bomLineId(require.getBomLineId())
                .bomLineCode(require.getBomLineCode())
                .docNo(platePlan.getDocumentNumber())
                .beforeProdAmount(stock)
                .deductionAmount(netRequirement)
                .afterProdAmount(subtract)
                .batchNumber(require.getBatchNumber())
                .orgCode(require.getOrgCode())
                .delFlag("0")
                .build();
        bomOrderDetail.setCreateTime(DateUtils.getNowDate());
        bomOrderDetail.setCreateBy(SecurityUtils.getUsername());
        apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(bomOrderDetail);
    }
}