| | |
| | | return acc; |
| | | }, {}); |
| | | return { |
| | | matnrId: el.id, |
| | | maktx: el.name, |
| | | matnrCode: el.code, |
| | | stockUnit: el.stockUnit || '', |
| | | purUnit: el.purchaseUnit || '', |
| | | matnrId: el.matnrId, |
| | | maktx: el.maktx, |
| | | matnrCode: el.matnrCode, |
| | | anfme: el.anfme, |
| | | batch: el.batch, |
| | | spec: el.spec, |
| | | model: el.model, |
| | | stockUnit: el.unit || '', |
| | | ...dynamicFields |
| | | } |
| | | })) |
| | | })); |
| | | setData([...data, ...value]); |
| | | |
| | | console.log(data); |
| | | setOpen(false); |
| | | reset(); |
| | | }; |
| | |
| | | editable: true, |
| | | }, |
| | | { |
| | | field: 'poCode', |
| | | headerName: translate('table.field.outStockItem.poDetlCode'), |
| | | minWidth: 100, |
| | | flex: 1, |
| | | editable: true, |
| | | }, |
| | | { |
| | | field: 'stockUnit', |
| | | headerName: translate('table.field.outStockItem.stockUnit'), |
| | | minWidth: 100, |
| | |
| | | return R.ok("完成任务成功").add(taskService.operateComplete(id, getLoginUserId())); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 拣料出库(用于测试拣料出库) |
| | | * @return |
| | |
| | | return R.ok().add(transferService.getLocsItems(params, getLoginUserId())); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 下载模板 |
| | |
| | | @ApiModelProperty(value= "修改人员") |
| | | private Long updateBy; |
| | | |
| | | @ApiModelProperty("供应商ID") |
| | | private Long splrId; |
| | | |
| | | /** |
| | | * 修改时间 |
| | | */ |
| | |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); |
| | | } |
| | | |
| | | |
| | | |
| | | public Boolean getStatusBool(){ |
| | | if (null == this.status){ return null; } |
| | |
| | | public void outStockComplete() { |
| | | List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getType, OrderType.ORDER_OUT.type) |
| | | .eq(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val) |
| | | .apply("anfme = work_qty") |
| | | ); |
| | | if (wkOrders.isEmpty()) { |
| | |
| | | */ |
| | | private void moveOrderToLog(List<WkOrder> wkOrders, String type) { |
| | | Set<Long> longSet = wkOrders.stream().map(WkOrder::getId).collect(Collectors.toSet()); |
| | | List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().in(WkOrderItem::getOrderId, longSet)); |
| | | List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>() |
| | | .in(WkOrderItem::getOrderId, longSet)); |
| | | if (orderItems.isEmpty()) { |
| | | throw new CoolException("收货明细为空!!"); |
| | | } |
| | |
| | | } |
| | | |
| | | List<AsnOrderItemLog> logs = new ArrayList<>(); |
| | | List<WkOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, order.getId())); |
| | | List<WkOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getOrderId, order.getId())); |
| | | items.forEach(item -> { |
| | | AsnOrderItemLog itemLog = new AsnOrderItemLog(); |
| | | BeanUtils.copyProperties(item, itemLog); |
| | | itemLog.setAsnItemId(itemLog.getId()) |
| | | .setId(null) |
| | | .setLogId(orderLog.getId()) |
| | | .setAsnId(item.getOrderId()); |
| | | logs.add(itemLog); |
| | |
| | | } |
| | | } |
| | | |
| | | if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>().in(WkOrderItem::getOrderId, longSet))) { |
| | | if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>() |
| | | .in(WkOrderItem::getOrderId, longSet))) { |
| | | throw new CoolException("原单据明细删除失败!!"); |
| | | } |
| | | if (!this.asnOrderService.removeByIds(longSet)) { |
| | |
| | | List<Task> vaildTasks = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getId, longSet)); |
| | | taskService.completeTask(vaildTasks); |
| | | |
| | | List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>() |
| | | .eq(TaskItem::getWkType, OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type) |
| | | .in(TaskItem::getTaskId, longSet)); |
| | | if (!taskItems.isEmpty()) { |
| | | genInStock(taskItems); |
| | | } |
| | | // List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>() |
| | | // .eq(TaskItem::getWkType, OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type) |
| | | // .in(TaskItem::getTaskId, longSet)); |
| | | // if (!taskItems.isEmpty()) { |
| | | // genInStock(taskItems); |
| | | // } |
| | | } |
| | | |
| | | /** |
| | |
| | | Set<Long> orderIds = taskItems.stream().map(TaskItem::getSourceId).collect(Collectors.toSet()); |
| | | List<WkOrder> wkOrders = outStockService.list(new LambdaQueryWrapper<WkOrder>().in(WkOrder::getId, orderIds)); |
| | | wkOrders.forEach(wkOrder -> { |
| | | List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, wkOrder.getId())); |
| | | List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getOrderId, wkOrder.getId())); |
| | | if (!orderItems.isEmpty()) { |
| | | WkOrder order = new WkOrder(); |
| | | BeanUtils.copyProperties(wkOrder, order); |
| | | String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ASN_ORDER, order); |
| | | if (StringUtils.isNotBlank(ruleCode)) { |
| | | if (StringUtils.isBlank(ruleCode)) { |
| | | throw new CoolException("入库单号生成失败!!"); |
| | | } |
| | | order.setWkType(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type) |
| | |
| | | .setType(OrderType.ORDER_OUT.type); |
| | | } else if (!Objects.isNull(orderItem) && StringUtils.isNotBlank(orderItem.getId() + "")) { |
| | | WkOrder wkOrder = asnOrderService.getById(orderItem.getOrderId()); |
| | | wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val); |
| | | if (!asnOrderService.updateById(wkOrder)) { |
| | | throw new CoolException("出库单更新失败!!"); |
| | | } |
| | | stock.setWkType(Short.parseShort(wkOrder.getWkType())) |
| | | .setType(OrderType.ORDER_OUT.type); |
| | | } else if (!Objects.isNull(diffItem)) { |
| | |
| | | package com.vincent.rsf.server.manager.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.Query; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | BeanUtils.copyProperties(wkOrder, order); |
| | | order.setType(OrderType.ORDER_IN.type) |
| | | .setWkType(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type) |
| | | .setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val) |
| | | .setId(null); |
| | | String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ASN_ORDER, order); |
| | | if (StringUtils.isBlank(ruleCode)) { |
| | |
| | | .eq(!Objects.isNull(params.getOrgAreaId()), Loc::getAreaId, params.getOrgAreaId())); |
| | | |
| | | Page<LocItem> page = new Page<>(params.getCurrent(), params.getPageSize()); |
| | | LambdaQueryWrapper<LocItem> wrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | wrapper.eq(StringUtils.isNotBlank(params.getMatnrCode()), LocItem::getMatnrCode, params.getMatnrCode().trim()) |
| | | .like(StringUtils.isNotBlank(params.getMaktx().trim()), LocItem::getMaktx, params.getMaktx().trim()); |
| | | QueryWrapper<LocItem> wrapper = new QueryWrapper<>(); |
| | | wrapper.select("id, matnr_id, maktx, matnr_code, anfme, work_qty, qty, batch, unit, fields_index, model, spec, loc_id ") |
| | | .lambda() |
| | | .eq(StringUtils.isNotBlank(params.getMatnrCode()), LocItem::getMatnrCode, params.getMatnrCode()) |
| | | .like(StringUtils.isNotBlank(params.getMaktx()), LocItem::getMaktx, params.getMaktx()); |
| | | if (!locs.isEmpty()) { |
| | | Set<Long> locIds = locs.stream().map(Loc::getId).collect(Collectors.toSet()); |
| | | wrapper.in(LocItem::getLocId, locIds); |
| | | wrapper.lambda().in(LocItem::getLocId, locIds) |
| | | .groupBy(LocItem::getBatch, LocItem::getFieldsIndex, LocItem::getMatnrCode); |
| | | return locItemService.page(page, wrapper); |
| | | } else { |
| | | return locItemService.page(page, wrapper); |