| | |
| | | import com.zy.asrs.service.AgvLocMastService; |
| | | import com.zy.asrs.service.AgvWrkDetlService; |
| | | import com.zy.common.model.LocDto; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @Slf4j |
| | | public class AgvLocDetlServiceImpl extends ServiceImpl<AgvLocDetlMapper, AgvLocDetl> implements AgvLocDetlService { |
| | | |
| | | @Autowired |
| | |
| | | |
| | | public void addLocDetlInfo(String locNo, int taskCode) { |
| | | List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode)); |
| | | List<AgvLocDetl> agvLocDetlList = agvWrkDetls.stream().map(agvWrkDetl -> { |
| | | agvWrkDetls.stream().map(agvWrkDetl -> { |
| | | AgvLocDetl agvLocDetl = new AgvLocDetl(); |
| | | log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); |
| | | BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); |
| | | agvLocDetl.setLocNo(locNo); |
| | | this.insert(agvLocDetl); |
| | |
| | | wapperSetCondition(wrapper,"three_code",csocode); |
| | | wapperSetCondition(wrapper,"dead_time",isoseq); |
| | | |
| | | // if(Cools.isEmpty(batch)){ |
| | | // wrapper.isNull("batch"); |
| | | // }else { |
| | | // wrapper.eq("batch",batch); |
| | | // } |
| | | // if(!Cools.isEmpty(csocode)){ |
| | | // wrapper.eq("three_code",csocode); |
| | | // } |
| | | // if(Cools.isEmpty(isoseq)){ |
| | | // wrapper.eq("dead_time",isoseq); |
| | | // } |
| | | List<AgvLocDetl> agvLocDetls = this.selectList(wrapper); |
| | | |
| | | for (AgvLocDetl agvLocDetl: agvLocDetls) { |
| | |
| | | //int ioType = anfme > issued ? 101 : 103; |
| | | anfme = anfme > issued ? issued : anfme; |
| | | LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNo, anfme); |
| | | |
| | | locDto.setCsocode(csocode); |
| | | locDto.setIsoseq(isoseq); |
| | | locDto.setContainerCode(agvLocDetl.getSuppCode()); |
| | | //当前库位所处楼层 |
| | | int floor = Integer.parseInt(agvLocDetl.getLocNo().split("@")[1]); |
| | | locDto.setAgvStaNos(queryAgvStaNosByFloor(floor)); |
| | |
| | | return this.selectList(wrapper); |
| | | } |
| | | |
| | | public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) { |
| | | if (anfme <= 0) { |
| | | return this.delete(new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).eq("loc_no", locNo)); |
| | | } else { |
| | | AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", matnr)); |
| | | agvLocDetl.setAnfme(anfme); |
| | | return this.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", matnr)); |
| | | //return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0; |
| | | } |
| | | } |
| | | |
| | | private List<String> queryAgvStaNosByFloor(int floor){ |
| | | List<String> agvStaNos = new ArrayList<>(); |
| | | if(floor == 1){ |
| | |
| | | |
| | | private void wapperSetCondition(Wrapper wrapper,String column, String condition){ |
| | | if(Cools.isEmpty(condition)){ |
| | | wrapper.isNull(column); |
| | | wrapper.andNew().eq(column,"").or().isNull(column); |
| | | //wrapper.isNull(column); |
| | | }else { |
| | | wrapper.eq(column,condition); |
| | | } |