-
admin
2024-05-28 2377332554103dcbc54fff45777ef1c67cf0fb0e
jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
@@ -4,6 +4,8 @@
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;
@@ -15,8 +17,11 @@
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.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
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 org.aspectj.weaver.loadtime.Aj;
@@ -51,6 +56,12 @@
    @Autowired
    private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
    @Autowired
    private IDaTestDeviceInterfaceService daTestDeviceInterfaceService;
    @Autowired
    private IDaParamCollectionService daParamCollectionService;
    Map<String, Session> map = WebSocketUsers.getUsers();
@@ -215,7 +226,7 @@
            Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
            try {
                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber).build());
                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build());
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
@@ -269,10 +280,12 @@
                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 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);
                    }
@@ -375,6 +388,10 @@
    @Override
    public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
        try {
            daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode());
        }catch (Exception e){
        }
        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
                .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()));
@@ -388,6 +405,7 @@
    @Override
    public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) {
        Boolean b = true;
        BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo();
        getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
        getMaterTwo.setOperationType("2");
@@ -409,34 +427,48 @@
            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));
            Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
            try {
                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber).build());
            } 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));
                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);
                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,请重新扫描!");
            }
        }