| | |
| | | import com.zy.api.enums.OrderType; |
| | | import com.zy.api.enums.OrderWkType; |
| | | import com.zy.api.service.KopenApiService; |
| | | import com.zy.asrs.entity.CheckOrder; |
| | | import com.zy.asrs.entity.CheckOrderDetl; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.enums.CommonEnum; |
| | | import com.zy.asrs.enums.OrderSettle; |
| | | import com.zy.asrs.enums.OrderTypeEnum; |
| | | import com.zy.asrs.service.CheckOrderDetlService; |
| | | import com.zy.asrs.service.CheckOrderService; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.service.*; |
| | | |
| | | import com.zy.asrs.service.impl.BasAreasServiceImpl; |
| | | import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl; |
| | | import com.zy.asrs.service.impl.OrderPakinServiceImpl; |
| | | import com.zy.asrs.service.impl.OrderPakoutServiceImpl; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | private String port; |
| | | @Value("${kopen.prefix}") |
| | | private String prefix; |
| | | @Autowired |
| | | private BasAreasService basAreasService; |
| | | @Autowired |
| | | private OrderPakinService orderPakinService; |
| | | @Autowired |
| | | private OrderDetlPakinService orderDetlPakinService; |
| | | @Autowired |
| | | private OrderPakoutService orderPakoutService; |
| | | @Autowired |
| | | private OrderDetlPakoutService orderDetlPakoutService; |
| | | |
| | | |
| | | /** |
| | |
| | | if (Objects.isNull(params.getCompany_id())) { |
| | | throw new CoolException("公司ID不能为空!!"); |
| | | } |
| | | |
| | | addOrUpdateOrders(params, type); |
| | | }); |
| | | |
| | |
| | | /** 不存在,新增订单 */ |
| | | generateOrders(params, type); |
| | | } else { |
| | | if (order.getSettle() == 2) { |
| | | throw new CoolException("订单已处理,不可再变更!!"); |
| | | } |
| | | /** 存在,删除老订单,更新插入新订单 */ |
| | | // 删除旧订单明细 |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("订单明细删除失败!!"); |
| | | if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) { |
| | | // 入库 |
| | | OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", order.getOrderNo())); |
| | | if (!Objects.isNull(orderPakin) && orderPakin.getSettle() != 1) { |
| | | throw new CoolException("订单已处理,不可再变更!!"); |
| | | } |
| | | /** 存在,删除老订单,更新插入新订单 */ |
| | | if (!orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderPakin.getOrderNo()))) { |
| | | throw new CoolException("订单删除失败!!"); |
| | | } |
| | | |
| | | if (!orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderPakin.getOrderNo()))) { |
| | | throw new CoolException("主单删除失败!!"); |
| | | } |
| | | } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) { |
| | | // 出库 |
| | | if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType()) |
| | | || OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType()) || |
| | | OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) { |
| | | // 备货指示派工单(EO/SO)出库 |
| | | OrderPakout orderPakin = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", order.getOrderNo())); |
| | | if (!Objects.isNull(orderPakin) && orderPakin.getSettle() != 1) { |
| | | throw new CoolException("订单已处理,不可再变更!!"); |
| | | } |
| | | |
| | | /** 存在,删除老订单,更新插入新订单 */ |
| | | if (!orderPakoutService.delete(new EntityWrapper<OrderPakout>().eq("order_no", orderPakin.getOrderNo()))) { |
| | | throw new CoolException("订单删除失败!!"); |
| | | } |
| | | |
| | | if (!orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderPakin.getOrderNo()))) { |
| | | throw new CoolException("主单删除失败!!"); |
| | | } |
| | | } else { |
| | | throw new CoolException("单据类型不存在,不支持添加!!"); |
| | | } |
| | | } |
| | | |
| | | if (!orderService.deleteById(order.getId())) { |
| | | order.setSettle(3L); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("原单据删除失败!!"); |
| | | } |
| | | generateOrders(params, type); |
| | | // generateOrders(params, type); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | newOrder.setPakinPakoutStatus(2); |
| | | } |
| | | |
| | | //单据类型 |
| | | newOrder.setShipName(type); |
| | | newOrder.setUuid(generateUUID(params)); |
| | | // 流水号(唯一) |
| | | newOrder.setDefNumber(params.getKopen_id()); |
| | |
| | | } |
| | | if (!Objects.isNull(params.getDetails()) && !params.getDetails().isEmpty()) { |
| | | params.getDetails().forEach(item -> { |
| | | Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", item.getPro_komcode())); |
| | | Mat matnr = matService.selectOne(new EntityWrapper<Mat>() |
| | | .eq("supp_code", item.getPro_id()) |
| | | .eq("matnr", item.getPro_komcode())); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("物料编码不存在!!"); |
| | | } |
| | |
| | | } else { |
| | | locDetlDto.setLock_qty(Integer.parseInt(item.getDiffQty().toString())); |
| | | } |
| | | |
| | | if (item.getBookQty().compareTo(BigDecimal.ZERO) == 0) { |
| | | locDetlDto.setStock_qty(0); |
| | | locDetlDto.setStock_qty(item.getAnfme().intValue()); |
| | | } else { |
| | | locDetlDto.setStock_qty(Integer.parseInt(item.getBookQty().toString())); |
| | | } |
| | | LocDetl barcode = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", item.getZpallet())); |
| | | if (!Objects.isNull(barcode)) { |
| | | BasAreas areas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("id", barcode.getAreaId())); |
| | | if (!Objects.isNull(areas)) { |
| | | locDetlDto.setTarget_location(areas.getName()); |
| | | } |
| | | } |
| | | locDetlDto |
| | | .setPro_komcode(item.getMatnr()) |
| | | .setPro_id(item.getStandby1()) |
| | | .setLocation_no(item.getZpallet()) |
| | | .setTarget_location(""); |
| | | .setLocation_no(item.getZpallet()); |
| | | dtos.add(locDetlDto); |
| | | }); |
| | | return XSR.ok(dtos); |
| | |
| | | checkOrderDetl.setStatus(1); |
| | | checkOrderDetl.setZpallet(locDetl.getZpallet()); |
| | | checkOrderDetl.setCreateBy(userId); |
| | | checkOrderDetl.setCreateTime(new Date()); |
| | | // checkOrderDetl.setCreateTime(new Date()); |
| | | checkOrderDetl.setUpdateBy(userId); |
| | | checkOrderDetl.setUpdateTime(new Date()); |
| | | // checkOrderDetl.setUpdateTime(new Date()); |
| | | |
| | | if (!checkOrderDetlService.insert(checkOrderDetl)) { |
| | | throw new CoolException("保存盘点单明细失败"); |