# 工单无法删除 ## 截图 ![](../../../../attachment/images-uuid/891cc3810e024b93b805f1380032bbdb.png) ![](../../../../attachment/images-uuid/8349d62cb06c4b7ea584f03c353238b8.png) ## 问题原因 查看两个工单的域名为已经删除的域名,属于 catch+ 开发人员手动调接口删除。 但是因为客户之前走过两个错误类型的工单,导致当运维想要关闭工单的时候无法进行操做。 ## 解决方案 1、首先确认最后运维工程师审批时需要修改的表。 2、代码中主要涉及表的修改位置为: ```java com.cmcc.cdn.platform.selfservice.service.impl.AdaptWorkOrderServiceImpl#handle (com.cmcc.cdn.platform.selfservice.entity.User, com.cmcc.cdn.platform.portal.domain.workorder.WorkOrder, com.cmcc.cdn.platform.portal.enums.WorkOrderEnums.Button, java.util.Map) ``` 3、其中涉及表格 工程师记录:`config_change_work_order_additional` 工单表:`work_order` catch 需求变更:`work_order_adaptconfig_change` 通过走正常流程对比,需要做如下改动: 1、修改 work_order 的 status 为 finished 2、删除 work_order 中对应的 approval_user_id 3、work_order_adaptconfig_change 表的 state 和 finish 字段修改为 END 和 1 ## 本次处理数据为 `work_order` 324019 --> 005-20230111002 --> cfn.migufun.com 324017 --> 005-20230111001 --> metalive.migufun.com `work_order_adaptconfig_change` 301 300 ## SQL ```sql update work_order set status = 'finished' where id = 324019 and code = '005-20230111002'; update work_order set status = 'finished' where id = 324017 and code = '005-20230111001'; UPDATE work_order SET approval_user_id = NULL where id = 324019 and code = '005-20230111002'; UPDATE work_order SET approval_user_id = NULL where id = 324017 and code = '005-20230111001'; update work_order_adaptconfig_change set state = 'END' where id = 301; update work_order_adaptconfig_change set state = 'END' where id = 300; update work_order_adaptconfig_change set finish = 1 where id = 301; update work_order_adaptconfig_change set finish = 1 where id = 300; ```