package com.zy.asrs.service.impl; 
 | 
  
 | 
import com.baomidou.mybatisplus.mapper.EntityWrapper; 
 | 
import com.baomidou.mybatisplus.service.impl.ServiceImpl; 
 | 
import com.core.common.Cools; 
 | 
import com.zy.asrs.entity.WrkMast; 
 | 
import com.zy.asrs.mapper.WrkMastMapper; 
 | 
import com.zy.asrs.service.WrkMastService; 
 | 
import com.zy.asrs.utils.Utils; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.stereotype.Service; 
 | 
  
 | 
import java.util.List; 
 | 
  
 | 
@Slf4j 
 | 
@Service("wrkMastService") 
 | 
public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService { 
 | 
  
 | 
    @Override 
 | 
    public int getWorkingMast(Integer devpNo) { 
 | 
        return selectCount(new EntityWrapper<WrkMast>().eq("source_sta_no", devpNo).in("wrk_sts", 1, 6)); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<WrkMast> selectToBeCompleteData() { 
 | 
        return this.baseMapper.selectToBeCompleteData(); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<WrkMast> selectToBeHistoryData() { 
 | 
        return this.baseMapper.selectToBeHistoryData(); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public WrkMast selectByBarcode(String barcode) { 
 | 
        List<WrkMast> wrkMasts = this.selectList(new EntityWrapper<WrkMast>().eq("barcode", barcode)); 
 | 
        if (Cools.isEmpty(wrkMasts)) { 
 | 
            return null; 
 | 
        } 
 | 
        return wrkMasts.get(0); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public synchronized Double getIoPri(Integer ioType, String locNo) { 
 | 
        Double defaultIoPri = null; 
 | 
        if (Cools.isEmpty(ioType, locNo)) { 
 | 
            return 100.0D; 
 | 
        } 
 | 
        if (ioType != 11) { 
 | 
            // 入库 
 | 
            if (ioType < 100) { 
 | 
                List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo); 
 | 
                if (!Cools.isEmpty(groupOuterLoc)) { 
 | 
                    for (String outerLoc : groupOuterLoc) { 
 | 
                        WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(outerLoc); 
 | 
                        if (wrkMast != null) { 
 | 
                            defaultIoPri = wrkMast.getIoPri() - 2; 
 | 
//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); 
 | 
                if (!Cools.isEmpty(groupInsideLoc)) { 
 | 
                    for (String insideLoc : groupInsideLoc) { 
 | 
                        WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(insideLoc); 
 | 
                        if (wrkMast != null) { 
 | 
                            defaultIoPri = wrkMast.getIoPri() + 2; 
 | 
//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
            // 出库 
 | 
            } else { 
 | 
                List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo); 
 | 
                if (!Cools.isEmpty(groupOuterLoc)) { 
 | 
                    for (String outerLoc : groupOuterLoc) { 
 | 
                        WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(outerLoc); 
 | 
                        if (wrkMast != null) { 
 | 
                            defaultIoPri = wrkMast.getIoPri() - 2; 
 | 
//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); 
 | 
                if (!Cools.isEmpty(groupInsideLoc)) { 
 | 
                    for (String insideLoc : groupInsideLoc) { 
 | 
                        WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(insideLoc); 
 | 
                        if (wrkMast != null) { 
 | 
                            defaultIoPri = wrkMast.getIoPri() + 2; 
 | 
//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
        // 移库 
 | 
        } else { 
 | 
//            @Deprecated 
 | 
        } 
 | 
        return defaultIoPri == null ? 100.0D : defaultIoPri; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public int getStoreCount(Integer crnNo) { 
 | 
        return selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo) 
 | 
                .last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))")); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public Boolean setSteEmpty(Integer wrkNo) { 
 | 
        return this.baseMapper.setSteEmpty(wrkNo) > 0; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public WrkMast selectOfPick(Integer wrkNo, Integer ioType) { 
 | 
        return this.baseMapper.selectOfPick(wrkNo, ioType); 
 | 
    } 
 | 
  
 | 
} 
 |