| | |
| | | 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.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.asrs.utils.Utils; |
| | | import com.zy.common.model.StartupDto; |
| | | import com.zy.common.utils.RoleUtils; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 工作流接口控制器 |
| | |
| | | private WorkService workService; |
| | | @Autowired |
| | | private BasDevpService basDevpService; |
| | | @Autowired |
| | | private StaDescService staDescService; |
| | | |
| | | @RequestMapping("/locMerge/out/start") |
| | | @ManagerAuth(memo = "并板出库") |
| | | public R locMergeOutStart(@RequestBody StockOutParam param) { |
| | | workService.locMergeOut(param, getUserId()); |
| | | return R.ok("出库启动成功"); |
| | | } |
| | | |
| | | @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(){ |
| | | return R.ok().add(basDevpService.getAvailableOutSite()); |
| | | Set<Map<String, Object>> result = new HashSet<>(); |
| | | EntityWrapper<StaDesc> wrapper = new EntityWrapper<>(); |
| | | // 不同继承角色显示不同库信息 |
| | | RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper); |
| | | wrapper.eq("type_no",101); |
| | | List<StaDesc> staDescs = staDescService.selectList(wrapper); |
| | | List<Integer> outSite = staDescs.stream().map(StaDesc::getStnNo).distinct().collect(Collectors.toList()); |
| | | // List<Integer> outSite = basDevpService.getAvailableOutSite(101); |
| | | for (Integer siteId : outSite) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("siteId", siteId); |
| | | map.put("desc","["+ Utils.getStaName(siteId)+"]"); |
| | | result.add(map); |
| | | } |
| | | |
| | | EntityWrapper<StaDesc> wrapper2 = new EntityWrapper<>(); |
| | | wrapper2.eq("type_no",103); |
| | | List<StaDesc> staDescs2 = staDescService.selectList(wrapper2); |
| | | List<Integer> pickOutSite = staDescs2.stream().map(StaDesc::getStnNo).distinct().collect(Collectors.toList()); |
| | | |
| | | // List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103); |
| | | for (Integer siteId : pickOutSite) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("siteId", siteId); |
| | | map.put("desc","["+ Utils.getStaName(siteId)+"]"); |
| | | result.add(map); |
| | | } |
| | | 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() |
| | | public R availableTakeCheckSite(){ |
| | | return R.ok().add(basDevpService.getAvailableOutSite(107)); |
| | | } |
| | | |
| | | @RequestMapping("/available/take/merge/site") |
| | | @ManagerAuth() |
| | | public R availableTakeMergeSite(){ |
| | | return R.ok().add(basDevpService.getAvailableOutSite(104)); |
| | | } |
| | | |
| | | @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()); |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | EntityWrapper<StaDesc> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("type_no",110); |
| | | // 不同继承角色显示不同库信息 |
| | | // RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper); |
| | | List<StaDesc> staDescs = staDescService.selectList(wrapper); |
| | | for (StaDesc staDesc : staDescs) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("siteId", staDesc.getStnNo()); |
| | | map.put("desc","["+ Utils.getStaName(staDesc.getStnNo())+"]"); |
| | | result.add(map); |
| | | } |
| | | return R.ok().add(result); |
| | | // 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") |
| | | @ManagerAuth(memo = "出库作业") |
| | | public R fullStoreTakeStart(@RequestBody StockOutParam param) { |
| | | workService.startupFullTakeStore(param, getUserId()); |
| | | return R.ok("出库启动成功"); |
| | | } |
| | | |
| | | @RequestMapping("/empty/plate/in/start") |
| | |
| | | return R.ok("入库启动成功").add(workService.emptyPlateIn(sourceStaNo, getUserId())); |
| | | } |
| | | |
| | | @RequestMapping("/plate/out/start") |
| | | @ManagerAuth(memo = "全板出库") |
| | | public R fullStoreTakeStart(EmptyPlateOutParam param) { |
| | | @RequestMapping("/empty/plate/out/start") |
| | | @ManagerAuth(memo = "空板出库") |
| | | public R emptyPlateOutStart(EmptyPlateOutParam param) { |
| | | workService.emptyPlateOut(param, getUserId()); |
| | | return R.ok("出库启动成功"); |
| | | } |
| | | |
| | | @RequestMapping("/empty/plate/out/start") |
| | | @ManagerAuth(memo = "空板出库") |
| | | public R emptyPlateOutStart(StockOutParam param) { |
| | | |
| | | @RequestMapping("/locCheck/out/start") |
| | | @ManagerAuth(memo = "盘点出库") |
| | | public R locCheckOutStart(@RequestBody StockOutParam param) { |
| | | workService.locCheckOut(param, getUserId()); |
| | | return R.ok("出库启动成功"); |
| | | } |
| | | |
| | |
| | | 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) { |
| | | workService.adjustLocDetl(param, getUserId()); |
| | | return R.ok("库存调整成功"); |
| | | } |
| | | |
| | | @RequestMapping("/hand/control/wrkMast") |
| | | @ManagerAuth(memo = "手动处理工作档") |
| | | public R handControlWrkMast(@RequestParam String workNo, |
| | | @RequestParam Integer type){ |
| | | if (type == 1) { |
| | | workService.completeWrkMast(workNo, getUserId()); |
| | | return R.ok("工作档已完成"); |
| | | } else if (type == 2) { |
| | | workService.cancelWrkMast(workNo, getUserId()); |
| | | return R.ok("工作档已取消"); |
| | | } else if (type == 3) { |
| | | workService.pickWrkMast(workNo, getUserId()); |
| | | 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); |
| | | } |
| | | |
| | | } |