|  |  | 
 |  |  | package com.zy.asrs.controller; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.core.annotations.ManagerAuth; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.R; | 
 |  |  | import com.zy.asrs.entity.BasDevp; | 
 |  |  | import com.zy.asrs.entity.StaDesc; | 
 |  |  | import com.zy.asrs.entity.WaitPakin; | 
 |  |  | import com.zy.asrs.entity.param.EmptyPlateOutParam; | 
 |  |  | import com.zy.asrs.entity.param.FullStoreParam; | 
 |  |  | import com.zy.asrs.entity.param.LocDetlAdjustParam; | 
 |  |  | import com.zy.asrs.entity.param.StockOutParam; | 
 |  |  | import com.zy.asrs.service.BasDevpService; | 
 |  |  | import com.zy.asrs.service.StaDescService; | 
 |  |  | import com.zy.asrs.service.WorkService; | 
 |  |  | import com.zy.common.model.StartupDto; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
 |  |  | 
 |  |  |     private WorkService workService; | 
 |  |  |     @Autowired | 
 |  |  |     private BasDevpService basDevpService; | 
 |  |  |     @Autowired | 
 |  |  |     private StaDescService staDescService; | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/put/site") | 
 |  |  |     @ManagerAuth(memo = "获取入库站点") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availablePutSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getAvailableInSite()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/empty/put/site") | 
 |  |  |     @ManagerAuth(memo = "获取空板入库站点") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableEmptyPutSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getAvailableEmptyInSite()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/take/site") | 
 |  |  |     @ManagerAuth(memo = "获取出库站点") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableTakeSite(){ | 
 |  |  |         List<Map<String, Object>> result = new ArrayList<>(); | 
 |  |  |         List<Integer> outSite = basDevpService.getAvailableOutSite(101); | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return R.ok().add(result); | 
 |  |  |     } | 
 |  |  |     @RequestMapping("/crn/available/take/site") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R crnAvailableTakeSite(){ | 
 |  |  |         List<Map<String, Object>> result = new ArrayList<>(); | 
 |  |  |         List<Integer> outSite = basDevpService.getCrnAvailableOutSite(101); | 
 |  |  |         for (Integer siteId : outSite) { | 
 |  |  |             Map<String, Object> map = new HashMap<>(); | 
 |  |  |             map.put("siteId", siteId); | 
 |  |  |             map.put("desc", siteId + "(全板出库口)"); | 
 |  |  |             result.add(map); | 
 |  |  |         } | 
 |  |  |         List<Integer> pickOutSite = basDevpService.getCrnAvailableOutSite(103); | 
 |  |  |         for (Integer siteId : pickOutSite) { | 
 |  |  |             Map<String, Object> map = new HashMap<>(); | 
 |  |  |             map.put("siteId", siteId); | 
 |  |  |             map.put("desc", siteId + "(拣料出库口)"); | 
 |  |  |             result.add(map); | 
 |  |  |         } | 
 |  |  |         return R.ok().add(result); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/take/check/site") | 
 |  |  |     @ManagerAuth(memo = "获取盘点出库站点") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableTakeCheckSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getAvailableOutSite(103)); | 
 |  |  |         return R.ok().add(basDevpService.getAvailableOutSite(107)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/take/check/site/crn") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableTakeCheckSiteCrn(){ | 
 |  |  |         EntityWrapper<StaDesc> staDescEntityWrapper = new EntityWrapper<>(); | 
 |  |  |         staDescEntityWrapper.eq("type_no",107); | 
 |  |  |         staDescEntityWrapper.setSqlSelect("DISTINCT stn_no as stnNo"); | 
 |  |  |         staDescEntityWrapper.in("crn_no",1,2,3,4,5,6,7); | 
 |  |  |         return R.ok().add(staDescService.selectList(staDescEntityWrapper)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/take/check/site/ctu") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableTakeCheckSiteCtu(){ | 
 |  |  |         return R.ok().add(basDevpService.getAvailableOutSite(107)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/take/check/site/shuttle") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableTakeCheckSiteShuttle(){ | 
 |  |  |         return R.ok().add(basDevpService.getAvailableOutSite(107)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/crn/empty/take/site") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availablecrnEmptyTakeSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getCrnAvailableEmptyOutSite()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/shuttle/empty/take/site") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableshuttleEmptyTakeSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getShuttleAvailableEmptyOutSite()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/ctu/empty/take/site") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availablectuEmptyTakeSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getCtuAvailableEmptyOutSite()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/available/empty/take/site") | 
 |  |  |     @ManagerAuth(memo = "获取空板出库站点") | 
 |  |  |     @ManagerAuth() | 
 |  |  |     public R availableEmptyTakeSite(){ | 
 |  |  |         return R.ok().add(basDevpService.getAvailableEmptyOutSite()); | 
 |  |  |     } | 
 |  |  | 
 |  |  |     @RequestMapping("/full/store/put/start") | 
 |  |  |     @ManagerAuth(memo = "全板入库") | 
 |  |  |     public R fullStorePutStart(@RequestBody FullStoreParam fullStoreParam) { | 
 |  |  |         return R.ok("入库启动成功").add(workService.startupFullPutStore(fullStoreParam,getUserId())); | 
 |  |  |         try { | 
 |  |  |             String locNo = workService.startupFullPutStore(fullStoreParam, getUserId()); | 
 |  |  |             return R.ok("入库启动成功").add(locNo); | 
 |  |  |         } catch (Exception e){ | 
 |  |  |             return R.error("入库启动失败==>"+e.getMessage()); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/plate/out/start") | 
 |  |  | 
 |  |  |         return R.ok("移库启动成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/mat/turn/over/out/start") | 
 |  |  |     @ManagerAuth(memo = "品号移交") | 
 |  |  |     public R turnMatLocDetl(@RequestBody EmptyPlateOutParam param) { | 
 |  |  |         if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls(),param.getMatId()) || Cools.isEmpty(param.getLocDetls().get(0)) || Cools.isEmpty(param.getLocDetls().get(0).getMatnr())){ | 
 |  |  |             return R.error("参数为空"); | 
 |  |  |         } | 
 |  |  |         if (param.getLocDetls().size()>1){ | 
 |  |  |             return R.error("请单条数据修改,谨慎操作!"); | 
 |  |  |         } | 
 |  |  |         workService.turnMatLocDetl(param, getUserId()); | 
 |  |  |         return R.ok("品号移交成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/locDdetl/adjust/start") | 
 |  |  |     @ManagerAuth(memo = "库存调整") | 
 |  |  |     public R locDetlAdjustStart(@RequestBody LocDetlAdjustParam param) { | 
 |  |  | 
 |  |  |             return R.ok("工作档已取消"); | 
 |  |  |         } else if (type == 3) { | 
 |  |  |             workService.pickWrkMast(workNo, getUserId()); | 
 |  |  |             return R.ok(); | 
 |  |  |             return R.ok("工作档已拣料"); | 
 |  |  |         } | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/create/waitPain/wrkMast/start") | 
 |  |  |     @ManagerAuth(memo = "生成任务") | 
 |  |  |     public R createWaitPainWrkMastStart(@RequestBody List<WaitPakin> list) { | 
 |  |  |         StartupDto startupDto = workService.createWaitPainWrkMastStart(list, getUserId()); | 
 |  |  |         return R.ok("任务号:" + startupDto.getWorkNo() + ";目标库位:" + startupDto.getLocNo()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/deal/preHave/start") | 
 |  |  |     @ManagerAuth(memo = "先入品处理") | 
 |  |  |     public R dealPreHave(@RequestParam Integer wrkNo) { | 
 |  |  |         String locNo = workService.dealPreHaveStart(wrkNo, getUserId()); | 
 |  |  |         return R.ok("任务重新入库,目标库位:" + locNo); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |