| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.LocMast; |
| | | import com.zy.asrs.entity.LocRule; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.mapper.LocRuleMapper; |
| | | import com.zy.asrs.entity.LocRule; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.LocRuleService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.utils.Utils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service("locRuleService") |
| | |
| | | private LocMastService locMastService; |
| | | |
| | | @Override |
| | | public LocRule find(String matnr) { |
| | | public List<LocRule> find(String matnr) { |
| | | if (Cools.isEmpty(matnr)) { |
| | | return null; |
| | | } |
| | |
| | | return this.baseMapper.selectByMatnr(matnr); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocRule> findCode(String matnr,String other) { |
| | | if (Cools.isEmpty(matnr)) { |
| | | return null; |
| | | } |
| | | Mat mat = matService.selectByMatnr(matnr); |
| | | if (Cools.isEmpty(mat)) { |
| | | return null; |
| | | } |
| | | if(Cools.isEmpty(mat.getBrand())){ |
| | | return null; |
| | | } |
| | | |
| | | Wrapper<LocRule> wrapper = new EntityWrapper<LocRule>() |
| | | .eq("matnr",mat.getBrand().substring(0,4)) |
| | | .eq("mixed",0) |
| | | .eq("status",1); |
| | | |
| | | Utils.wapperSetCondition(wrapper,"other",other); |
| | | |
| | | return this.selectList(wrapper); |
| | | |
| | | } |
| | | |
| | | //找混载库位规则 |
| | | @Override |
| | | public LocRule findMixed() { |
| | | public List<LocRule> findMixed() { |
| | | return this.baseMapper.selectByMixed(1);//搜索混载库位规则 |
| | | } |
| | | |
| | | //将库位规则转换为库位组 |
| | | //将库位规则转换为库位组(能查出来的都是空库位) |
| | | @Override |
| | | public List<LocMast> locRuleToLocNos(LocRule locRule) { |
| | | ArrayList<String> locNos = new ArrayList<>(); |
| | | //将所有符合混载规则的库位号进行存储 |
| | | Integer rowBeg = locRule.getRowBeg(); |
| | | Integer rowEnd = locRule.getRowEnd(); |
| | | return locMastService.queryFreeLocMast2(null, locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); |
| | | } |
| | | |
| | | Integer bayBeg = locRule.getBayBeg(); |
| | | Integer bayEnd = locRule.getBayEnd(); |
| | | @Override |
| | | public int updateKeepGoByMatnr(String matnr, Integer keepGo) { |
| | | return this.baseMapper.updateKeepGoByMatnr(matnr, keepGo); |
| | | } |
| | | |
| | | Integer levBeg = locRule.getLevBeg(); |
| | | Integer levEnd = locRule.getLevEnd(); |
| | | |
| | | for (int i = rowBeg; i <= rowEnd; i++) { |
| | | for (int j = bayBeg; j <= bayEnd; j++) { |
| | | for (int k = levBeg; k <= levEnd; k++) { |
| | | String locNo = Utils.getLocNo(i, j, k); |
| | | locNos.add(locNo); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return locMastService.selectEmptyByLocNos(locNos); |
| | | @Override |
| | | public int updateKeepGoByMixed(Integer keepGo) { |
| | | return this.baseMapper.updateKeepGoByMixed(keepGo); |
| | | } |
| | | } |