|
@@ -46,10 +46,8 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -141,13 +139,26 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
|
|
|
productionresource.setToolNum(upResult.size());
|
|
|
productionresourceviewMapper.updateById(productionresource);
|
|
|
|
|
|
- baseMapper.delete(Wraps.<MachineCuttingTool>lbQ().eq(MachineCuttingTool::getMachineId, resourceId).eq(MachineCuttingTool::getStatus,"0"));
|
|
|
+ // 查询出来现在表里的数据,比对修改,多余的删除
|
|
|
+ List<MachineCuttingTool> machineCuttingTools = baseMapper.selectList(Wraps.<MachineCuttingTool>lbQ().eq(MachineCuttingTool::getMachineId, resourceId));
|
|
|
+ Map<String, List<MachineCuttingTool>> collect = machineCuttingTools.stream().collect(Collectors.groupingBy(MachineCuttingTool::getCuttingToolPosition));
|
|
|
+
|
|
|
for(int i = 0; i<upResult.size(); i++){
|
|
|
JSONObject tool = upResult.getJSONObject(i);
|
|
|
String cuttingToolNo = tool.getString("number");
|
|
|
String name = tool.getString("name");
|
|
|
+ String position = tool.getString("position");
|
|
|
+
|
|
|
+ MachineCuttingTool machineCuttingTool= new MachineCuttingTool();
|
|
|
+ if(!collect.isEmpty() && collect.get(position)!=null){
|
|
|
+ collect.get(position).get(0);
|
|
|
+ machineCuttingTool.setStatus(collect.get(position).get(0).getStatus());
|
|
|
+ machineCuttingTool.setId(collect.get(position).get(0).getId());
|
|
|
+ collect.remove(position);
|
|
|
+ }
|
|
|
+
|
|
|
CuttingTool cuttingTool = cuttingToolMapper.selectOne(Wraps.<CuttingTool>lbQ().eq(CuttingTool::getCuttingToolNo, cuttingToolNo).eq(CuttingTool::getDeviceId, resourceId));
|
|
|
- MachineCuttingTool machineCuttingTool = new MachineCuttingTool();
|
|
|
+
|
|
|
machineCuttingTool.setMachineId(resourceId);
|
|
|
machineCuttingTool.setCuttingToolId(cuttingToolNo);
|
|
|
machineCuttingTool.setCuttingToolName(name);
|
|
@@ -155,7 +166,7 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
|
|
|
machineCuttingTool.setCuttingToolPicture(cuttingTool.getCuttingToolPicture());
|
|
|
machineCuttingTool.setCuttingToolInstallPicture(cuttingTool.getCuttingToolInstallPicture());
|
|
|
}
|
|
|
- machineCuttingTool.setCuttingToolPosition(tool.getString("position"));
|
|
|
+ machineCuttingTool.setCuttingToolPosition(position);
|
|
|
String cuttingToolType = tool.getString("monitorType");
|
|
|
machineCuttingTool.setCuttingToolType(cuttingToolType);
|
|
|
machineCuttingTool.setEarlyWarnning(tool.getString("targetLife"));
|
|
@@ -170,12 +181,22 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
|
|
|
machineCuttingTool.setDoc(doc);
|
|
|
String rd = tool.getString("rd");
|
|
|
machineCuttingTool.setRd(rd);
|
|
|
- baseMapper.insert(machineCuttingTool);
|
|
|
+
|
|
|
+ if(Objects.isNull(machineCuttingTool.getId())){
|
|
|
+ baseMapper.insert(machineCuttingTool);
|
|
|
+ }else {
|
|
|
+ baseMapper.updateById(machineCuttingTool);
|
|
|
+ }
|
|
|
//刀具报警 调用天轨 目标去刀具上下料站
|
|
|
if(!map.containsKey(resourceId) && (doc.equals("FDJ") || doc.equals("HD"))){
|
|
|
map.put(resourceId, machineCuttingTool);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 判断collect是否还有数据,如果有进行删除,说明机床已经没有这些数据
|
|
|
+ ArrayList<String> needDel = new ArrayList<>(collect.keySet());
|
|
|
+ baseMapper.deleteBatchIds(needDel);
|
|
|
+
|
|
|
}
|
|
|
dataList = new ArrayList<MachineCuttingTool>(map.values());
|
|
|
return dataList;
|