| | |
| | | import com.zy.common.model.StartupDto; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.web.param.SearchLocParam; |
| | | import com.alibaba.fastjson.JSON; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | |
| | | @PostMapping("/pakin/loc/v1") |
| | | @ResponseBody |
| | | public synchronized R getLocNo(@RequestBody SearchLocParam param) { |
| | | public synchronized R getLocNo(@RequestBody SearchLocParam param, HttpServletRequest request) { |
| | | long startTime = System.currentTimeMillis(); |
| | | if (param != null && request != null) { |
| | | log.info("[getLocNo] cache: {}", JSON.toJSONString(param)); |
| | | request.setAttribute("cache", param); |
| | | } |
| | | String barcode = param == null ? null : param.getBarcode(); |
| | | Integer sourceStaNo = param == null ? null : param.getSourceStaNo(); |
| | | try { |
| | |
| | | locTypeDto.setLocType2((short) 1); |
| | | } |
| | | |
| | | StartupDto dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins); |
| | | StartupDto dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins,param.getWeight()); |
| | | log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarcode()); |
| | | return R.ok().add(dto); |
| | | } finally { |
| | |
| | | * 全板入库 |
| | | */ |
| | | @Transactional |
| | | public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) { |
| | | public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins, BigDecimal weight) { |
| | | long startTime = System.currentTimeMillis(); |
| | | try { |
| | | // 源站点状态检测 |
| | |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("N"); // 空板 |
| | | wrkMast.setLinkMis("Y"); |
| | | wrkMast.setScWeight(weight); |
| | | // 把 referenceId/orderNo 透传到工作主档,便于作业完成后继续回传给 IoT。 |
| | | wrkMast.setUserNo(waitPakins.get(0).getOrderNo()); |
| | | wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 |
| | |
| | | wrkDetl.setIoTime(wrkMast.getIoTime()); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setWeight(wrkMast.getScWeight()); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作明细失败"); |
| | | } |
| | |
| | | if (locMast.getLocSts().equals("O")) { |
| | | locMast.setLocSts("S"); // S.入库预约 |
| | | locMast.setModiTime(now); |
| | | locMast.setScWeight(weight); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("改变库位状态失败"); |
| | | } |