fuliqi
2024-11-07 3403a2462434da327d89311b4b9a75ab7a9b5c0f
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -114,14 +114,20 @@
    private RedisCache redisCache;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public synchronized Boolean innerAddWorkOrder(List<WorkOrder> workOrderList) {
        //避免坑(事务加锁会失效、方法内部调用事务会失效)
        WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class);
        return self.batchAddWorkOrder(workOrderList);
    }
    @Transactional(rollbackFor = Exception.class)
    public Boolean batchAddWorkOrder(List<WorkOrder> workOrderList){
        int total = workOrderList.size();
        // 查询出白名单列表
        List<String> serialNumbers = workOrderWhiteMapper.selectList().stream().map(WorkOrderWhite::getSerialNumber).collect(Collectors.toList());
        // 遍历工单列表,判断是否在白名单中
        workOrderList = workOrderList.stream().filter(item -> !serialNumbers.contains(item.getSerialNumber()))
                        .collect(Collectors.toList());
                .collect(Collectors.toList());
        workOrderList = workOrderList.stream().filter(item -> {
            return StringUtils.hasText(item.getSerialNumber()) && Objects.nonNull(item.getStatus()) && !CollectionUtils.isEmpty(item.getErrorTypeList());
        }).collect(Collectors.toList());
@@ -317,7 +323,6 @@
        log.info("传入工单总数: {},实际添加工单数:{}, 实际修改工单数:{}", total, waitAddList.size(), updateNum);
        return Boolean.TRUE;
    }
    /**
     * 添加
     *
@@ -563,6 +568,9 @@
     */
    @Override
    public Result removeById(String id) {
        WorkOrder workOrder = baseMapper.selectById(id);
        String workOrderNo = workOrder.getWorkOrderNo();
        workOrderDistributeRecordMapper.deleteByWorkOrder(workOrderNo);
        if (baseMapper.deleteById(id) > 0) {
            return Result.ok("删除成功");
        }
@@ -581,8 +589,8 @@
        if(query.getUnitId()==null) {
            query.setUnitId(SecurityUtils.getUnitId());
        }
        query.setStart(DateUtils.getDayStart(query.getStart()));
        query.setEnd(DateUtils.getDayEnd(query.getEnd()));
        if(query.getStart()!=null) query.setStart(DateUtils.getDayStart(query.getStart()));
        if(query.getEnd()!=null) query.setEnd(DateUtils.getDayEnd(query.getEnd()));
        baseMapper.page(page, query);
        if (!CollectionUtils.isEmpty(page.getRecords())) {
            page.getRecords().stream().forEach(item -> {
@@ -600,6 +608,8 @@
    @Override
    public Result distributePage(DistributeWorkOrderQuery query) {
        IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
        if(query.getStart()!=null) query.setStart(DateUtils.getDayStart(query.getStart()));
        if(query.getEnd()!=null) query.setEnd(DateUtils.getDayEnd(query.getEnd()));
        baseMapper.distributePage(page, query);
        return Result.ok().data(page).total(page.getTotal());
    }
@@ -1028,22 +1038,10 @@
    @Override
    public List<WorkOrderVO> export (WorkOrderExportQuery query){
        query.setUnitId(SecurityUtils.getUnitId());
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (query.getStart() == null) {
            query.setStart(format.format(DateUtils.getDayStart(new Date())));
        } else {
            query.setStart(query.getStart() + " 00:00:00");
        }
        if (query.getEnd() == null) {
            query.setEnd(format.format(DateUtils.getDayEnd(new Date())));
        } else {
            query.setEnd(query.getEnd() + " 23:59:59");
        }
        if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00");
        if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59");
        List<WorkOrderVO> export = baseMapper.export(query);
        System.out.println(export);
        return export;
        return baseMapper.export(query);
    }
    /**