wujian
2024-03-28 1e39c55183c1f54d1587bf3a86b4c2210bcd592e
jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
@@ -2,16 +2,26 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.common.utils.DateUtils;
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.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper;
import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService;
import javax.websocket.Session;
/**
 * 配方配置子信息Service业务层处理
@@ -20,13 +30,21 @@
 * @date 2023-12-26
 */
@Service
public class BsFormulaChildInfoServiceImpl implements IBsFormulaChildInfoService
public class BsFormulaChildInfoServiceImpl extends ServiceImpl<BsFormulaChildInfoMapper,BsFormulaChildInfo> implements IBsFormulaChildInfoService
{
    @Autowired
    private BsFormulaChildInfoMapper bsFormulaChildInfoMapper;
    @Autowired
    private DaParamCollectionMapper daParamCollectionMapper;
    @Autowired
    private MiloService miloService;
    @Autowired
    private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
    Map<String, Session> map = WebSocketUsers.getUsers();
    /**
     * 查询配方配置子信息
@@ -112,15 +130,27 @@
    }
    @Override
    public List<BsFormulaChildInfo> releaseCheck(BsFormulaChildInfo bsFormulaChildInfo) {
    public BsFormulaChildInfo getCount(String productCode, String processesCode) {
        BsFormulaChildInfo info = new BsFormulaChildInfo();
        info.setProcessesCode(processesCode);
        info.setProductCode(productCode);
        return bsFormulaChildInfoMapper.getCount(info);
    }
    @Override
    public BsFormulaChildInfo releaseCheck(BsFormulaChildInfo bsFormulaChildInfo) {
        return bsFormulaChildInfoMapper.releaseCheck(bsFormulaChildInfo);
    }
    @Override
    public AjaxResult updateResults(BsFormulaChildInfo bsFormulaChildInfo) {
        BsFormulaChildInfo checkInfo = new BsFormulaChildInfo();
        checkInfo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
        checkInfo.setProductCode(bsFormulaChildInfo.getProductCode());
        bsFormulaChildInfo.setMaterialCode(bsFormulaChildInfo.getScanBarcode().substring(1,2));
        List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo);
        if(bsFormulaChildInfos.size()>0){
            bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode());
            bsFormulaChildInfos.get(0).setResults("OK");
            bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
            bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode());
@@ -150,4 +180,47 @@
        bsFormulaChildInfoMapper.workpieceRelease(bsFormulaChildInfo);
        return AjaxResult.success();
    }
    @Override
    public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) {
        BsFormulaChildInfo listQuery = new BsFormulaChildInfo();
        listQuery.setParamCode(bsFormulaChildInfo.getParamCode());
        String paramCode = bsFormulaChildInfo.getTightenTheArray();
        if(paramCode.contains("N")){
            List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
            bsFormulaChildInfos.get(0).setResults("NG");
            bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
            bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
            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("OP."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build());
                        WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT");
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        }
        return AjaxResult.success("扫描成功!");
    }
}