|
|
@@ -21,23 +21,33 @@ import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorderrefuse
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemsuspend.BoilerTaskOrderItemSuspendDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulingitem.EquipBoilerSchedulingItemDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipeschedulingitem.EquipPipeSchedulingItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equippipeschedulingitemdetail.EquipPipeSchedulingItemDetailDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemsuspend.PipeTaskOrderItemSuspendDO;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.acceptorder.AcceptOrderMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorder.AppointmentConfirmOrderMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorderrefuseitem.AppointmentConfirmOrderRefuseItemMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemsuspend.BoilerTaskOrderItemSuspendMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equipboilerschedulingitem.EquipBoilerSchedulingItemMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipeschedulingitem.EquipPipeSchedulingItemMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equippipeschedulingitemdetail.EquipPipeSchedulingItemDetailMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemsuspend.PipeTaskOrderItemSuspendMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
|
|
|
import cn.start.tz.module.pressure2.service.equipmentreturnrecord.EquipmentReturnRecordService;
|
|
|
import cn.start.tz.module.system.api.clientunit.UnitContactApi;
|
|
|
import cn.start.tz.module.system.api.clientunit.dto.UnitContactDTO;
|
|
|
@@ -95,6 +105,18 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
|
|
|
@Resource
|
|
|
private EquipBoilerSchedulingItemMapper equipBoilerSchedulingItemMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private EquipPipeSchedulingItemDetailMapper equipPipeSchedulingItemDetailMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderItemSuspendMapper boilerTaskOrderItemSuspendMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderItemSuspendMapper pipeTaskOrderItemSuspendMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private EquipPipeDetailMapper equipPipeDetailMapper;
|
|
|
+
|
|
|
@Resource
|
|
|
private EquipPipeSchedulingItemMapper equipPipeSchedulingItemMapper;
|
|
|
|
|
|
@@ -116,6 +138,9 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
|
|
|
@Resource
|
|
|
private BoilerTaskOrderMapper boilerTaskOrderMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderMapper pipeTaskOrderMapper;
|
|
|
+
|
|
|
@Resource
|
|
|
private BpmProcessInstanceApi processInstanceApi;
|
|
|
|
|
|
@@ -256,9 +281,9 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
|
|
|
);
|
|
|
}else if (appointmentConfirmOrderDO.getEquipMainType() == 300){
|
|
|
//管道
|
|
|
- equipPipeSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDO>().
|
|
|
- eq(EquipPipeSchedulingItemDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
|
|
|
- eq(EquipPipeSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
+ equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>().
|
|
|
+ eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
|
|
|
+ eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
@@ -278,28 +303,45 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
|
|
|
);
|
|
|
}else if (appointmentConfirmOrderDO.getEquipMainType() == 300){
|
|
|
//管道
|
|
|
- equipPipeSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDO>().
|
|
|
- eq(EquipPipeSchedulingItemDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
|
|
|
- eq(EquipPipeSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
+ equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>().
|
|
|
+ eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
|
|
|
+ eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else if (orderType == 3) {
|
|
|
-// TaskOrderItemSuspendDO updateObj = new TaskOrderItemSuspendDO();
|
|
|
-// updateObj.setIsCancel(true);
|
|
|
-// taskOrderItemSuspendMapper.update(updateObj, new LambdaUpdateWrapper<TaskOrderItemSuspendDO>().
|
|
|
-// eq(TaskOrderItemSuspendDO::getOrderId, appointmentConfirmOrderRefuseItemDO.getOrderId()).
|
|
|
-// eq(TaskOrderItemSuspendDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId()));
|
|
|
-//
|
|
|
-// TaskOrderDO taskOrderDO = taskOrderMapper.selectById(appointmentConfirmOrderRefuseItemDO.getOrderId());
|
|
|
-// if (taskOrderDO != null) {
|
|
|
-// // 删除计划排期记录
|
|
|
-// equipContainerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipContainerSchedulingItemDO>().
|
|
|
-// eq(EquipContainerSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
|
|
|
-// eq(EquipContainerSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
-// );
|
|
|
-// }
|
|
|
+ BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(appointmentConfirmOrderRefuseItemDO.getOrderId());
|
|
|
+ if (taskOrderDO != null){
|
|
|
+ if (taskOrderDO.getEquipMainType() == 200){
|
|
|
+ //锅炉
|
|
|
+ BoilerTaskOrderItemSuspendDO updateObj = new BoilerTaskOrderItemSuspendDO();
|
|
|
+ updateObj.setIsCancel(true);
|
|
|
+ boilerTaskOrderItemSuspendMapper.update(updateObj, new LambdaUpdateWrapper<BoilerTaskOrderItemSuspendDO>().
|
|
|
+ eq(BoilerTaskOrderItemSuspendDO::getOrderId, appointmentConfirmOrderRefuseItemDO.getOrderId()).
|
|
|
+ eq(BoilerTaskOrderItemSuspendDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId()));
|
|
|
+
|
|
|
+ // 删除计划排期记录
|
|
|
+ equipBoilerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipBoilerSchedulingItemDO>().
|
|
|
+ eq(EquipBoilerSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
|
|
|
+ eq(EquipBoilerSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
+ );
|
|
|
+ }else if (taskOrderDO.getEquipMainType() == 300){
|
|
|
+ //管道
|
|
|
+ PipeTaskOrderItemSuspendDO updateObj = new PipeTaskOrderItemSuspendDO();
|
|
|
+ updateObj.setIsCancel(true);
|
|
|
+ pipeTaskOrderItemSuspendMapper.update(updateObj, new LambdaUpdateWrapper<PipeTaskOrderItemSuspendDO>().
|
|
|
+ eq(PipeTaskOrderItemSuspendDO::getOrderId, appointmentConfirmOrderRefuseItemDO.getOrderId()).
|
|
|
+ eq(PipeTaskOrderItemSuspendDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId()));
|
|
|
+
|
|
|
+ // 删除计划排期记录
|
|
|
+ equipPipeSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDO>().
|
|
|
+ eq(EquipPipeSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
|
|
|
+ eq(EquipPipeSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
appointmentConfirmOrderRefuseItemMapper.deleteById(yearCheckRollbackVO.getId());
|
|
|
@@ -311,20 +353,24 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
|
|
|
//锅炉
|
|
|
LambdaUpdateWrapper<EquipBoilerDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
updateWrapper.eq(EquipBoilerDO::getId, appointmentConfirmOrderRefuseItemDO.getEquipId());
|
|
|
- updateWrapper.set(EquipBoilerDO::getHasInternal, 0);
|
|
|
- updateWrapper.set(EquipBoilerDO::getHasExternal, 0);
|
|
|
- updateWrapper.set(EquipBoilerDO::getHasPressure, 0);
|
|
|
+ if (appointmentConfirmOrderRefuseItemDO.getCheckTypeName() != null){
|
|
|
+ switch (appointmentConfirmOrderRefuseItemDO.getCheckTypeName()) {
|
|
|
+ case "内部检验" -> updateWrapper.set(EquipBoilerDO::getHasInternal, 0);
|
|
|
+ case "外部检验" -> updateWrapper.set(EquipBoilerDO::getHasExternal, 0);
|
|
|
+ case "耐压检验" -> updateWrapper.set(EquipBoilerDO::getHasPressure, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
equipBoilerMapper.update(updateWrapper);
|
|
|
}else if (appointmentConfirmOrderRefuseItemDO.getEquipMainType() == 300){
|
|
|
//管道
|
|
|
- LambdaUpdateWrapper<EquipPipeDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- updateWrapper.eq(EquipPipeDO::getId, appointmentConfirmOrderRefuseItemDO.getEquipId());
|
|
|
+ LambdaUpdateWrapper<EquipPipeDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ updateWrapper.eq(EquipPipeDetailDO::getId, appointmentConfirmOrderRefuseItemDO.getEquipId());
|
|
|
if (Integer.valueOf(100).equals(appointmentConfirmOrderRefuseItemDO.getCheckType())) {
|
|
|
- updateWrapper.set(EquipPipeDO::getHasLegalScheduling, 0);
|
|
|
+ updateWrapper.set(EquipPipeDetailDO::getHasLegalScheduling, 0);
|
|
|
} else if (Integer.valueOf(200).equals(appointmentConfirmOrderRefuseItemDO.getCheckType())) {
|
|
|
- updateWrapper.set(EquipPipeDO::getHasYearScheduling, 0);
|
|
|
+ updateWrapper.set(EquipPipeDetailDO::getHasYearScheduling, 0);
|
|
|
}
|
|
|
- equipPipeMapper.update(updateWrapper);
|
|
|
+ equipPipeDetailMapper.update(updateWrapper);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -482,6 +528,113 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void noProcess(YearCheckIdVO yearCheckIdVO) {
|
|
|
+ AppointmentConfirmOrderRefuseItemDO item = appointmentConfirmOrderRefuseItemMapper.selectById(yearCheckIdVO.getId());
|
|
|
+ if (item == null) {
|
|
|
+ throw exception(new ErrorCode(1001, "约检确认单拒绝设备项目不存在"));
|
|
|
+ }
|
|
|
+ // 校验是否已为无需处理状态
|
|
|
+ if (Integer.valueOf(1).equals(item.getProcessStatus())) {
|
|
|
+ throw exception(new ErrorCode(1002, "该记录已为无需处理状态,不可重复操作"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新为无需处理状态
|
|
|
+ AppointmentConfirmOrderRefuseItemDO updateObj = new AppointmentConfirmOrderRefuseItemDO();
|
|
|
+ updateObj.setId(yearCheckIdVO.getId());
|
|
|
+ updateObj.setProcessStatus(1);
|
|
|
+ appointmentConfirmOrderRefuseItemMapper.updateById(updateObj);
|
|
|
+
|
|
|
+ Integer orderType = item.getOrderType();
|
|
|
+ // 清除排期计划关联的设备
|
|
|
+ if (orderType == null || orderType == 1) {
|
|
|
+ // 约检单:直接通过 orderId 获取确认单
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(item.getOrderId());
|
|
|
+ if (appointmentConfirmOrderDO != null) {
|
|
|
+ deleteSchedulingItemByConfirmOrder(appointmentConfirmOrderDO, item);
|
|
|
+ }
|
|
|
+ } else if (orderType == 2) {
|
|
|
+ // 受理单:先获取受理单,再通过 appointmentId 获取确认单
|
|
|
+ AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(item.getOrderId());
|
|
|
+ if (acceptOrderDO != null && StringUtils.isNotEmpty(acceptOrderDO.getAppointmentId())) {
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
|
|
|
+ if (appointmentConfirmOrderDO != null) {
|
|
|
+ deleteSchedulingItemByConfirmOrder(appointmentConfirmOrderDO, item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (orderType == 3) {
|
|
|
+ // 任务单:根据设备类型分别查询
|
|
|
+ if (item.getEquipMainType() == 200) {
|
|
|
+ BoilerTaskOrderDO taskOrder = boilerTaskOrderMapper.selectById(item.getOrderId());
|
|
|
+ if (taskOrder != null && StringUtils.isNotEmpty(taskOrder.getSchedulingId())) {
|
|
|
+ equipBoilerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipBoilerSchedulingItemDO>()
|
|
|
+ .eq(EquipBoilerSchedulingItemDO::getSchedulingId, taskOrder.getSchedulingId())
|
|
|
+ .eq(EquipBoilerSchedulingItemDO::getEquipId, item.getEquipId()));
|
|
|
+ }
|
|
|
+ } else if (item.getEquipMainType() == 300) {
|
|
|
+ PipeTaskOrderDO taskOrder = pipeTaskOrderMapper.selectById(item.getOrderId());
|
|
|
+ if (taskOrder != null && StringUtils.isNotEmpty(taskOrder.getSchedulingId())) {
|
|
|
+ equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>()
|
|
|
+ .eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, taskOrder.getSchedulingId())
|
|
|
+ .eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, item.getEquipId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 重置设备排期字段
|
|
|
+ resetEquipmentSchedulingFields(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据确认单删除排期计划关联的设备
|
|
|
+ */
|
|
|
+ private void deleteSchedulingItemByConfirmOrder(AppointmentConfirmOrderDO confirmOrder, AppointmentConfirmOrderRefuseItemDO item) {
|
|
|
+ if (confirmOrder.getEquipMainType() == 200) {
|
|
|
+ // 锅炉
|
|
|
+ equipBoilerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipBoilerSchedulingItemDO>()
|
|
|
+ .eq(EquipBoilerSchedulingItemDO::getSchedulingId, confirmOrder.getSchedulingId())
|
|
|
+ .eq(EquipBoilerSchedulingItemDO::getEquipId, item.getEquipId()));
|
|
|
+ } else if (confirmOrder.getEquipMainType() == 300) {
|
|
|
+ // 管道
|
|
|
+ equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>()
|
|
|
+ .eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, confirmOrder.getSchedulingId())
|
|
|
+ .eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, item.getEquipId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 重置设备排期字段
|
|
|
+ */
|
|
|
+ private void resetEquipmentSchedulingFields(AppointmentConfirmOrderRefuseItemDO item) {
|
|
|
+ if (item.getCheckType() == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (item.getEquipMainType() == 200) {
|
|
|
+ // 锅炉:重置 hasInternal、hasExternal、hasPressure
|
|
|
+ LambdaUpdateWrapper<EquipBoilerDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ updateWrapper.eq(EquipBoilerDO::getId, item.getEquipId());
|
|
|
+ if (item.getCheckTypeName() != null){
|
|
|
+ switch (item.getCheckTypeName()) {
|
|
|
+ case "内部检验" -> updateWrapper.set(EquipBoilerDO::getHasInternal, 0);
|
|
|
+ case "外部检验" -> updateWrapper.set(EquipBoilerDO::getHasExternal, 0);
|
|
|
+ case "耐压检验" -> updateWrapper.set(EquipBoilerDO::getHasPressure, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ equipBoilerMapper.update(updateWrapper);
|
|
|
+ } else if (item.getEquipMainType() == 300) {
|
|
|
+ // 管道:根据检验性质重置对应排期字段
|
|
|
+ LambdaUpdateWrapper<EquipPipeDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ updateWrapper.eq(EquipPipeDetailDO::getId, item.getEquipId());
|
|
|
+ if (Integer.valueOf(100).equals(item.getCheckType())) {
|
|
|
+ updateWrapper.set(EquipPipeDetailDO::getHasLegalScheduling, 0);
|
|
|
+ } else if (Integer.valueOf(200).equals(item.getCheckType())) {
|
|
|
+ updateWrapper.set(EquipPipeDetailDO::getHasYearScheduling, 0);
|
|
|
+ }
|
|
|
+ equipPipeDetailMapper.update(updateWrapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void migrateSbStatusEquipments() {
|
|
|
//TODO 待完善
|