-
admin
2024-06-04 a759f5fd41414651325494926583843568bac334
提交 | 用户 | 时间
e57a89 1 package com.jcdm.main.om.productionOrde.service.impl;
2
3 import java.util.List;
4 import java.util.stream.Collectors;
5
a759f5 6 import cn.hutool.core.util.ObjectUtil;
a75d86 7 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
0ce25f 8 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
e57a89 9 import com.jcdm.common.core.domain.AjaxResult;
10 import com.jcdm.common.utils.DateUtils;
11 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
12 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
13 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
e70fb4 14 import com.jcdm.main.restful.factoryMes.service.RestfulService;
e57a89 15 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.stereotype.Service;
17
18 /**
19  * 生产工单Service业务层处理
20  * 
21  * @author ruimin
22  * @date 2023-12-11
23  */
24 @Service
0ce25f 25 public class OmProductionOrdeInfoServiceImpl extends ServiceImpl<OmProductionOrdeInfoMapper,OmProductionOrdeInfo> implements IOmProductionOrdeInfoService
e57a89 26 {
27     @Autowired
28     private OmProductionOrdeInfoMapper omProductionOrdeInfoMapper;
29
30     @Autowired
31     private IOmProductionOrdeInfoService omProductionOrdeInfoService;
32
33     /**
34      * 查询生产工单
35      * 
36      * @param id 生产工单主键
37      * @return 生产工单
38      */
39     @Override
40     public OmProductionOrdeInfo selectOmProductionOrdeInfoById(Long id)
41     {
42         return omProductionOrdeInfoMapper.selectOmProductionOrdeInfoById(id);
43     }
44
45     /**
46      * 查询生产工单列表
47      * 
48      * @param omProductionOrdeInfo 生产工单
49      * @return 生产工单
50      */
51     @Override
52     public List<OmProductionOrdeInfo> selectOmProductionOrdeInfoList(OmProductionOrdeInfo omProductionOrdeInfo)
53     {
54         return omProductionOrdeInfoMapper.selectOmProductionOrdeInfoList(omProductionOrdeInfo);
55     }
56
57     /**
58      * 新增生产工单
59      * 
60      * @param omProductionOrdeInfo 生产工单
61      * @return 结果
62      */
63     @Override
64     public int insertOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo)
65     {
66         omProductionOrdeInfo.setCreateTime(DateUtils.getNowDate());
67         Integer streamNumber = omProductionOrdeInfoMapper.getMaxStreamNumber();
68         omProductionOrdeInfo.setStreamNumber(String.valueOf(streamNumber+1));
69         return omProductionOrdeInfoMapper.insertOmProductionOrdeInfo(omProductionOrdeInfo);
70     }
71
72     /**
73      * 修改生产工单
74      * 
75      * @param omProductionOrdeInfo 生产工单
76      * @return 结果
77      */
78     @Override
79     public int updateOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo)
80     {
81         omProductionOrdeInfo.setUpdateTime(DateUtils.getNowDate());
82         return omProductionOrdeInfoMapper.updateOmProductionOrdeInfo(omProductionOrdeInfo);
83     }
84
85     /**
86      * 批量删除生产工单
87      * 
88      * @param ids 需要删除的生产工单主键
89      * @return 结果
90      */
91     @Override
92     public int deleteOmProductionOrdeInfoByIds(Long[] ids)
93     {
94         return omProductionOrdeInfoMapper.deleteOmProductionOrdeInfoByIds(ids);
95     }
96
97     /**
98      * 删除生产工单信息
99      * 
100      * @param id 生产工单主键
101      * @return 结果
102      */
103     @Override
104     public int deleteOmProductionOrdeInfoById(Long id)
105     {
106         return omProductionOrdeInfoMapper.deleteOmProductionOrdeInfoById(id);
107     }
108
109     @Override
110     public AjaxResult upDownMove(OmProductionOrdeInfo omProductionOrdeInfo) {
111         long currentId = omProductionOrdeInfo.getFrontEndId();
112         List<OmProductionOrdeInfo> omProductionOrdeInfos = omProductionOrdeInfoService.selectOmProductionOrdeInfoList(omProductionOrdeInfo);
113         List<Long> idList = omProductionOrdeInfos.stream()
114                 .map(OmProductionOrdeInfo::getId) // 提取id属性
115                 .collect(Collectors.toList());
116         int index = idList.indexOf(currentId);
117         long moveId = 0L;
118         try {
119             if(omProductionOrdeInfo.getFlag().equals("up")){
120                 moveId = idList.get(index - 1);
121             }else {
122                 moveId = idList.get(index + 1);
123             }
124         }catch (Exception e){
125             return AjaxResult.error("当前工单为最后一个或第一个,无法移动");
126         }
127         OmProductionOrdeInfo  currentInfo = new OmProductionOrdeInfo();
128         currentInfo.setId(currentId);
129         List<OmProductionOrdeInfo> currentOrdeInfos = omProductionOrdeInfoService.selectOmProductionOrdeInfoList(currentInfo);
130         String currentStreamNumber = currentOrdeInfos.get(0).getStreamNumber();
131         OmProductionOrdeInfo  moveInfo = new OmProductionOrdeInfo();
132         moveInfo.setId(moveId);
133         List<OmProductionOrdeInfo> moveOrdeInfos = omProductionOrdeInfoService.selectOmProductionOrdeInfoList(moveInfo);
134         String moveStreamNumber = moveOrdeInfos.get(0).getStreamNumber();
135         moveOrdeInfos.get(0).setStreamNumber(currentStreamNumber);
136         omProductionOrdeInfoService.updateOmProductionOrdeInfo(moveOrdeInfos.get(0));
137         currentOrdeInfos.get(0).setStreamNumber(moveStreamNumber);
138         omProductionOrdeInfoService.updateOmProductionOrdeInfo(currentOrdeInfos.get(0));
139         return AjaxResult.success("移动成功");
140     }
42cfe3 141
142     @Override
143     public void overrideSaveBatch(List<OmProductionOrdeInfo> omProductionOrdeInfoList) {
144         try {
145             this.saveBatch(omProductionOrdeInfoList);
146         }catch (Exception e){
147             return;
148         }
149     }
e70fb4 150
A 151     @Override
152     public AjaxResult receivingWorkOrders() {
153         return null;
154     }
a75d86 155
A 156     @Override
157     public AjaxResult trolleyYardBinDing(OmProductionOrdeInfo omProductionOrdeInfo) {
a759f5 158         OmProductionOrdeInfo clearTrolleyYard = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getTrolleyYard, omProductionOrdeInfo.getTrolleyYard()));
A 159         if(clearTrolleyYard!=null){
160             clearTrolleyYard.setTrolleyYard("");
161             omProductionOrdeInfoService.saveOrUpdate(clearTrolleyYard);
162         }
a75d86 163         OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, omProductionOrdeInfo.getProductNum()));
A 164         one.setTrolleyYard(omProductionOrdeInfo.getTrolleyYard());
165         omProductionOrdeInfoService.saveOrUpdate(one);
166         return AjaxResult.success();
167     }
168
169     @Override
170     public AjaxResult getCarCodeSize(OmProductionOrdeInfo omProductionOrdeInfo) {
171 //        omProductionOrdeInfo.
172         return null;
173     }
174
175     @Override
176     public AjaxResult findBytrolleyYardGetOne(OmProductionOrdeInfo omProductionOrdeInfo) {
4a5f2a 177         String str = "";
a75d86 178         OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getTrolleyYard, omProductionOrdeInfo.getTrolleyYard()));
4a5f2a 179         if(one == null){
A 180             str = "2";
181         }else {
182             str = one.getProductNum();
183         }
184         return AjaxResult.success(str);
a75d86 185     }
237733 186
A 187     @Override
188     public List<OmProductionOrdeInfo> checkCarCode(OmProductionOrdeInfo omProductionOrdeInfo) {
189         List<OmProductionOrdeInfo> list = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, omProductionOrdeInfo.getProductNum()).isNotNull(OmProductionOrdeInfo::getTrolleyYard));
190         return list;
191     }
e57a89 192 }