| | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import com.jcdm.framework.websocket.WebSocketUsers; |
| | | import com.jcdm.main.da.paramCollection.domain.DaParamCollection; |
| | | import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; |
| | | import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; |
| | | import com.jcdm.main.da.paramCollectionTemp.domain.DaParamCollectionTemp; |
| | | import com.jcdm.main.da.paramCollectionTemp.service.IDaParamCollectionTempService; |
| | | import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; |
| | | import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; |
| | | import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; |
| | | import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService; |
| | | import com.jcdm.main.plcserver.util.TimeUtil; |
| | | import com.kangaroohy.milo.model.ReadWriteEntity; |
| | | import com.kangaroohy.milo.service.MiloService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.aspectj.weaver.loadtime.Aj; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper; |
| | |
| | | * @date 2023-12-26 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class BsFormulaChildInfoServiceImpl extends ServiceImpl<BsFormulaChildInfoMapper,BsFormulaChildInfo> implements IBsFormulaChildInfoService |
| | | { |
| | | private static final Logger logger = LoggerFactory.getLogger("sys-user"); |
| | | @Autowired |
| | | private BsFormulaChildInfoMapper bsFormulaChildInfoMapper; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private DaPassingStationCollectionMapper daPassingStationCollectionMapper; |
| | | |
| | | @Autowired |
| | | private IDaTestDeviceInterfaceService daTestDeviceInterfaceService; |
| | | |
| | | @Autowired |
| | | private IDaParamCollectionService daParamCollectionService; |
| | | |
| | | @Autowired |
| | | private IDaPassingStationCollectionService daPassingStationCollectionService; |
| | | |
| | | @Autowired |
| | | private IDaParamCollectionTempService daParamCollectionTempService; |
| | | |
| | | Map<String, Session> map = WebSocketUsers.getUsers(); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult yzUpdateResults(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | String result = ""; |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>(); |
| | | List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() |
| | | .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) |
| | | .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()) |
| | | .eq(BsFormulaChildInfo::getOperationType, "2") |
| | | ); |
| | | for (BsFormulaChildInfo formulaChildInfo : infos) { |
| | | if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())){ |
| | | bsFormulaChildInfos.add(formulaChildInfo); |
| | | break; |
| | | } |
| | | } |
| | | if(bsFormulaChildInfos.size()>0){ |
| | | String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode()); |
| | | bsFormulaChildInfos.get(0).setResults("OK"); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode()); |
| | | bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); |
| | | bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); |
| | | addParameterCollection(bsFormulaChildInfo); |
| | | if (spareField4 != null && !spareField4.isEmpty()) { |
| | | // 执行操作 |
| | | if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ |
| | | try { |
| | | result = "3"; |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | result = "1"; |
| | | } |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult yzUpdateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | Boolean b = true; |
| | | String result = "1"; |
| | | BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo(); |
| | | getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); |
| | | getMaterTwo.setOperationType("2"); |
| | | List<BsFormulaChildInfo> operationType = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(getMaterTwo); |
| | | List<String> collect = operationType.stream().map(BsFormulaChildInfo::getResults).collect(Collectors.toList()); |
| | | for (String s : collect) { |
| | | if(s.equals("")){ |
| | | // return AjaxResult.success("扫描未完成,禁止拧紧操作!"); |
| | | } |
| | | } |
| | | BsFormulaChildInfo listQuery = new BsFormulaChildInfo(); |
| | | listQuery.setParamCode(bsFormulaChildInfo.getParamCode()); |
| | | listQuery.setProcessesCode(bsFormulaChildInfo.getLocationCode()); |
| | | String paramCode = bsFormulaChildInfo.getTightenTheArray(); |
| | | if(paramCode.contains("N")){ |
| | | result = "3"; |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | | bsFormulaChildInfos.get(0).setResults("NG"); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | // return AjaxResult.success("扫描结果NG,请重新扫描!"); |
| | | }else { |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | | if(bsFormulaChildInfos.get(0).getSpareField2()!=null&&bsFormulaChildInfos.get(0).getSpareField3()!=null){ |
| | | String tightenArray = bsFormulaChildInfo.getTightenTheArray().replace("[", "").replace("]", "").replace(" ", ""); |
| | | String[] tightenDataParts = tightenArray.split(","); |
| | | b = TimeUtil.isNumberInRange(Double.parseDouble(tightenDataParts[0]),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField2()),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField3())); |
| | | } |
| | | if(b){ |
| | | result = "3"; |
| | | bsFormulaChildInfos.get(0).setResults("OK"); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | logger.info("yzUpdateTighteningFormula--查询条件参数:"+listQuery); |
| | | logger.info("yzUpdateTighteningFormula--查询结果:"+bsFormulaChildInfos.get(0)); |
| | | Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); |
| | | try { |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); |
| | | if (spareField4 != null && !spareField4.isEmpty()) { |
| | | // 执行操作 |
| | | if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ |
| | | try { |
| | | // WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT"); |
| | | result = "2"; |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | result = "3"; |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos1 = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | | bsFormulaChildInfos1.get(0).setResults("NG"); |
| | | String originalString = bsFormulaChildInfo.getTightenTheArray(); |
| | | String modifiedString = originalString.replaceFirst("OK", "NG"); |
| | | bsFormulaChildInfos1.get(0).setCollectData(modifiedString); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos1.get(0)); |
| | | // return AjaxResult.success("扫描结果NG,请重新扫描!"); |
| | | } |
| | | } |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult jrmUpdateResults(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | String result = ""; |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>(); |
| | | List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() |
| | | .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) |
| | | .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()) |
| | | .eq(BsFormulaChildInfo::getOperationType, "2") |
| | | ).stream().filter(x -> StrUtil.isBlank(x.getCollectData())).collect(Collectors.toList()); |
| | | |
| | | |
| | | for (BsFormulaChildInfo formulaChildInfo : infos) { |
| | | if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())){ |
| | | bsFormulaChildInfos.add(formulaChildInfo); |
| | | break; |
| | | } |
| | | } |
| | | if(bsFormulaChildInfos.size()>0){ |
| | | String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode()); |
| | | bsFormulaChildInfos.get(0).setResults("OK"); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode()); |
| | | bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); |
| | | bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); |
| | | jrmAddParameterCollection(bsFormulaChildInfo); |
| | | |
| | | if (spareField4 != null && !spareField4.isEmpty()) { |
| | | // 执行操作 |
| | | if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ |
| | | try { |
| | | result = "3"; |
| | | // String strA = bsFormulaChildInfo.getLocationCode() + "A"; |
| | | // String strB = bsFormulaChildInfo.getLocationCode() + "B"; |
| | | // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strA+".RecordDataDone").value(21).build()); |
| | | // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strB+".RecordDataDone").value(21).build()); |
| | | String locationCode = bsFormulaChildInfo.getLocationCode(); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+locationCode+".RecordDataDone").value(21).build()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | result = "1"; |
| | | } |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() |
| | | .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) |
| | | .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); |
| | | for (BsFormulaChildInfo info : list) { |
| | | info.setCollectData(""); |
| | | info.setResults(""); |
| | | bsFormulaChildInfoService.saveOrUpdate(info); |
| | | } |
| | | String[] split = bsFormulaChildInfo.getProductBarcode().split(","); |
| | | try { |
| | | for (int i = 0; i < split.length; i++) { |
| | | daParamCollectionService.pushGeelycvMesFeedback(split[i], bsFormulaChildInfo.getLocationCode()); |
| | | String barCode = bsFormulaChildInfo.getProductBarcode(); |
| | | String locationCode = bsFormulaChildInfo.getLocationCode(); |
| | | DaPassingStationCollection passingStationCollectionOne = daPassingStationCollectionService.getOne(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getSfcCode, barCode).eq(DaPassingStationCollection::getLocationCode, locationCode)); |
| | | if (passingStationCollectionOne != null) { |
| | | passingStationCollectionOne.setOutRsSign("1"); |
| | | passingStationCollectionOne.setOutboundTime(new Date()); |
| | | daPassingStationCollectionService.saveOrUpdate(passingStationCollectionOne); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult clearWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() |
| | | .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) |
| | | .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); |
| | | for (BsFormulaChildInfo info : list) { |
| | | info.setCollectData(""); |
| | | info.setResults(""); |
| | | bsFormulaChildInfoService.saveOrUpdate(info); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public BsFormulaChildInfo releaseCheck(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | return bsFormulaChildInfoMapper.releaseCheck(bsFormulaChildInfo); |
| | | } |
| | |
| | | bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); |
| | | bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); |
| | | addParameterCollection(bsFormulaChildInfo); |
| | | |
| | | // Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); |
| | | // try { |
| | | // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".StepNumber").value(stepNumber).build()); |
| | | // } catch (Exception e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | |
| | | if (spareField4 != null && !spareField4.isEmpty()) { |
| | | // 执行操作 |
| | | if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ |
| | |
| | | daParamCollection.setCollectionTime(new Date()); |
| | | daParamCollection.setSfcCode(bsFormulaChildInfo.getSfcBarcode()); |
| | | daParamCollectionMapper.insertDaParamCollection(daParamCollection); |
| | | |
| | | DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); |
| | | daParamCollectionTemp.setParamCode(bsFormulaChildInfo.getParamCode()); |
| | | daParamCollectionTemp.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); |
| | | daParamCollectionTemp.setLocationCode(bsFormulaChildInfo.getLocationCode()); |
| | | daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue()); |
| | | daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode()); |
| | | daParamCollectionTemp.setCollectionTime(new Date()); |
| | | daParamCollectionTemp.setSfcCode(bsFormulaChildInfo.getSfcBarcode()); |
| | | daParamCollectionTempService.save(daParamCollectionTemp); |
| | | } |
| | | |
| | | public void jrmAddParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){ |
| | | String scanBarCode = bsFormulaChildInfo.getSfcBarcode(); |
| | | String[] modeleSplit = scanBarCode.split(","); |
| | | // for (String modele : modeleSplit) { |
| | | DaParamCollection daParamCollection = new DaParamCollection(); |
| | | daParamCollection.setParamCode(bsFormulaChildInfo.getParamCode()); |
| | | daParamCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); |
| | | daParamCollection.setLocationCode(bsFormulaChildInfo.getLocationCode()); |
| | | daParamCollection.setParamValue(bsFormulaChildInfo.getParamValue()); |
| | | daParamCollection.setProductCode(bsFormulaChildInfo.getProductCode()); |
| | | daParamCollection.setCollectionTime(new Date()); |
| | | if(bsFormulaChildInfo.getParamCode().contains("B")){ |
| | | daParamCollection.setSfcCode(modeleSplit[1]); |
| | | }else { |
| | | daParamCollection.setSfcCode(modeleSplit[0]); |
| | | } |
| | | // daParamCollection.setSfcCode(modele); |
| | | daParamCollectionMapper.insertDaParamCollection(daParamCollection); |
| | | // } |
| | | |
| | | DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); |
| | | daParamCollectionTemp.setParamCode(bsFormulaChildInfo.getParamCode()); |
| | | daParamCollectionTemp.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); |
| | | daParamCollectionTemp.setLocationCode(bsFormulaChildInfo.getLocationCode()); |
| | | daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue()); |
| | | daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode()); |
| | | daParamCollectionTemp.setCollectionTime(new Date()); |
| | | if(bsFormulaChildInfo.getParamCode().contains("B")){ |
| | | daParamCollectionTemp.setSfcCode(modeleSplit[1]); |
| | | }else { |
| | | daParamCollectionTemp.setSfcCode(modeleSplit[0]); |
| | | } |
| | | daParamCollectionTempService.save(daParamCollectionTemp); |
| | | } |
| | | |
| | | @Override |
| | |
| | | info.setResults(""); |
| | | bsFormulaChildInfoService.saveOrUpdate(info); |
| | | } |
| | | try { |
| | | daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); |
| | | String barCode = bsFormulaChildInfo.getProductBarcode(); |
| | | String locationCode = bsFormulaChildInfo.getLocationCode(); |
| | | DaPassingStationCollection passingStationCollectionOne = daPassingStationCollectionService.getOne(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getSfcCode, barCode).eq(DaPassingStationCollection::getLocationCode, locationCode)); |
| | | if (passingStationCollectionOne != null) { |
| | | passingStationCollectionOne.setOutRsSign("1"); |
| | | passingStationCollectionOne.setOutboundTime(new Date()); |
| | | daPassingStationCollectionService.saveOrUpdate(passingStationCollectionOne); |
| | | } |
| | | }catch (Exception e){ |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | Boolean b = true; |
| | | BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo(); |
| | | getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); |
| | | getMaterTwo.setOperationType("2"); |
| | |
| | | } |
| | | BsFormulaChildInfo listQuery = new BsFormulaChildInfo(); |
| | | listQuery.setParamCode(bsFormulaChildInfo.getParamCode()); |
| | | listQuery.setProcessesCode(bsFormulaChildInfo.getLocationCode()); |
| | | String paramCode = bsFormulaChildInfo.getTightenTheArray(); |
| | | if(paramCode.contains("N")){ |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | |
| | | return AjaxResult.error("扫描结果NG,请重新扫描!"); |
| | | }else { |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | | bsFormulaChildInfos.get(0).setResults("OK"); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); |
| | | if (spareField4 != null && !spareField4.isEmpty()) { |
| | | // 执行操作 |
| | | if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ |
| | | try { |
| | | // //更新过站记录表出站时间 |
| | | // DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); |
| | | // daPassingStationCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); |
| | | // List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); |
| | | // daPassingStationCollections.get(0).setOutboundTime(new Date()); |
| | | // daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build()); |
| | | WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | if(bsFormulaChildInfos.get(0).getSpareField2()!=null&&bsFormulaChildInfos.get(0).getSpareField3()!=null){ |
| | | String tightenArray = bsFormulaChildInfo.getTightenTheArray().replace("[", "").replace("]", "").replace(" ", ""); |
| | | String[] tightenDataParts = tightenArray.split(","); |
| | | b = TimeUtil.isNumberInRange(Double.parseDouble(tightenDataParts[0]),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField2()),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField3())); |
| | | } |
| | | if(b){ |
| | | bsFormulaChildInfos.get(0).setResults("OK"); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | logger.info("查询条件参数:"+listQuery); |
| | | logger.info("查询结果:"+bsFormulaChildInfos.get(0)); |
| | | Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); |
| | | try { |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); |
| | | if (spareField4 != null && !spareField4.isEmpty()) { |
| | | // 执行操作 |
| | | if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ |
| | | try { |
| | | // //更新过站记录表出站时间 |
| | | // DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); |
| | | // daPassingStationCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); |
| | | // List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); |
| | | // daPassingStationCollections.get(0).setOutboundTime(new Date()); |
| | | // daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build()); |
| | | WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos1 = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | | bsFormulaChildInfos1.get(0).setResults("NG"); |
| | | String originalString = bsFormulaChildInfo.getTightenTheArray(); |
| | | String modifiedString = originalString.replaceFirst("OK", "NG"); |
| | | bsFormulaChildInfos1.get(0).setCollectData(modifiedString); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos1.get(0)); |
| | | return AjaxResult.error("扫描结果NG,请重新扫描!"); |
| | | } |
| | | |
| | | } |