diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java index b1a29efe..2a58da76 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java @@ -1145,4 +1145,6 @@ public interface EamMapper { void updateKnowledgeRecordByOrderNo(EamWorkOrderInData data); void saveKnowledgeRecord(EamWorkOrderInData data); + + void updateFeedBackStatus(EamWorkOrderInData inData); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java index 074bf8bb..e3cbb195 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java @@ -1635,6 +1635,7 @@ public class EamServiceImpl implements EamService { } @Override + @Transactional public void cancelOrder(EamWorkOrderInData inData){ List checkOrderStatus = eamMapper.checkEamOrderStatus(inData); if(checkOrderStatus.size() == 0){ @@ -1643,13 +1644,16 @@ public class EamServiceImpl implements EamService { if(!"未开工".equals(checkOrderStatus.get(0).getStatus())){ throw new RuntimeException("只有未开工的工单可以取消,请刷新界面"); } - // 取消工单 eamMapper.cancelOrder(inData); - // 判断是否取消该计划中该设备的所有工单 - if (inData.getCancelAll().equals("Y")) { + // 判断是否取消该计划中该设备的所有工单(只针对点检和维保) + if ("Y".equals(inData.getCancelAll()) && ("A".equals(inData.getFunctionType()) || "B".equals(inData.getFunctionType()))) { eamMapper.cancelOrderAll(inData); } + // 如果是维修,工单取消后要反刷计划状态 + if ("C".equals(inData.getFunctionType())) { + eamMapper.updateFeedBackStatus(inData); + } } @Override diff --git a/src/main/resources/mapper/pms/EamMapper.xml b/src/main/resources/mapper/pms/EamMapper.xml index bcc152ec..972ce926 100644 --- a/src/main/resources/mapper/pms/EamMapper.xml +++ b/src/main/resources/mapper/pms/EamMapper.xml @@ -1266,8 +1266,9 @@ - update eam_defect_feedBack set status='已取消' where FeedBackID=#{feedBackID} and site=#{site} - + update eam_defect_feedBack + set status = '已取消' + where FeedBackID = #{feedBackID} and site = #{site} @@ -2121,4 +2122,11 @@ (site, num, file_type, defect_describe, disposal_measures, create_date, create_by, object_id, defect_id, order_no) VALUES (#{site}, (select 'ZS'+ Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(num, 3, 10))), 0) + 1), 8) from eam_knowledge_base where site = #{site}), '维修', #{planDesc}, #{disposalMeasures}, getDate(), #{createBy}, #{objectID}, #{defectID}, #{orderNo}) + + + + UPDATE eam_defect_feedBack + SET Status = '已取消' + WHERE Site = #{site} AND FeedBackID = #{planID} +