| package com.zy.asrs.task.handler; | 
|   | 
| import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
| import com.core.common.Cools; | 
| import com.zy.asrs.entity.BasDevp; | 
| import com.zy.asrs.entity.WrkMast; | 
| import com.zy.asrs.entity.WrkMastSta; | 
| import com.zy.asrs.service.WrkMastStaService; | 
| import com.zy.asrs.task.AbstractHandler; | 
| import com.zy.asrs.task.core.ReturnT; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
| import java.util.Date; | 
|   | 
| /** | 
|  * Created by Monkey D. Luffy on 2023.11.21 | 
|  * 徐工汉云..............以下.............上饶江铜.............工作档生成RGV小车任务 | 
|  */ | 
| @Slf4j | 
| @Service | 
| @Transactional | 
| public class WrkMastStaInItHandler extends AbstractHandler<String> { | 
|     @Autowired | 
|     private WrkMastStaService wrkMastStaService; | 
|   | 
|     public ReturnT<String> start(WrkMast wrkMast,BasDevp basDevp,Integer type) { | 
|         try { | 
|             WrkMastSta wrkMastSta = null; | 
|             if(wrkMast != null){ | 
|                 wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue())); | 
|             } | 
|             if(basDevp.getWrkNo() != null){ | 
|                 wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", basDevp.getWrkNo().longValue())); | 
|             } | 
|   | 
|             if (!Cools.isEmpty(wrkMastSta) ){ | 
|                 return SUCCESS; | 
|             } | 
|             switch (type){ | 
| //                case 13://出  3:取放 | 
| //                    if (Cools.isEmpty(wrkMastSta)){ | 
| //                        WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); | 
| //                        wrkMastSta1.setWrkNo(Long.valueOf(wrkMast.getWrkNo())); | 
| //                        wrkMastSta1.setType(1);      //类型 1:非空  2:空板 | 
| //                        wrkMastSta1.setWrkType(3);                    //工作类型  1:取(叠盘)  2:拆盘  3:取放 5:满取  6:满放 | 
| //                        wrkMastStaService.insert(wrkMastSta1); | 
| //                    } | 
| //                    break; | 
|                 case 21://入库 | 
|                     if (Cools.isEmpty(wrkMastSta)){ | 
|                         WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); | 
|                         wrkMastSta1.setWrkNo(Long.valueOf(wrkMast.getWrkNo())); | 
|                         switch (wrkMast.getStaNo()){ | 
|                             case 1001:wrkMastSta1.setStaEnd(1004);break; | 
|                             case 1011:wrkMastSta1.setStaEnd(1014);break; | 
|                             case 1015:wrkMastSta1.setStaEnd(1018);break; | 
|                             case 1025:wrkMastSta1.setStaEnd(1028);break; | 
|                             case 1032:wrkMastSta1.setStaEnd(1035);break; | 
|                             case 2037:wrkMastSta1.setStaEnd(2037);break; | 
|                             case 4001:wrkMastSta1.setStaEnd(4001);break; | 
|                         } | 
|                         wrkMastSta1.setType(fullKM(wrkMast)? 1:2); | 
|                         wrkMastSta1.setWrkType(5);//工作类型  1:取(叠盘)  2:拆盘  3:取放 5:满取  6:满放 | 
|                         wrkMastStaService.insert(wrkMastSta1); | 
|                     }; | 
|                     break; | 
|                 case 22://出库 | 
|                     if (Cools.isEmpty(wrkMastSta)){ | 
|                         WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); | 
|                         wrkMastSta1.setWrkNo(Long.valueOf(wrkMast.getWrkNo())); | 
|                         switch ((wrkMast.getStaNo())){ | 
|                             case 1108:wrkMastSta1.setStaEnd(1109);break; | 
|                             case 4006:wrkMastSta1.setStaEnd(1018);break; | 
|                         } | 
|                         wrkMastSta1.setType(fullKM(wrkMast)? 1:2); | 
|                         wrkMastSta1.setWrkType(6);//工作类型  1:取(叠盘)  2:拆盘  3:取放 5:满取  6:满放 | 
|                         wrkMastStaService.insert(wrkMastSta1); | 
|                     }; | 
|                     break; | 
|                 case 23://异常退出 | 
|                     WrkMast wrkMast23 = new WrkMast(); | 
|                     wrkMast23.setWrkNo(basDevp.getWrkNo()); | 
|                     wrkMast23.setSourceStaNo(basDevp.getDevNo()); | 
|                     wrkMast23.setStaNo(1041); | 
|   | 
|                     WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast23,new Date(),basDevp); | 
|                     wrkMastSta1.setType(2); | 
|                     wrkMastSta1.setWrkType(6); | 
|                     wrkMastStaService.insert(wrkMastSta1); | 
|                 default: | 
|                     return SUCCESS; | 
|             } | 
|   | 
|         }catch (Exception e){ | 
|             log.error("异常!!!"+e); | 
|             return FAIL; | 
|         } | 
|         return SUCCESS; | 
|     } | 
|   | 
|     public boolean fullKM(WrkMast wrkMast){ | 
|         if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){ | 
|             return true; | 
|         } | 
|         return false; | 
|     } | 
| } |