zouyu
6 天以前 e50a43bb067adff10cd1dcc81349b1aafdfda882
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -104,6 +104,7 @@
    private InsUnqualifiedHandlerMapper insUnqualifiedHandlerMapper;
    private final NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
    @Override
    public Result selectStandardTreeListByPartNo(String partNo) {
@@ -115,7 +116,7 @@
        for (FactoryDto factoryDto : factoryDtos) {
            for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
                for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
                    if (sampleTypeDto.getChildren().size() == 0) {
                    if (sampleTypeDto.getChildren().isEmpty()) {
                        sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
                    }
                    // 判断绑定的是否是当前零件号
@@ -170,7 +171,7 @@
     * @return
     */
    @Override
    public int inspectionReport(List<Long> ids,String orderType) {
    public int inspectionReport(List<Long> ids,String orderType,String materialProp) {
        Integer userId = SecurityUtils.getUserId().intValue();
        ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
                .in(IfsInventoryQuantity::getId, ids)
@@ -178,6 +179,7 @@
                .set(IfsInventoryQuantity::getDeclareUserId, userId)
                .set(IfsInventoryQuantity::getIsInspect, 1)
                .set(IfsInventoryQuantity::getOrderType,orderType)
                .set(IfsInventoryQuantity::getMaterialProp,materialProp)
                .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now())
        );
        threadPoolTaskExecutor.execute(() -> {
@@ -253,6 +255,7 @@
                .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now())
                .set(IfsInventoryQuantity::getUpdateBatchNo, ifsInventoryQuantity.getUpdateBatchNo())
                .set(IfsInventoryQuantity::getOrderType,ifsInventoryQuantity.getOrderType())
                .set(IfsInventoryQuantity::getMaterialProp,ifsInventoryQuantity.getMaterialProp())
        );
        threadPoolTaskExecutor.execute(() -> {
@@ -892,7 +895,7 @@
        inAttrMap.put("BATCH_INFO", batchInfoData);
        String inAttr = JSONObject.toJSONString(inAttrMap);
        //调用ifs接口
        Result result = ifsApiUtils.updateMoveReceiptLot(inAttr);
        Result result = ifsApiUtils.updateMoveReceiptLot(ifsInventoryQuantity.getContract(),inAttr);
        if(result.getCode()!=200){
            throw new RuntimeException("IFS采购接收更改批号请求异常:"+result.getMessage());
        }
@@ -914,7 +917,7 @@
        }
        //ifs更改批号接口调用成功,拉取新拆分的ifs订单并报检
        Map<String, Object> map = new HashMap<>();
        map.put("LOCATION_NO","1302");
//        map.put("LOCATION_NO","1302");
        map.put("STATE_DB","To be Inspected");
        map.put("PART_NO",ifsInventoryQuantity.getPartNo());
        map.put("ORDER_NO",ifsInventoryQuantity.getOrderNo());
@@ -938,20 +941,21 @@
        if(Objects.nonNull(splitOrderList) && !splitOrderList.isEmpty()){
            List<Long> ids = splitOrderList.stream().map(IfsInventoryQuantity::getId).collect(Collectors.toList());
            ids.add(ifsInventoryQuantity.getId());
            this.inspectionReport(ids,OrderType.RAW.getValue());
            this.inspectionReport(ids,OrderType.RAW.getValue(),orderSplitDTO.getMaterialProp());
        }
        //勾选同步到MES,保存订单拆分记录
        if(orderSplitDTO.getPushToMes()){
            List<IfsSplitOrderRecord> collect = orderSplitDTO.getSplitDetailList().stream().map(m -> {
            orderSplitDTO.getSplitDetailList().forEach(m -> {
                IfsSplitOrderRecord record = new IfsSplitOrderRecord();
                BeanUtil.copyProperties(m, record);
                record.setSystemNo(splitOrderRecordNumberGenerator.generateNumberWithPrefix(IfsSplitOrderRecord.DIGIT, IfsSplitOrderRecord.PREFIX, IfsSplitOrderRecord::getSystemNo));
                record.setOrderNo(ifsInventoryQuantity.getOrderNo());
                record.setLineNo(ifsInventoryQuantity.getLineNo());
                record.setReleaseNo(ifsInventoryQuantity.getReleaseNo());
                record.setReceiptNo(ifsInventoryQuantity.getReceiptNo());
                return record;
            }).collect(Collectors.toList());
            return ifsSplitOrderRecordService.saveBatch(collect);
                ifsSplitOrderRecordService.save(record);
            });
            return true;
        }
        return false;
    }