package com.zy.asrs.task.handler; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.LocDetlService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WorkService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.model.StartupDto; import com.zy.common.service.CommonService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; /** * Created by vincent on 2023/7/7 */ @Slf4j @Service public class AutoLocMoveHandler extends AbstractHandler { @Autowired private CommonService commonService; @Autowired private LocMastService locMastService; @Autowired private LocDetlService locDetlService; @Autowired private WorkService workService; // @Transactional(isolation = Isolation.REPEATABLE_READ) // public ReturnT start(Integer crnNo, Integer ioType) { // try { // //11 穿梭移单边 // if (ioType==11){ // for (int bay = 1;bay < 27;bay++){ // for (int lev = 1 ; lev <6 ; lev++){ // List locMasts = locMastService.selectLocMastShuttleMoveUnilateral(bay,lev,crnNo); // if (!Cools.isEmpty(locMasts) && locMasts.size()<4){ // for (LocMast locMast:locMasts){ // LocDetl locDetl = locDetlService.selectOne(new EntityWrapper().eq("loc_no", locMast.getLocNo())); // StartupDto startupDto = commonService.getLocNo(crnNo == 1 ? 6 : 5, ioType, crnNo == 1 ? 917 : 918, locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), null); // workService.locMove(locMast.getLocNo(), startupDto.getLocNo(),9527L); // } // return SUCCESS; // } // } // } // }else {//11 单边移穿梭 // List> list = locDetlService.selectLocDetlUnilateralMoveShuttleMap(crnNo);//111 单边移穿梭 // for (Map map : list) { // String matnr = map.getOrDefault("matnr","").toString();//物料号 // String batch = map.getOrDefault("batch","").toString();//批号 // String grade = map.getOrDefault("brand","").toString();//等级 // int count = Integer.parseInt(map.get("count").toString());//单边库数量 // if (count < 4) { // continue; // } // // List locDetlList = locDetlService.selectLocDetlUnilateralMoveShuttle(matnr, batch, grade, crnNo); // for (LocDetl locDetl : locDetlList) { // StartupDto startupDto = commonService.getLocNo(crnNo == 1 ? 4 : 3, ioType, crnNo == 1 ? 901 : 932, locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(), null); // workService.locMove(locDetl.getLocNo(), startupDto.getLocNo(), 9527L); // } // } // return SUCCESS; // } // }catch (Exception e){ // log.error("自动移库出错,堆垛机号{},工作类型{}",crnNo,ioType); // } // return SUCCESS; // } }