package com.jcdm.main.bs.formulaChild.service.impl;
|
|
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业务层处理
|
*
|
* @author ruimin
|
* @date 2023-12-26
|
*/
|
@Service
|
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();
|
|
/**
|
* 查询配方配置子信息
|
*
|
* @param id 配方配置子信息主键
|
* @return 配方配置子信息
|
*/
|
@Override
|
public BsFormulaChildInfo selectBsFormulaChildInfoById(Long id)
|
{
|
return bsFormulaChildInfoMapper.selectBsFormulaChildInfoById(id);
|
}
|
|
/**
|
* 查询配方配置子信息列表
|
*
|
* @param bsFormulaChildInfo 配方配置子信息
|
* @return 配方配置子信息
|
*/
|
@Override
|
public List<BsFormulaChildInfo> selectBsFormulaChildInfoList(BsFormulaChildInfo bsFormulaChildInfo)
|
{
|
return bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo);
|
}
|
|
/**
|
* 新增配方配置子信息
|
*
|
* @param bsFormulaChildInfo 配方配置子信息
|
* @return 结果
|
*/
|
@Override
|
public int insertBsFormulaChildInfo(BsFormulaChildInfo bsFormulaChildInfo)
|
{
|
bsFormulaChildInfo.setCreateTime(DateUtils.getNowDate());
|
return bsFormulaChildInfoMapper.insertBsFormulaChildInfo(bsFormulaChildInfo);
|
}
|
|
/**
|
* 修改配方配置子信息
|
*
|
* @param bsFormulaChildInfo 配方配置子信息
|
* @return 结果
|
*/
|
@Override
|
public int updateBsFormulaChildInfo(BsFormulaChildInfo bsFormulaChildInfo)
|
{
|
bsFormulaChildInfo.setUpdateTime(DateUtils.getNowDate());
|
return bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
|
}
|
|
/**
|
* 批量删除配方配置子信息
|
*
|
* @param ids 需要删除的配方配置子信息主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteBsFormulaChildInfoByIds(Long[] ids)
|
{
|
return bsFormulaChildInfoMapper.deleteBsFormulaChildInfoByIds(ids);
|
}
|
|
/**
|
* 删除配方配置子信息信息
|
*
|
* @param id 配方配置子信息主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteBsFormulaChildInfoById(Long id)
|
{
|
return bsFormulaChildInfoMapper.deleteBsFormulaChildInfoById(id);
|
}
|
|
@Override
|
public BsFormulaChildInfo selectBsFormulaChildInfoByTypeTopOne(String type,String productCode,String processesCode) {
|
BsFormulaChildInfo info = new BsFormulaChildInfo();
|
info.setOperationType(type);
|
info.setProcessesCode(processesCode);
|
info.setProductCode(productCode);
|
return bsFormulaChildInfoMapper.selectBsFormulaChildInfoByTypeTopOne(info);
|
}
|
|
@Override
|
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());
|
bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode());
|
bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode());
|
addParameterCollection(bsFormulaChildInfo);
|
}else {
|
return AjaxResult.error("非本工位物料,请重新扫描");
|
}
|
return AjaxResult.success("成功");
|
}
|
|
public void addParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){
|
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(bsFormulaChildInfo.getSfcBarcode());
|
daParamCollectionMapper.insertDaParamCollection(daParamCollection);
|
}
|
|
@Override
|
public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
|
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("扫描成功!");
|
}
|
|
|
|
|
}
|