|  |  |  | 
|---|
|  |  |  | 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.RequestParam; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 工作流接口控制器 | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private StaDescService staDescService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/locMerge/out/start") | 
|---|
|  |  |  | @ManagerAuth(memo = "并板出库") | 
|---|
|  |  |  | public R locMergeOutStart(@RequestBody StockOutParam param) { | 
|---|
|  |  |  | workService.locMergeOut(param, getUserId()); | 
|---|
|  |  |  | return R.ok("出库启动成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/locMerge/out/start/sxk") | 
|---|
|  |  |  | @ManagerAuth(memo = "并板出库") | 
|---|
|  |  |  | public R locMergeOutStartSxk(@RequestBody StockOutParam param) { | 
|---|
|  |  |  | workService.locMergeOutSxk(param, getUserId()); | 
|---|
|  |  |  | return R.ok("出库启动成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/put/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availablePutSite(){ | 
|---|
|  |  |  | public R availablePutSite() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getAvailableInSite()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/empty/put/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableEmptyPutSite(){ | 
|---|
|  |  |  | public R availableEmptyPutSite() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getAvailableEmptyInSite()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/take/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableTakeSite(){ | 
|---|
|  |  |  | List<Map<String, Object>> result = new ArrayList<>(); | 
|---|
|  |  |  | List<Integer> outSite = basDevpService.getAvailableOutSite(101); | 
|---|
|  |  |  | for (Integer siteId : outSite) { | 
|---|
|  |  |  | public R availableTakeSite() { | 
|---|
|  |  |  | Set<Map<String, Object>> result = new HashSet<>(); | 
|---|
|  |  |  | EntityWrapper<StaDesc> wrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | wrapper.eq("type_no", 101).eq("crn_no", 1).orderBy("stn_no", true); | 
|---|
|  |  |  | List<StaDesc> staDescs = staDescService.selectList(wrapper); | 
|---|
|  |  |  | for (StaDesc site : staDescs) { | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("siteId", siteId); | 
|---|
|  |  |  | map.put("desc", siteId + "(全板出库口)"); | 
|---|
|  |  |  | map.put("siteId", site.getStnNo()); | 
|---|
|  |  |  | map.put("desc", site.getStnDesc() + site.getStnNo()); | 
|---|
|  |  |  | result.add(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103); | 
|---|
|  |  |  | for (Integer siteId : pickOutSite) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | EntityWrapper<StaDesc> wrapper2 = new EntityWrapper<>(); | 
|---|
|  |  |  | wrapper2.eq("type_no", 103).eq("crn_no", 1).orderBy("stn_no", true); | 
|---|
|  |  |  | List<StaDesc> staDescs2 = staDescService.selectList(wrapper2); | 
|---|
|  |  |  | for (StaDesc site : staDescs2) { | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("siteId", siteId); | 
|---|
|  |  |  | map.put("desc", siteId + "(拣料出库口)"); | 
|---|
|  |  |  | map.put("siteId", site.getStnNo()); | 
|---|
|  |  |  | map.put("desc", site.getStnDesc() + site.getStnNo()); | 
|---|
|  |  |  | result.add(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok().add(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/crn/available/take/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R crnAvailableTakeSite(){ | 
|---|
|  |  |  | public R crnAvailableTakeSite() { | 
|---|
|  |  |  | List<Map<String, Object>> result = new ArrayList<>(); | 
|---|
|  |  |  | List<Integer> outSite = basDevpService.getCrnAvailableOutSite(101); | 
|---|
|  |  |  | for (Integer siteId : outSite) { | 
|---|
|  |  |  | if (siteId < 1100) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("siteId", siteId); | 
|---|
|  |  |  | map.put("desc", siteId + "(全板出库口)"); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Integer> pickOutSite = basDevpService.getCrnAvailableOutSite(103); | 
|---|
|  |  |  | for (Integer siteId : pickOutSite) { | 
|---|
|  |  |  | if (siteId < 1100) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("siteId", siteId); | 
|---|
|  |  |  | map.put("desc", siteId + "(拣料出库口)"); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/take/check/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableTakeCheckSite(){ | 
|---|
|  |  |  | return R.ok().add(basDevpService.getAvailableOutSite(107)); | 
|---|
|  |  |  | public R availableTakeCheckSite() { | 
|---|
|  |  |  | List<Integer> availableOutSite = basDevpService.getAvailableOutSite(107); | 
|---|
|  |  |  | List<Integer> data = new ArrayList<>(); | 
|---|
|  |  |  | for (Integer x : availableOutSite) { | 
|---|
|  |  |  | if (x < 1100) { | 
|---|
|  |  |  | data.add(x); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok().add(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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(){ | 
|---|
|  |  |  | public R availableTakeCheckSiteCrn() { | 
|---|
|  |  |  | EntityWrapper<StaDesc> staDescEntityWrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | staDescEntityWrapper.eq("type_no",107); | 
|---|
|  |  |  | staDescEntityWrapper.eq("type_no", 107); | 
|---|
|  |  |  | staDescEntityWrapper.setSqlSelect("DISTINCT stn_no as stnNo"); | 
|---|
|  |  |  | staDescEntityWrapper.in("crn_no",1,2,3,4,5,6,7); | 
|---|
|  |  |  | staDescEntityWrapper.in("crn_no", 1); | 
|---|
|  |  |  | return R.ok().add(staDescService.selectList(staDescEntityWrapper)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/take/check/site/ctu") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableTakeCheckSiteCtu(){ | 
|---|
|  |  |  | public R availableTakeCheckSiteCtu() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getAvailableOutSite(107)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/take/check/site/shuttle") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableTakeCheckSiteShuttle(){ | 
|---|
|  |  |  | public R availableTakeCheckSiteShuttle() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getAvailableOutSite(107)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/crn/empty/take/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availablecrnEmptyTakeSite(){ | 
|---|
|  |  |  | public R availablecrnEmptyTakeSite() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getCrnAvailableEmptyOutSite()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/shuttle/empty/take/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableshuttleEmptyTakeSite(){ | 
|---|
|  |  |  | public R availableshuttleEmptyTakeSite() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getShuttleAvailableEmptyOutSite()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/ctu/empty/take/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availablectuEmptyTakeSite(){ | 
|---|
|  |  |  | public R availablectuEmptyTakeSite() { | 
|---|
|  |  |  | return R.ok().add(basDevpService.getCtuAvailableEmptyOutSite()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/available/empty/take/site") | 
|---|
|  |  |  | @ManagerAuth() | 
|---|
|  |  |  | public R availableEmptyTakeSite(){ | 
|---|
|  |  |  | public R availableEmptyTakeSite() { | 
|---|
|  |  |  | List<Map<String, Object>> result = new ArrayList<>(); | 
|---|
|  |  |  | EntityWrapper<StaDesc> wrapper = new EntityWrapper<>(); | 
|---|
|  |  |  | wrapper.eq("type_no",110); | 
|---|
|  |  |  | wrapper.eq("type_no", 110); | 
|---|
|  |  |  | // 不同继承角色显示不同库信息 | 
|---|
|  |  |  | RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper); | 
|---|
|  |  |  | //        RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper); | 
|---|
|  |  |  | List<StaDesc> staDescs = staDescService.selectList(wrapper); | 
|---|
|  |  |  | List<Integer> collect = staDescs.stream().map(StaDesc::getStnNo).distinct().collect(Collectors.toList()); | 
|---|
|  |  |  | return R.ok().add(collect); | 
|---|
|  |  |  | for (StaDesc staDesc : staDescs) { | 
|---|
|  |  |  | if (staDesc.getCrnNo() == 7) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String locNo = workService.startupFullPutStore(fullStoreParam, getUserId()); | 
|---|
|  |  |  | return R.ok("入库启动成功").add(locNo); | 
|---|
|  |  |  | } catch (Exception e){ | 
|---|
|  |  |  | return R.error("入库启动失败==>"+e.getMessage()); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | return R.error("入库启动失败==>" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.ok("出库启动成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/locCheck/out/start/sxk") | 
|---|
|  |  |  | @ManagerAuth(memo = "盘点出库") | 
|---|
|  |  |  | public R locCheckOutStartsxk(@RequestBody StockOutParam param) { | 
|---|
|  |  |  | workService.locCheckOutsxk(param, getUserId()); | 
|---|
|  |  |  | return R.ok("出库启动成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping("/loc/move/start") | 
|---|
|  |  |  | @ManagerAuth(memo = "库位移转") | 
|---|
|  |  |  | public R locMoveStart(@RequestParam String sourceLocNo, | 
|---|
|  |  |  | 
|---|
|  |  |  | @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())){ | 
|---|
|  |  |  | 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){ | 
|---|
|  |  |  | if (param.getLocDetls().size() > 1) { | 
|---|
|  |  |  | return R.error("请单条数据修改,谨慎操作!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | workService.turnMatLocDetl(param, getUserId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestMapping("/hand/control/wrkMast") | 
|---|
|  |  |  | @ManagerAuth(memo = "手动处理工作档") | 
|---|
|  |  |  | public R handControlWrkMast(@RequestParam String workNo, | 
|---|
|  |  |  | @RequestParam Integer type){ | 
|---|
|  |  |  | @RequestParam Integer type) { | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | workService.completeWrkMast(workNo, getUserId()); | 
|---|
|  |  |  | return R.ok("工作档已完成"); | 
|---|