src/main/java/com/zy/asrs/controller/MobileController.java
@@ -15,7 +15,6 @@ import com.zy.asrs.service.*; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.model.WrkDto; import com.zy.common.model.enumUtils.OrderEnumVo; import com.zy.common.utils.Synchro; import com.zy.common.web.BaseController; import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; @@ -207,11 +206,13 @@ LinkedList<CombParam.CombMat> combMats = new LinkedList<>(); for (OrderDetl orderDetl : orderDetls) { CombParam.CombMat combMat = new CombParam.CombMat(); Synchro.Copy(orderDetl, combMat); combMat.setMatnr(orderDetl.getMatnr()); combMat.setBatch(orderDetl.getBatch()); combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty()); combMat.setMaktx(orderDetl.getMaktx()); combMat.setSpecs(orderDetl.getSpecs()); combMat.setEnableQty(orderDetl.getAnfme() - orderDetl.getWorkQty()); combMats.add(combMat); } combParam.setCombMats(combMats); @@ -240,7 +241,7 @@ MatParam matParam = new MatParam(); Synchro.Copy(mat, matParam); matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode()); matParam.setAnfme(12D); matParam.setAnfme(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue()); return R.ok().add(matParam); } @@ -501,6 +502,27 @@ return R.ok(); } @RequestMapping("/checkDetl/auth/v2") @ManagerAuth public R getCheckDetlV2(@RequestParam(required = false) String barcode) { if (Cools.isEmpty(barcode)) { return R.ok(); } WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); if (wrkMast != null && (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 57)) { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); if (!Cools.isEmpty(wrkDetls)) { MobileAdjustResult result = new MobileAdjustResult(); result.setBarcode(barcode); result.setWrkNo(wrkMast.getWrkNo()); result.setWrkDetls(wrkDetls); return R.ok().add(result); } } return R.ok(); } @RequestMapping("/adjust/auth") @ManagerAuth(memo = "盘点") public R adjust(@RequestBody MobileAdjustParam combParam) { src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -25,8 +25,7 @@ @Data public static class CombMat { // 条码 private String vbarcode; private Long id; private String orderNo; @@ -47,6 +46,9 @@ // 物料数量 private Double anfme; // 物料数量 private Double enableQty; // 商品名称 private String maktx; src/main/java/com/zy/asrs/entity/param/MatParam.java
@@ -192,5 +192,9 @@ * 备注 */ private String memo; /** * 备注 */ private Integer times = 0; } src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java
@@ -13,6 +13,8 @@ private Integer staNo; private String barcode; private Integer wrkNo; private List<WrkDetl> wrkDetls; src/main/java/com/zy/asrs/entity/result/MobileAdjustResult.java
@@ -13,6 +13,8 @@ private Integer staNo; private String barcode; private Integer wrkNo; private List<WrkDetl> wrkDetls; src/main/java/com/zy/asrs/service/WorkService.java
@@ -102,4 +102,6 @@ void turnMatLocDetl(EmptyPlateOutParam param, Long userId); void adjustLocDetl2(LocDetlAdjustParam param, Long userId); } src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -17,7 +17,6 @@ import com.zy.common.model.DetlDto; import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.CommonService; import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -47,6 +46,8 @@ private BasDevpService basDevpService; @Autowired private WrkMastService wrkMastService; @Autowired private WorkService workService; @Autowired private WrkDetlService wrkDetlService; @Autowired @@ -605,6 +606,12 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); waitPakin.setBoxType1(detlDto.getBoxType1()); waitPakin.setBoxType2(detlDto.getBoxType2()); waitPakin.setBoxType3(detlDto.getBoxType3()); waitPakin.setStandby1(detlDto.getStandby1()); waitPakin.setStandby2(detlDto.getStandby2()); waitPakin.setStandby3(detlDto.getStandby3()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } @@ -620,7 +627,6 @@ List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { // 订单明细数量校验 // OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); @@ -662,6 +668,12 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); waitPakin.setBoxType1(detlDto.getBoxType1()); waitPakin.setBoxType2(detlDto.getBoxType2()); waitPakin.setBoxType3(detlDto.getBoxType3()); waitPakin.setStandby1(detlDto.getStandby1()); waitPakin.setStandby2(detlDto.getStandby2()); waitPakin.setStandby3(detlDto.getStandby3()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } @@ -731,14 +743,14 @@ @Override @Transactional public void adjust(MobileAdjustParam param, Long userId) { BasDevp basDevp = basDevpService.selectById(param.getStaNo()); if (null == basDevp || basDevp.getWrkNo() == null) { throw new CoolException(param.getStaNo() + "盘点站无效"); } if (!param.getWrkNo().equals(basDevp.getWrkNo())) { throw new CoolException(param.getStaNo() + "盘点站更新,请重新检索"); } WrkMast wrkMast = wrkMastService.selectById(param.getWrkNo()); // BasDevp basDevp = basDevpService.selectById(param.getStaNo()); // if (null == basDevp || basDevp.getWrkNo() == null) { // throw new CoolException(param.getStaNo() + "盘点站无效"); // } // if (!param.getWrkNo().equals(basDevp.getWrkNo())) { // throw new CoolException(param.getStaNo() + "盘点站更新,请重新检索"); // } WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); if (wrkMast.getWrkSts() < 10) { throw new CoolException("盘点无效,任务已盘点再入库"); } @@ -746,7 +758,10 @@ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<WrkDetl> list = param.getWrkDetls(); LocDetlAdjustParam adjustParam = new LocDetlAdjustParam(); List<LocDetlAdjustParam.LocDetlAdjust> locDetlAdjusts = new ArrayList<>(); adjustParam.setLocNo(wrkMast.getSourceLocNo()); // 修改数量 Iterator<WrkDetl> iterator = wrkDetls.iterator(); while (iterator.hasNext()) { @@ -796,15 +811,22 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败"); } } } List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls1) { LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()); locDetlAdjusts.add(locDetlAdjust); } // 修改盘点任务主档状态 wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0 ? "Y" : "N"); wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N"); wrkMast.setModiTime(now); wrkMast.setModiUser(userId); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("修改盘点任务主档失败"); } adjustParam.setList(locDetlAdjusts); workService.adjustLocDetl2(adjustParam, userId); } src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -49,18 +49,29 @@ private TagService tagService; @Autowired private TagMapper tagMapper; @Autowired private OrderDetlPakoutServiceImpl orderDetlPakoutService; @Autowired private OrderPakoutServiceImpl orderPakoutService; @Autowired private OrderPakinServiceImpl orderPakinService; @Override @Transactional public void pakinOrderCreate(OpenOrderPakinParam param) { Order order = orderService.selectByNo(param.getOrderNo()); if (!Cools.isEmpty(order)) { OrderPakin orderPakin = orderPakinService.selectByNo(param.getOrderNo()); if (!Cools.isEmpty(orderPakin)) { if (orderPakin.getSettle() > 1L) { throw new CoolException(param.getOrderNo() + "单据已存在,请勿重复提交"); } orderPakinService.remove(orderPakin.getId()); Order order = orderService.selectByNo(param.getOrderNo()); orderService.remove(order.getId()); } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); Date now = new Date(); // 单据主档 order = new Order( Order order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] param.getOrderNo(), // 订单编号 DateUtils.convert(now), // 单据日期 @@ -215,19 +226,20 @@ @Override @Transactional public void pakoutOrderCreate(OpenOrderPakoutParam param) { Order order = orderService.selectByNo(param.getOrderNo()); OrderPakout orderPakout = orderPakoutService.selectByNo(param.getOrderNo()); // 如果单据不存在则添加;如果单据存在,作业中无法修改,反之则修改单据 if (!Cools.isEmpty(order)) { if (order.getSettle() > 1L) { //TODO //throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据"); if (!Cools.isEmpty(orderPakout)) { if (orderPakout.getSettle() > 1L) { throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据"); } orderService.remove(order.getId()); orderService.remove(orderPakout.getId()); Order order = orderService.selectByNo(param.getOrderNo()); orderPakoutService.remove(order.getId()); } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); Date now = new Date(); // 单据主档 order = new Order( Order order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] param.getOrderNo(), // 订单编号 DateUtils.convert(now), // 单据日期 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1055,6 +1055,226 @@ } } @Override @Transactional public void adjustLocDetl2(LocDetlAdjustParam param, Long userId) { param.integrate(); LocMast locMast = locMastService.selectById(param.getLocNo()); if (Cools.isEmpty(locMast)) { throw new CoolException("库位不存在"); } if (!(locMast.getLocSts().equals("P"))) { throw new CoolException("当前库位不可调整!库位状态:" + locMast.getLocSts$()); } Date now = new Date(); List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo())); List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList(); // 添加历史工作主档 WrkMastLog wrkMast = new WrkMastLog(); wrkMast.setIoTime(now); wrkMast.setWrkSts(5); wrkMast.setIoPri(13D); // 优先级 wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locMast.getLocNo()); wrkMast.setLocNo(locMast.getLocNo()); wrkMast.setBarcode(locMast.getBarcode()); // 托盘码 wrkMast.setFullPlt("Y"); // 满板:Y wrkMast.setPicking("N"); // 拣料 wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("N"); // 空板 wrkMast.setLinkMis("Y"); // 操作人员数据 wrkMast.setAppeTime(now); wrkMast.setModiTime(now); wrkMast.setAppeUser(userId); wrkMast.setModiUser(userId); // 增删改只创建一次工作主档 boolean updateFlag = true; boolean deleteFlag = true; boolean addFlag = true; // 修改数量 Iterator<LocDetl> iterator = locDetls.iterator(); while (iterator.hasNext()) { LocDetl locDetl = iterator.next(); Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator(); while (iterator1.hasNext()) { LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); if (adjust.getCount() == 0) { continue; } if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) { if (!locDetl.getAnfme().equals(adjust.getCount())) { // todo 盘点记录 // 修改库存 if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号修改数量失败"); } // 保存调整记录 AdjDetl adjDetl = new AdjDetl(); adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(adjust.getCount()); adjDetl.setModiTime(now); adjDetl.setModiUser(userId); adjDetl.setAppeTime(now); adjDetl.setAppeUser(userId); adjDetlService.save(adjDetl, userId); if (updateFlag) { wrkMast.setWrkNo(commonService.getWorkNo(3)); wrkMast.setIoType(23); boolean res = wrkMastLogService.insert(wrkMast); if (!res) { throw new CoolException("库存调整-修改 保存工作档失败"); } updateFlag = false; } // 添加历史工作明细 WrkDetlLog wrkDetl = new WrkDetlLog(); wrkDetl.sync(locDetl); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAnfme(adjust.getCount()); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); wrkMast.setAppeUser(userId); wrkMast.setModiUser(userId); if (!wrkDetlLogService.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } } iterator.remove(); iterator1.remove(); } } } // 删除库存 for (LocDetl locDetl : locDetls) { // todo 盘点记录 if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { throw new CoolException("删除" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); } // 保存调整记录 AdjDetl adjDetl = new AdjDetl(); adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(0.0D); adjDetl.setModiTime(now); adjDetl.setModiUser(userId); adjDetl.setAppeTime(now); adjDetl.setAppeUser(userId); adjDetlService.save(adjDetl, userId); if (deleteFlag) { wrkMast.setWrkNo(commonService.getWorkNo(3)); wrkMast.setIoType(22); boolean res = wrkMastLogService.insert(wrkMast); if (!res) { throw new CoolException("库存调整-删除 保存工作档失败"); } deleteFlag = false; } // 添加历史工作明细 WrkDetlLog wrkDetl = new WrkDetlLog(); wrkDetl.sync(locDetl); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAnfme(0.0); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); wrkMast.setAppeUser(userId); wrkMast.setModiUser(userId); if (!wrkDetlLogService.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } } // 添加库存 for (LocDetlAdjustParam.LocDetlAdjust adjust : list) { if (adjust.getCount() == 0.0D) { continue; } Mat mat = matService.selectByMatnr(adjust.getMatnr()); LocDetl locDetl = new LocDetl(); locDetl.sync(mat); locDetl.setBatch(adjust.getBatch()); locDetl.setLocNo(locMast.getLocNo()); locDetl.setZpallet(locMast.getBarcode()); locDetl.setAnfme(adjust.getCount()); // 数量 locDetl.setModiUser(userId); // 操作人员信息 locDetl.setModiTime(now); locDetl.setAppeUser(userId); locDetl.setAppeTime(now); if (!locDetlService.insert(locDetl)) { throw new CoolException("添加" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); } // 保存调整记录 AdjDetl adjDetl = new AdjDetl(); adjDetl.setLocNo(locMast.getLocNo()); adjDetl.setMatnr(adjust.getMatnr()); adjDetl.setBatch(adjust.getBatch()); adjDetl.setOriQty(0.0D); adjDetl.setAdjQty(adjust.getCount()); adjDetl.setModiTime(now); adjDetl.setModiUser(userId); adjDetl.setAppeTime(now); adjDetl.setAppeUser(userId); adjDetlService.save(adjDetl, userId); if (addFlag) { wrkMast.setWrkNo(commonService.getWorkNo(3)); wrkMast.setIoType(21); boolean res = wrkMastLogService.insert(wrkMast); if (!res) { throw new CoolException("库存调整-新增 保存工作档失败"); } addFlag = false; } // 添加历史工作明细 WrkDetlLog wrkDetl = new WrkDetlLog(); wrkDetl.sync(locDetl); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAnfme(adjust.getCount()); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); wrkMast.setAppeUser(userId); wrkMast.setModiUser(userId); if (!wrkDetlLogService.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } } // 修改库位状态 int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); if (locMast.getLocSts().equals("F")) { if (count == 0) { locMast.setLocSts("D"); } } if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) { if (count > 0) { locMast.setLocSts("F"); } } locMast.setModiUser(userId); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { throw new CoolException("更新库位状态失败"); } } @Override @Transactional src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -141,7 +141,15 @@ if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>().eq("status", 2)); for (InventoryCheckOrder inventoryCheckOrder : inventoryCheckOrders) { try { ReturnT<String> result = orderSyncHandler.reportCheck(inventoryCheckOrder); if (!result.isSuccess()) { log.error("盘点单[orderNo={}]上报erp失败", inventoryCheckOrder.getOrderNo()); } } catch (Exception e) { log.error(e.getMessage()); log.error("盘点单[orderNo={}]上报erp失败", inventoryCheckOrder.getOrderNo()); } } } } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -1,14 +1,10 @@ package com.zy.asrs.task.handler; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.service.ReportToThirdService; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.OrderInAndOutUtil; @@ -35,6 +31,9 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; @Autowired private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; @Autowired private DocTypeService docTypeService; @@ -176,4 +175,13 @@ } @Transactional public ReturnT<String> reportCheck(InventoryCheckOrder checkOrder) { List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrder.getOrderNo())); for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls){ } return SUCCESS; } } src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -141,7 +141,8 @@ return FAIL.setMsg("全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } } catch (Exception ignore){} } catch (Exception ignore) { } } // 修改库位状态 S ====>> F @@ -244,7 +245,8 @@ return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } } catch (Exception ignore){} } catch (Exception ignore) { } } // 修改库位状态 Q ====>> F @@ -462,7 +464,8 @@ return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } } catch (Exception ignore){} } catch (Exception ignore) { } } // 删除工作档源库位的库存明细 if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { @@ -513,7 +516,8 @@ return FAIL.setMsg("并板途中捡料 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } } catch (Exception ignore){} } catch (Exception ignore) { } } break; // 空板出库 src/main/java/com/zy/common/web/WcsController.java
@@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * Created by vincent on 2020/10/30 @@ -150,7 +149,9 @@ } EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); emptyPlateOutParam.setOutSite(12); emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}}); emptyPlateOutParam.setLocNos(new ArrayList<String>() {{ add(locMast.getLocNo() + ""); }}); WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam); return R.ok(!Cools.isEmpty(wrkMast)? R.ok("自动空托出库成功,工作号:" + wrkMast.getWrkNo()) : R.error("生成自动空托出库失败")); } @@ -167,7 +168,17 @@ // List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); // FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0)); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0)); StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); //TODO 测试 StartupDto dto = new StartupDto(); dto.setCrnNo(1); dto.setSourceStaNo(devpNo); dto.setStaNo(103); LocMast locMastxx = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O")); dto.setLocNo(locMastxx.getLocNo()); dto.setWorkNo(Math.round(1000)); //StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 生成工作档 src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -219,10 +219,6 @@ if (Cools.isEmpty(mat)) { throw new CoolException(nccScZkmxbWms.getWlbm() + "编号商品检索失败,请先添加商品"); } List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()).eq("batch", nccScZkmxbWms.getVbatchcode())); if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { //throw new CoolException(nccScZkmxbWms.getWlbm() + "盘点单的明细重复了"); } checkOrderDetl = new InventoryCheckOrderDetl(); checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm()); checkOrderDetl.setMaktx(mat.getMaktx());