| | |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import com.jcdm.common.utils.DateUtils; |
| | | import com.jcdm.common.utils.StringUtils; |
| | | import com.jcdm.framework.websocket.WebSocketUsers; |
| | | import com.jcdm.main.bs.formulaChildInfoTemp.domain.BsFormulaChildInfoTemp; |
| | | import com.jcdm.main.bs.formulaChildInfoTemp.service.IBsFormulaChildInfoTempService; |
| | | import com.jcdm.main.da.paramCollection.domain.DaParamCollection; |
| | | import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; |
| | | import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; |
| | |
| | | private IDaParamCollectionTempService daParamCollectionTempService; |
| | | |
| | | Map<String, Session> map = WebSocketUsers.getUsers(); |
| | | |
| | | @Autowired |
| | | private IBsFormulaChildInfoTempService bsFormulaChildInfoTempService; |
| | | |
| | | /** |
| | | * 查询配方配置子信息 |
| | |
| | | } |
| | | } |
| | | } |
| | | // 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()); |
| | |
| | | // 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(); |
| | | WebSocketUsers.sendMessageToUserByText(map.get(locationCode), "OUT"); |
| | | |
| | | // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+locationCode+".RecordDataDone").value(21).build()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | |
| | | @Override |
| | | public AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | this.clearCollectDataAndResultsByProcessesCode(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 = split[i]; |
| | | String locationCode = bsFormulaChildInfo.getLocationCode(); |
| | | |
| | | if(StringUtils.isNotBlank(locationCode)&&StringUtils.isNotBlank(barCode)){ |
| | | DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); |
| | | daPassingStationCollection.setOutRsSign("1"); |
| | | daPassingStationCollection.setOutboundTime(new Date()); |
| | | daPassingStationCollection.setSfcCode(barCode); |
| | | daPassingStationCollection.setLocationCode(locationCode); |
| | | int updateDaPassingStation = daPassingStationCollectionService.updateDaPassingStationCollectionBySfcCodeAndLocationCode(daPassingStationCollection); |
| | | logger.info("加热膜人工工位更新过站记录updateDaPassingStationCollectionBySfcCodeAndLocationCode:更新了{}条数据-更新条件pack码{}-工位{}",updateDaPassingStation,barCode,locationCode); |
| | | } |
| | | |
| | | // 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){ |
| | | } |
| | | daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); |
| | | 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); |
| | | // } |
| | | this.clearCollectDataAndResultsByProcessesCode(bsFormulaChildInfo); |
| | | return AjaxResult.success(); |
| | | } |
| | |
| | | LambdaUpdateWrapper<BsFormulaChildInfo> updateWrapper = new LambdaUpdateWrapper(); |
| | | updateWrapper.set(BsFormulaChildInfo::getCollectData, ""); |
| | | updateWrapper.set(BsFormulaChildInfo::getResults,""); |
| | | updateWrapper.set(BsFormulaChildInfo::getNgTimes,0); |
| | | updateWrapper.eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()); |
| | | updateWrapper.eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()); |
| | | BsFormulaChildInfo info = new BsFormulaChildInfo(); |
| | | boolean update = this.update(info,updateWrapper); |
| | | return AjaxResult.success(update); |
| | |
| | | |
| | | 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); |
| | | // } |
| | | 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()); |
| | | daParamCollection.setSfcCode(scanBarCode); |
| | | 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); |
| | | 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(scanBarCode); |
| | | |
| | | boolean save = daParamCollectionTempService.save(daParamCollectionTemp); |
| | | System.out.println(save); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | this.clearCollectDataAndResultsByProcessesCode(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); |
| | | // } |
| | | try { |
| | | daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); |
| | | // String barCode = bsFormulaChildInfo.getProductBarcode(); |
| | | // String locationCode = bsFormulaChildInfo.getLocationCode(); |
| | | // |
| | | // if(StringUtils.isNotBlank(locationCode)&&StringUtils.isNotBlank(barCode)){ |
| | | // DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); |
| | | // daPassingStationCollection.setOutRsSign("1"); |
| | | // daPassingStationCollection.setOutboundTime(new Date()); |
| | | // daPassingStationCollection.setSfcCode(barCode); |
| | | // daPassingStationCollection.setLocationCode(locationCode); |
| | | // int updateDaPassingStation = daPassingStationCollectionService.updateDaPassingStationCollectionBySfcCodeAndLocationCode(daPassingStationCollection); |
| | | // logger.info("普通人工工位更新过站记录updateDaPassingStationCollectionBySfcCodeAndLocationCode:更新了{}条数据-更新条件pack码{}-工位{}",updateDaPassingStation,barCode,locationCode); |
| | | // } |
| | | |
| | | // 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(); |
| | |
| | | |
| | | String paramCode = bsFormulaChildInfo.getTightenTheArray(); |
| | | if(paramCode.contains("NG")){ |
| | | /* List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | | bsFormulaChildInfos.get(0).setResults("NG"); |
| | | bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); |
| | | */ |
| | | bsFormulaChildInfo.setResults("NG"); |
| | | bsFormulaChildInfo.setCollectData(bsFormulaChildInfo.getTightenTheArray()); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo); |
| | | |
| | | // Integer ngTimes = bsFormulaChildInfo.getNgTimes(); |
| | | // bsFormulaChildInfo.setNgTimes(ngTimes+1); |
| | | // bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo); |
| | | // |
| | | // if(bsFormulaChildInfo.getNgTimes() > 3){ |
| | | // this.recordNgTighteningData(bsFormulaChildInfo.getLocationCode(), bsFormulaChildInfo.getProductCode(), bsFormulaChildInfo.getProductBarcode()); |
| | | // WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "NG"); |
| | | // return AjaxResult.error("超过三次拧紧 pack NG下线!"); |
| | | // } |
| | | return AjaxResult.error("拧紧结果NG,请重新拧紧!"); |
| | | }else { |
| | | //List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); |
| | |
| | | // 执行操作 |
| | | if(spareField4.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); |
| | |
| | | return AjaxResult.success("拧紧成功!"); |
| | | } |
| | | |
| | | public void recordNgTighteningData(String locationCode,String productCode,String packId){ |
| | | List<BsFormulaChildInfo> ngFormulaList = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() |
| | | .eq(BsFormulaChildInfo::getProcessesCode, locationCode) |
| | | .eq(BsFormulaChildInfo::getProductCode, productCode) |
| | | ); |
| | | List<BsFormulaChildInfo> filteredList = ngFormulaList.stream() |
| | | .filter(formula -> formula.getResults() != null && !formula.getResults().isEmpty()) |
| | | .collect(Collectors.toList()); |
| | | for (BsFormulaChildInfo childInfo : filteredList) { |
| | | BsFormulaChildInfoTemp childInfoTemp = new BsFormulaChildInfoTemp(); |
| | | childInfoTemp.setCollectData(childInfo.getCollectData()); |
| | | childInfoTemp.setResults(childInfo.getResults()); |
| | | childInfoTemp.setSfcCode(packId); |
| | | childInfoTemp.setProcessesCode(childInfo.getProcessesCode()); |
| | | childInfoTemp.setProductCode(childInfo.getProductCode()); |
| | | childInfoTemp.setStepSort(childInfo.getStepSort()); |
| | | // childInfoTemp.setLineCode(childInfo.getId()); |
| | | bsFormulaChildInfoTempService.save(childInfoTemp); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |