春风项目四线(合箱线、总装线)
hdy
2024-01-18 2cc5a1afe8296d148f0a32989395d538e5323a8e
提交 | 用户 | 时间
fd2207 1 package com.jcdm.main.om.productionOrde.service.impl;
2
3 import java.util.List;
4 import java.util.stream.Collectors;
5
6 import com.jcdm.common.core.domain.AjaxResult;
7 import com.jcdm.common.utils.DateUtils;
8 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
9 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
10 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service;
13
14 /**
15  * 生产工单Service业务层处理
16  * 
17  * @author ruimin
18  * @date 2023-12-11
19  */
20 @Service
21 public class OmProductionOrdeInfoServiceImpl implements IOmProductionOrdeInfoService
22 {
23     @Autowired
24     private OmProductionOrdeInfoMapper omProductionOrdeInfoMapper;
25
26     @Autowired
27     private IOmProductionOrdeInfoService omProductionOrdeInfoService;
28
29     /**
30      * 查询生产工单
31      * 
32      * @param id 生产工单主键
33      * @return 生产工单
34      */
35     @Override
36     public OmProductionOrdeInfo selectOmProductionOrdeInfoById(Long id)
37     {
38         return omProductionOrdeInfoMapper.selectOmProductionOrdeInfoById(id);
39     }
40
41     /**
42      * 查询生产工单列表
43      * 
44      * @param omProductionOrdeInfo 生产工单
45      * @return 生产工单
46      */
47     @Override
48     public List<OmProductionOrdeInfo> selectOmProductionOrdeInfoList(OmProductionOrdeInfo omProductionOrdeInfo)
49     {
162d0b 50         if(omProductionOrdeInfo.getDateConditions()!=null){
51             String[] conditions = omProductionOrdeInfo.getDateConditions();
52             omProductionOrdeInfo.setStartTime(conditions[0]);
53             omProductionOrdeInfo.setEndTime(conditions[1]);
54         }
fd2207 55         return omProductionOrdeInfoMapper.selectOmProductionOrdeInfoList(omProductionOrdeInfo);
56     }
57
58     /**
59      * 新增生产工单
60      * 
61      * @param omProductionOrdeInfo 生产工单
62      * @return 结果
63      */
64     @Override
65     public int insertOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo)
66     {
67         omProductionOrdeInfo.setCreateTime(DateUtils.getNowDate());
68         return omProductionOrdeInfoMapper.insertOmProductionOrdeInfo(omProductionOrdeInfo);
69     }
70
71     /**
72      * 修改生产工单
73      * 
74      * @param omProductionOrdeInfo 生产工单
75      * @return 结果
76      */
77     @Override
78     public int updateOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo)
79     {
80         omProductionOrdeInfo.setUpdateTime(DateUtils.getNowDate());
81         return omProductionOrdeInfoMapper.updateOmProductionOrdeInfo(omProductionOrdeInfo);
82     }
83
84     /**
85      * 批量删除生产工单
86      * 
87      * @param ids 需要删除的生产工单主键
88      * @return 结果
89      */
90     @Override
91     public int deleteOmProductionOrdeInfoByIds(Long[] ids)
92     {
93         return omProductionOrdeInfoMapper.deleteOmProductionOrdeInfoByIds(ids);
94     }
95
96     /**
97      * 删除生产工单信息
98      * 
99      * @param id 生产工单主键
100      * @return 结果
101      */
102     @Override
103     public int deleteOmProductionOrdeInfoById(Long id)
104     {
105         return omProductionOrdeInfoMapper.deleteOmProductionOrdeInfoById(id);
106     }
107
108     @Override
109     public AjaxResult upDownMove(OmProductionOrdeInfo omProductionOrdeInfo) {
110         long currentId = omProductionOrdeInfo.getFrontEndId();
111         List<OmProductionOrdeInfo> omProductionOrdeInfos = omProductionOrdeInfoService.selectOmProductionOrdeInfoList(omProductionOrdeInfo);
112         List<Long> idList = omProductionOrdeInfos.stream()
113                 .map(OmProductionOrdeInfo::getId) // 提取id属性
114                 .collect(Collectors.toList());
115         int index = idList.indexOf(currentId);
116         long moveId = 0L;
117         try {
118             if(omProductionOrdeInfo.getFlag().equals("up")){
119                 moveId = idList.get(index - 1);
120             }else {
121                 moveId = idList.get(index + 1);
122             }
123         }catch (Exception e){
124             return AjaxResult.error("当前工单为最后一个或第一个,无法移动");
125         }
126         OmProductionOrdeInfo  currentInfo = new OmProductionOrdeInfo();
127         currentInfo.setId(currentId);
128         List<OmProductionOrdeInfo> currentOrdeInfos = omProductionOrdeInfoService.selectOmProductionOrdeInfoList(currentInfo);
129         String currentStreamNumber = currentOrdeInfos.get(0).getStreamNumber();
130         OmProductionOrdeInfo  moveInfo = new OmProductionOrdeInfo();
131         moveInfo.setId(moveId);
132         List<OmProductionOrdeInfo> moveOrdeInfos = omProductionOrdeInfoService.selectOmProductionOrdeInfoList(moveInfo);
133         String moveStreamNumber = moveOrdeInfos.get(0).getStreamNumber();
134         moveOrdeInfos.get(0).setStreamNumber(currentStreamNumber);
135         omProductionOrdeInfoService.updateOmProductionOrdeInfo(moveOrdeInfos.get(0));
136         currentOrdeInfos.get(0).setStreamNumber(moveStreamNumber);
137         omProductionOrdeInfoService.updateOmProductionOrdeInfo(currentOrdeInfos.get(0));
138         return AjaxResult.success("移动成功");
139     }
140 }