package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.WmspOutboundScanResultMapper; import com.steerinfo.dil.model.WmspOutboundScanResult; import com.steerinfo.dil.service.IWmspOutboundScanResultService; import com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * WmspOutboundScanResult服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-09-26 02:27 * 类描述 * 修订历史: * 日期:2021-09-26 * 作者:generator * 参考: * 描述:WmspOutboundScanResult服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service public class WmspOutboundScanResultServiceImpl implements IWmspOutboundScanResultService { @Autowired private WmspOutboundScanResultMapper wmspOutboundScanResultMapper; @Autowired private RmsMaterialSteelServiceImpl rmsMaterialSteelService; @Override public int insertSelective(WmspOutboundScanResult wmspOutboundScanResult) { return wmspOutboundScanResultMapper.insertSelective(wmspOutboundScanResult); } @Override public List> getResultMaterial(Integer resultId) { return wmspOutboundScanResultMapper.getResultMaterial(resultId); } @Override public List> getRmsMaterial(String materialOnlyCode) { return wmspOutboundScanResultMapper.getRmsMaterial(materialOnlyCode); } @Override public List getOutBoundMaterialDetailedInfos(List onlyCodes) { return wmspOutboundScanResultMapper.getOutBoundMaterialDetailedInfos(onlyCodes); } @Override public List getOutBoundScanResultOnlyCodes(BigDecimal resultId) { //通过出库单实绩查询已经扫码结果 List resultStrs= wmspOutboundScanResultMapper.getResultStrs(resultId); //通过扫码结果获得,唯一编码 List onlyCodes = resultStrs.stream().map(resultStr -> { return resultStr.split("-")[7]; }).collect(Collectors.toList()); return onlyCodes; } /** * 查询出onlyCode数据类型的数据 * @param onlyCode * @param resultId * @return */ @Override public int getScanCount(String onlyCode, BigDecimal resultId) { List onlyCodes=getOutBoundScanResultOnlyCodes(resultId); Integer scanCount= rmsMaterialSteelService.getScanCount(onlyCode,onlyCodes); return scanCount; } }