-
admin
2024-05-07 a75d86bc0d41018edf2e25b9740bc0be6978b735
提交 | 用户 | 时间
e57a89 1 package com.jcdm.main.om.productionOrde.service.impl;
2
3 import java.util.List;
4 import java.util.stream.Collectors;
5
a75d86 6 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
0ce25f 7 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
e57a89 8 import com.jcdm.common.core.domain.AjaxResult;
9 import com.jcdm.common.utils.DateUtils;
10 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
11 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
12 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
e70fb4 13 import com.jcdm.main.restful.factoryMes.service.RestfulService;
e57a89 14 import org.springframework.beans.factory.annotation.Autowired;
15 import org.springframework.stereotype.Service;
16
17 /**
18  * 生产工单Service业务层处理
19  * 
20  * @author ruimin
21  * @date 2023-12-11
22  */
23 @Service
0ce25f 24 public class OmProductionOrdeInfoServiceImpl extends ServiceImpl<OmProductionOrdeInfoMapper,OmProductionOrdeInfo> implements IOmProductionOrdeInfoService
e57a89 25 {
26     @Autowired
27     private OmProductionOrdeInfoMapper omProductionOrdeInfoMapper;
28
29     @Autowired
30     private IOmProductionOrdeInfoService omProductionOrdeInfoService;
31
32     /**
33      * 查询生产工单
34      * 
35      * @param id 生产工单主键
36      * @return 生产工单
37      */
38     @Override
39     public OmProductionOrdeInfo selectOmProductionOrdeInfoById(Long id)
40     {
41         return omProductionOrdeInfoMapper.selectOmProductionOrdeInfoById(id);
42     }
43
44     /**
45      * 查询生产工单列表
46      * 
47      * @param omProductionOrdeInfo 生产工单
48      * @return 生产工单
49      */
50     @Override
51     public List<OmProductionOrdeInfo> selectOmProductionOrdeInfoList(OmProductionOrdeInfo omProductionOrdeInfo)
52     {
53         return omProductionOrdeInfoMapper.selectOmProductionOrdeInfoList(omProductionOrdeInfo);
54     }
55
56     /**
57      * 新增生产工单
58      * 
59      * @param omProductionOrdeInfo 生产工单
60      * @return 结果
61      */
62     @Override
63     public int insertOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo)
64     {
65         omProductionOrdeInfo.setCreateTime(DateUtils.getNowDate());
66         Integer streamNumber = omProductionOrdeInfoMapper.getMaxStreamNumber();
67         omProductionOrdeInfo.setStreamNumber(String.valueOf(streamNumber+1));
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     }
42cfe3 140
141     @Override
142     public void overrideSaveBatch(List<OmProductionOrdeInfo> omProductionOrdeInfoList) {
143         try {
144             this.saveBatch(omProductionOrdeInfoList);
145         }catch (Exception e){
146             return;
147         }
148     }
e70fb4 149
A 150     @Override
151     public AjaxResult receivingWorkOrders() {
152         return null;
153     }
a75d86 154
A 155     @Override
156     public AjaxResult trolleyYardBinDing(OmProductionOrdeInfo omProductionOrdeInfo) {
157         OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, omProductionOrdeInfo.getProductNum()));
158         one.setTrolleyYard(omProductionOrdeInfo.getTrolleyYard());
159         omProductionOrdeInfoService.saveOrUpdate(one);
160         return AjaxResult.success();
161     }
162
163     @Override
164     public AjaxResult getCarCodeSize(OmProductionOrdeInfo omProductionOrdeInfo) {
165 //        omProductionOrdeInfo.
166         return null;
167     }
168
169     @Override
170     public AjaxResult findBytrolleyYardGetOne(OmProductionOrdeInfo omProductionOrdeInfo) {
171         OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getTrolleyYard, omProductionOrdeInfo.getTrolleyYard()));
172         return AjaxResult.success(one.getProductNum());
173     }
e57a89 174 }