zouyu
昨天 27a90e70749f5a569eda2c225d7b319b3c2d77a5
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -50,6 +50,7 @@
import com.ruoyi.inspect.service.RawMaterialOrderService;
import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.basic.vo.IfsInventoryQuantityVO;
import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
import com.ruoyi.system.mapper.UserMapper;
@@ -99,7 +100,7 @@
    private IfsSplitOrderRecordService ifsSplitOrderRecordService;
    private final NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
    @Override
    public Result selectStandardTreeListByPartNo(String partNo) {
@@ -111,7 +112,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()));
                    }
                    // 判断绑定的是否是当前零件号
@@ -146,8 +147,15 @@
    }
    @Override
    public IPage<IfsInventoryQuantity> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity) {
        return standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity));
    public IPage<IfsInventoryQuantityVO> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity) {
        IPage<IfsInventoryQuantityVO> ifsInventoryQuantityIPage = standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity));
        ifsInventoryQuantityIPage.getRecords().forEach(f->{
            Long count = ifsInventoryQuantityMapper.selectCount(Wrappers.<IfsInventoryQuantity>lambdaQuery()
                    .ne(IfsInventoryQuantity::getId,f.getId())
                    .eq(IfsInventoryQuantity::getUpdateBatchNo, f.getUpdateBatchNo()));
            f.setLotBatchNoHasRepeat(count>0);
        });
        return ifsInventoryQuantityIPage;
    }
    @Override
@@ -241,13 +249,32 @@
        threadPoolTaskExecutor.execute(() -> {
            IfsInventoryQuantity inventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryQuantity.getId());
            // 企业微信通知
            String message = "";
            message += "新增报检通知";
            message += "\n批次号: " + inventoryQuantity.getUpdateBatchNo();
            message += "\n零件描述: " + inventoryQuantity.getPartDesc();
            message += "\n抵达数量: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas();
            WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message);
            //查询相同批号的历史ifs订单
            List<IfsInventoryQuantity> historyRecords = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery()
                    .ne(IfsInventoryQuantity::getId, ifsInventoryQuantity.getId())
                    .eq(IfsInventoryQuantity::getIsInspect, 1)
                    .eq(IfsInventoryQuantity::getUpdateBatchNo, ifsInventoryQuantity.getUpdateBatchNo())
            );
            if(CollUtil.isEmpty(historyRecords)){
                // 企业微信通知
                String message = "";
                message += "新增报检通知";
                message += "\n批次号: " + inventoryQuantity.getUpdateBatchNo();
                message += "\n零件描述: " + inventoryQuantity.getPartDesc();
                message += "\n抵达数量: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas();
                WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message);
            }else{
                //获取历史抵达数量
                double sum = historyRecords.stream().map(IfsInventoryQuantity::getQtyArrived).mapToDouble(BigDecimal::doubleValue).sum();
                String historyQuantity = sum + inventoryQuantity.getBuyUnitMeas();
                String messageMarkdown = "";
                messageMarkdown += "新增报检通知";
                messageMarkdown += "\n批次号: <font color='warning'>" + inventoryQuantity.getUpdateBatchNo() + "</font>";
                messageMarkdown += "\n零件描述: "+ inventoryQuantity.getPartDesc();
                messageMarkdown += "\n抵达数量: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas();
                messageMarkdown += "\n历史抵达数量: " + historyQuantity;
                WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), messageMarkdown,"markdown");
            }
        });
        return 1;
    }
@@ -925,16 +952,17 @@
        }
        //勾选同步到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;
    }