skyouc
7 天以前 671b836ea629891889fad234c135f7e6f4b17745
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
@@ -8,6 +8,7 @@
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.*;
@@ -37,6 +38,9 @@
    @Autowired
    private QlyIsptItemService qlyIsptItemService;
    @Autowired
    private CompanysService companysService;
    @Autowired
    private WarehouseAreasItemService warehouseAreasItemService;
@@ -105,9 +109,12 @@
        String code = params.get("asnCode");
        List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService
                .list(new QueryWrapper<WarehouseAreasItem>()
                        .select("asn_id as id, SUM(anfme) anfme, SUM(qty) qty, area_id, area_name, asn_code, asn_id")
                        .select("asn_id as id, SUM(anfme) anfme, SUM(qty) qty, area_id, area_name, asn_code, asn_id, splr_id, splr_batch")
                        .eq(StringUtils.isNotBlank(code), "asn_code", code)
                        .lambda()
                        .isNull(WarehouseAreasItem::getIsptResult)
                        .lt(WarehouseAreasItem::getWorkQty, 1)
                        .lt(WarehouseAreasItem::getQty, 1)
                .groupBy(WarehouseAreasItem::getAsnCode));
        return warehouseAreasItems;
    }
@@ -126,15 +133,18 @@
        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()).eq(AsnOrder::getNtyStatus, 0));
        List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()));
        if (asnOrders.isEmpty()) {
            throw new CoolException("单据不存在!!");
        }
        List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds()));
        if (orderItems.isEmpty()) {
            throw new CoolException("单据明细不存在!!");
        }
        Map<Long, List<AsnOrderItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
//        List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds()));
//        if (orderItems.isEmpty()) {
//            throw new CoolException("单据明细不存在!!");
//        }
        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) {
            QlyInspect inspect = new QlyInspect();
            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, null);
@@ -148,23 +158,27 @@
                    .setAsnId(asnOrder.getId())
                    .setAsnCode(asnOrder.getCode());
            /**获取单据明细*/
            List<AsnOrderItem> asnOrderItems = listMap.get(asnOrder.getId());
            List<WarehouseAreasItem> asnOrderItems = listMap.get(asnOrder.getId());
            if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) {
                continue;
            }
            double rcptQty = asnOrderItems.stream().mapToDouble(AsnOrderItem::getQty).sum();
            double anfme = asnOrderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
            inspect.setRcptQty(rcptQty).setDlyQty(anfme);
            double anfme = asnOrderItems.stream().mapToDouble(WarehouseAreasItem::getAnfme).sum();
            inspect.setRcptQty(anfme);
            if (!this.save(inspect)) {
                throw new CoolException("单据" + asnOrder.getCode() + "保存失败!!");
            }
            List<QlyIsptItem> items = new ArrayList<>();
            for (AsnOrderItem orderItem : asnOrderItems) {
            for (WarehouseAreasItem orderItem : asnOrderItems) {
                QlyIsptItem isptItem = new QlyIsptItem();
                BeanUtils.copyProperties(orderItem, isptItem);
                isptItem.setAsnItemId(orderItem.getId())
                        .setIspectId(inspect.getId())
                        .setRcptQty(orderItem.getQty())
                        .setRcptQty(orderItem.getAnfme())
                        .setRcptId(orderItem.getId())
                        .setAnfme(0.0)
                        .setFieldsIndex(orderItem.getFieldsIndex())
                        .setSplrBatch(orderItem.getSplrBatch())
                        .setSplrName(orderItem.getSplrId$())
                        .setCreateBy(loginUserId)
                        .setDlyQty(orderItem.getAnfme());
                items.add(isptItem);
@@ -173,9 +187,9 @@
                throw new CoolException("明细保存失败!!");
            }
        }
        if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).set(AsnOrder::getNtyStatus, 1))) {
            throw new CoolException("报检状态修改失败!!");
        }
//        if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()))) {
//            throw new CoolException("报检状态修改失败!!");
//        }
        return R.ok("保存成功!!");
    }