| | |
| | | import com.zy.api.service.WcsApiService; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.CompleteParam; |
| | | import com.zy.asrs.enums.LocStsType; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.service.impl.LocDetlServiceImpl; |
| | | import com.zy.asrs.service.impl.MatServiceImpl; |
| | | import com.zy.asrs.service.impl.RowLastnoServiceImpl; |
| | | import com.zy.asrs.service.impl.WrkDetlServiceImpl; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.constant.MesConstant; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | private MatService matService; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | | private RowLastnoService rowLastnoService; |
| | | |
| | | /** |
| | | * 通知WCS锁定库位,及禁止当前库位的一切操作 |
| | |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 堆垛机执行状态上报 |
| | | * |
| | |
| | | |
| | | /** |
| | | * 獲取庫位信息 |
| | | * |
| | | * @param params |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 条码站入库申请 |
| | | * |
| | | * @param combParam |
| | | * @param l |
| | | * @return |
| | |
| | | public R combInPub(CompleteParam combParam, long l) { |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * WCS申请任务重新分配入库 |
| | | * |
| | | * @param params |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R repeatLoc(CompleteParam params) { |
| | | if (Objects.isNull(params.getTaskNo())) { |
| | | return R.error("工作号不能为空!!"); |
| | | } |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", params.getTaskNo())); |
| | | if (Objects.isNull(wrkMast)) { |
| | | return R.error("任务档不存在,或已加入历史档"); |
| | | } |
| | | LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); |
| | | if (Objects.isNull(locMast)) { |
| | | return R.error("库位信息不存在!!"); |
| | | } |
| | | |
| | | Integer whsType = Utils.GetWhsType(Integer.parseInt(wrkMast.getSourceStaNo())); |
| | | if (whsType.equals(1)) { |
| | | RowLastno lastno = rowLastnoService.selectById(whsType); |
| | | if (Objects.isNull(lastno)) { |
| | | return R.error("堆垛要策略不存在!!"); |
| | | } |
| | | if (locMast.getRow1().equals(141)) { |
| | | LocMast selectOne = locMastService.selectOne(new EntityWrapper<LocMast>() |
| | | .ne("row1", 141) |
| | | .ge("crn_no", lastno.getsCrnNo()) |
| | | .le("crn_no", lastno.geteCrnNo()) |
| | | .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type) |
| | | .orderAsc(Arrays.asList("row1", "bay1", "lev1"))); |
| | | if (!Objects.isNull(selectOne)) { |
| | | Map<String, Object> response = new HashMap<>(); |
| | | response.put("locNo", selectOne.getLocNo()); |
| | | |
| | | //原库位置空 |
| | | locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | locMastService.updateById(locMast); |
| | | |
| | | //新库位预约入库 |
| | | selectOne.setLocSts(LocStsType.LOC_STS_TYPE_S.type); |
| | | locMastService.updateById(selectOne); |
| | | |
| | | wrkMast.setLocNo(selectOne.getLocNo()); |
| | | wrkMastService.updateById(wrkMast); |
| | | |
| | | return R.ok().add(response); |
| | | } else { |
| | | return R.error("暂无可用库位!!"); |
| | | } |
| | | } else { |
| | | LocMast selectOne = locMastService.selectOne(new EntityWrapper<LocMast>() |
| | | .eq("crn_no", wrkMast.getCrnNo()) |
| | | .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type) |
| | | .orderAsc(Arrays.asList("row1", "bay1", "lev1"))); |
| | | if (!Objects.isNull(selectOne)) { |
| | | Map<String, Object> response = new HashMap<>(); |
| | | response.put("locNo", selectOne.getLocNo()); |
| | | |
| | | //原库位置空 |
| | | locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | locMastService.updateById(locMast); |
| | | |
| | | //新库位预约入库 |
| | | selectOne.setLocSts(LocStsType.LOC_STS_TYPE_S.type); |
| | | locMastService.updateById(selectOne); |
| | | |
| | | wrkMast.setLocNo(selectOne.getLocNo()); |
| | | wrkMastService.updateById(wrkMast); |
| | | |
| | | return R.ok().add(response); |
| | | } else { |
| | | return R.error("暂无可用库位!!"); |
| | | } |
| | | } |
| | | } else { |
| | | LocMast selectOne = locMastService.selectOne(new EntityWrapper<LocMast>() |
| | | .eq("crn_no", wrkMast.getCrnNo()) |
| | | .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type) |
| | | .orderAsc(Arrays.asList("row1", "bay1", "lev1"))); |
| | | if (!Objects.isNull(selectOne)) { |
| | | Map<String, Object> response = new HashMap<>(); |
| | | response.put("locNo", selectOne.getLocNo()); |
| | | |
| | | //原库位置空 |
| | | locMast.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | locMastService.updateById(locMast); |
| | | |
| | | //新库位预约入库 |
| | | selectOne.setLocSts(LocStsType.LOC_STS_TYPE_S.type); |
| | | locMastService.updateById(selectOne); |
| | | |
| | | wrkMast.setLocNo(selectOne.getLocNo()); |
| | | wrkMastService.updateById(wrkMast); |
| | | |
| | | return R.ok().add(response); |
| | | } else { |
| | | return R.error("暂无可用库位!!"); |
| | | } |
| | | } |
| | | } |
| | | } |