|  |  | 
 |  |  | import com.zy.asrs.service.*; | 
 |  |  | import com.zy.asrs.task.AbstractHandler; | 
 |  |  | import com.zy.asrs.task.core.ReturnT; | 
 |  |  | import com.zy.common.service.AgvCommonService; | 
 |  |  | import lombok.Synchronized; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ReportDataService reportDataService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private AgvCommonService agvCommonService; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Transactional | 
 |  |  |     public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) { | 
 |  |  | 
 |  |  |  | 
 |  |  |             switch (agvWrkMast.getIoType()) { | 
 |  |  |                 case 1: | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(),agvWrkMast.getCtnNo()); | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(), agvWrkMast.getCtnNo()); | 
 |  |  |                     //更新目标库位明细 | 
 |  |  |                     log.info("更新目标库位明细 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo); | 
 |  |  |                     agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(), wrkNo); | 
 |  |  | 
 |  |  |                     //更新库存明细 | 
 |  |  |                     agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo()); | 
 |  |  |                     //修改源库位状态为O | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", null,""); | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", null, ""); | 
 |  |  |                     break; | 
 |  |  |                 case 53: | 
 |  |  |                     //修改工作党明细 | 
 |  |  | 
 |  |  |                     }); | 
 |  |  |                     // 更新站点 + 库位状态     源库位是站点 | 
 |  |  |                     agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue()); | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(),agvWrkMast.getCtnNo()); | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(), agvWrkMast.getCtnNo()); | 
 |  |  |                     break; | 
 |  |  |                 case 58: | 
 |  |  |                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue()); | 
 |  |  | 
 |  |  |                     wrkMast.setIoTime(now); | 
 |  |  |                     //优先级 | 
 |  |  |                     wrkMast.setIoPri(300.0); | 
 |  |  |  | 
 |  |  |                     //源站点 | 
 |  |  |                     wrkMast.setSourceLocNo(agvWrkMast.getLocNo()); | 
 |  |  |  | 
 |  |  |                     //目标站点 | 
 |  |  |                     wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); | 
 |  |  |                     if (agvWrkMast.getLocNo().startsWith("QO") && agvWrkMast.getLocNo().endsWith("F4") && Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)) == 30) { | 
 |  |  |                         if (!agvWrkMast.getSourceLocNo().endsWith("02F1")) { | 
 |  |  |                             AgvLocMast locByFloor = agvCommonService.getLocByFloor(3, 1); | 
 |  |  |                             if (locByFloor != null) { | 
 |  |  |                                 wrkMast.setLocNo(locByFloor.getLocNo()); | 
 |  |  |                             } else { | 
 |  |  |                                 wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); | 
 |  |  |                             } | 
 |  |  |                         } else { | 
 |  |  |                             wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); | 
 |  |  |                         } | 
 |  |  |                     } else { | 
 |  |  |                         wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                     //货架编码 | 
 |  |  |                     wrkMast.setBarcode(agvWrkMast.getBarcode()); | 
 |  |  |                     //货架类型 |