| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vincent.rsf.framework.common.R; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.manager.controller.params.IsptOrderParam; |
| | | import com.vincent.rsf.server.manager.controller.params.QlyInspectAndItem; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.QlyIsptResult; |
| | | import com.vincent.rsf.server.manager.enums.QlyIsptStatus; |
| | | import com.vincent.rsf.server.manager.mapper.QlyInspectMapper; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | |
| | | if (Objects.isNull(map.get("asnCode"))) { |
| | | throw new CoolException("收货单据明细编码不能为空!!"); |
| | | } |
| | | AsnOrder asnOrder = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>() |
| | | .eq(AsnOrder::getCode, map.get("asnCode")) |
| | | .ne(AsnOrder::getNtyStatus, 0)); |
| | | if (Objects.isNull(asnOrder)) { |
| | | WkOrder wkOrder = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getCode, map.get("asnCode")) |
| | | .ne(WkOrder::getNtyStatus, 0)); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("单据不存在!!"); |
| | | } |
| | | List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>() |
| | |
| | | if (Objects.isNull(param.getIds()) || param.getIds().isEmpty()) { |
| | | throw new CoolException("单据ID不能为空!!"); |
| | | } |
| | | List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds())); |
| | | if (asnOrders.isEmpty()) { |
| | | List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>().in(WkOrder::getId, param.getIds())); |
| | | if (wkOrders.isEmpty()) { |
| | | throw new CoolException("单据不存在!!"); |
| | | } |
| | | // List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds())); |
| | |
| | | List<WarehouseAreasItem> orderItems = warehouseAreasItemService.list(new LambdaQueryWrapper<WarehouseAreasItem>() |
| | | .in(WarehouseAreasItem::getAsnId, param.getIds())); |
| | | Map<Long, List<WarehouseAreasItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(WarehouseAreasItem::getAsnId)); |
| | | for (AsnOrder asnOrder : asnOrders) { |
| | | for (WkOrder wkOrder : wkOrders) { |
| | | QlyInspect inspect = new QlyInspect(); |
| | | String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, null); |
| | | if (StringUtils.isBlank(ruleCode)) { |
| | | throw new CoolException("策略错误:请检查策略「" + SerialRuleCode.SYS_INSPECT_CODE + "」是否设置正确!!"); |
| | | } |
| | | inspect.setCode(ruleCode) |
| | | .setWkType(asnOrder.getWkType()) |
| | | .setWkType(wkOrder.getWkType()) |
| | | .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_ING.val) |
| | | .setCreateBy(loginUserId) |
| | | .setAsnId(asnOrder.getId()) |
| | | .setAsnCode(asnOrder.getCode()); |
| | | .setAsnId(wkOrder.getId()) |
| | | .setAsnCode(wkOrder.getCode()); |
| | | /**获取单据明细*/ |
| | | List<WarehouseAreasItem> asnOrderItems = listMap.get(asnOrder.getId()); |
| | | List<WarehouseAreasItem> asnOrderItems = listMap.get(wkOrder.getId()); |
| | | if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) { |
| | | continue; |
| | | } |
| | | double anfme = asnOrderItems.stream().mapToDouble(WarehouseAreasItem::getAnfme).sum(); |
| | | inspect.setRcptQty(anfme); |
| | | if (!this.save(inspect)) { |
| | | throw new CoolException("单据" + asnOrder.getCode() + "保存失败!!"); |
| | | throw new CoolException("单据" + wkOrder.getCode() + "保存失败!!"); |
| | | } |
| | | List<QlyIsptItem> items = new ArrayList<>(); |
| | | for (WarehouseAreasItem orderItem : asnOrderItems) { |
| | |
| | | if (Objects.isNull(qlyInspect.getAsnCode()) || StringUtils.isBlank(qlyInspect.getAsnCode())) { |
| | | throw new CoolException("收货单号不能为空!!"); |
| | | } |
| | | AsnOrder asnOrder = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, qlyInspect.getAsnCode())); |
| | | if (Objects.isNull(asnOrder)) { |
| | | WkOrder wkOrder = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getId, qlyInspect.getAsnCode())); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("收货单不存在!!"); |
| | | } |
| | | qlyInspect.setAsnCode(asnOrder.getCode()).setAsnId(asnOrder.getId()); |
| | | qlyInspect.setAsnCode(wkOrder.getCode()).setAsnId(wkOrder.getId()); |
| | | |
| | | return this.save(qlyInspect); |
| | | } |