shiyunteng
6 天以前 fc8c86e7a365d5c6bdc37c2b05b9f83115ac2bc3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package com.by4cloud.platformx.device.service.impl;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.DeviceRepair;
import com.by4cloud.platformx.device.entity.WorkOrder;
import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
import com.by4cloud.platformx.device.mapper.DeviceRepairMapper;
import com.by4cloud.platformx.device.mapper.WorkOrderMapper;
import com.by4cloud.platformx.device.service.DeviceRepairService;
import com.by4cloud.platformx.device.service.JcMaxSizeService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
 * 设备维修
 *
 * @author syt
 * @date 2025-03-31 13:51:53
 */
@Service
@AllArgsConstructor
public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepair> implements DeviceRepairService {
 
    private final DeviceInventoryMapper inventoryMapper;
    private final JcMaxSizeService maxSizeService;
    private final WorkOrderMapper workOrderMapper;
 
    @Override
    public R approved(Long id) {
        DeviceRepair repair = baseMapper.selectById(id);
        repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_REPAIRING);
        baseMapper.updateById(repair);
        DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
        inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_REPAIRING);
        inventoryMapper.updateById(inventory);
        return R.ok();
    }
 
    @Override
    public R complete(Long id) {
        DeviceRepair repair = baseMapper.selectById(id);
        repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_COMPLETE);
        baseMapper.updateById(repair);
        DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
        inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
        inventoryMapper.updateById(inventory);
        return R.ok();
    }
 
    @Override
    public IPage pageNew(Page page, DeviceRepairQueryDTO queryDTO) {
        return baseMapper.pageNew(page,queryDTO);
    }
 
    @Override
    public R genWorkOrder(Long id) {
        DeviceRepair repair = baseMapper.selectById(id);
        WorkOrder workOrder = new WorkOrder();
        workOrder.setRepairId(id);
        workOrder.setWoCode(maxSizeService.nextNo(MaxSizeContant.DEVICE_PURCHASE_CODE));
        workOrder.setWoDesc(repair.getRepairDesc());
        workOrder.setWoType(CommonStatusContant.WORK_ORDER_TYPE_REPAIR);
        workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_ALLOCATED);
        workOrderMapper.insert(workOrder);
        repair.setWoFlag(CommonStatusContant.DEVICE_REPAIR_FLAG_Y);
        baseMapper.updateById(repair);
        return R.ok();
    }
}