Quellcode durchsuchen

上报市局调整

xy vor 1 Tag
Ursprung
Commit
3e4fcc53ca

+ 49 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemsuspend/PipeTaskOrderItemSuspendServiceImpl.java

@@ -1,15 +1,19 @@
 package cn.start.tz.module.pressure2.service.pipetaskorderitemsuspend;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.start.tz.module.pressure.enums.TaskOrderStatusEnum;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeTaskOrderSyncReportVO;
 import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorderrefuseitem.AppointmentConfirmOrderRefuseItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmrefuseyearitem.AppointmentConfirmRefuseYearItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
 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.equippipescheduling.EquipPipeSchedulingDO;
 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.pipetaskorderitem.PipeTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
@@ -17,7 +21,9 @@ import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorderrefuseitem.
 import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmrefuseyearitem.AppointmentConfirmRefuseYearItemMapper;
 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.equippipescheduling.EquipPipeSchedulingMapper;
 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.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
@@ -109,6 +115,12 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
     @Resource
     private EquipPipeSchedulingItemMapper equipPipeSchedulingItemMapper;
 
+    @Resource
+    private EquipPipeSchedulingItemDetailMapper equipPipeSchedulingItemDetailMapper;
+
+    @Resource
+    private EquipPipeSchedulingMapper equipPipeSchedulingMapper;
+
     @Resource
     private PipeTaskOrderService taskOrderService;
 
@@ -342,6 +354,33 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
                     }
                 }
 
+                //flag=0 无需上报 年度检验 拒检原因为检验项目调整,直接解除约检数据锁定,支持重新约检
+                if (submitReqVO.getFlag() == 0 && taskOrderDO.getCheckType() == 200){
+
+                    if (submitReqVO.getReasonDict() != null && "6".equals(submitReqVO.getReasonDict())){
+
+                        //重置设备排期标识
+                        if (ObjectUtil.isNotEmpty(refuseItemDOList)) {
+                            for (AppointmentConfirmOrderRefuseItemDO appointmentConfirmOrderRefuseItemDO : refuseItemDOList) {
+                                EquipPipeDetailDO detailDO = new EquipPipeDetailDO();
+                                detailDO.setId(appointmentConfirmOrderRefuseItemDO.getEquipId());
+                                if (Integer.valueOf(200).equals(appointmentConfirmOrderRefuseItemDO.getCheckType())) {
+                                    detailDO.setHasYearScheduling(false);
+                                }
+                                equipPipeDetailMapper.updateById(detailDO);
+                            }
+                        }
+
+                        //清除排期
+                        equipPipeSchedulingItemDetailMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingItemDetailDO>()
+                                .eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, taskOrderDO.getSchedulingId())
+                                .in(EquipPipeSchedulingItemDetailDO::getEquipDetailId, equipDetailIds)
+                        );
+
+                    }
+
+                }
+
                 //判断设备下的管线是否已删除完
                 List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOList = taskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
                         .eq(PipeTaskOrderItemDetailDO::getOrderItemId, taskOrderItemDO.getId()));
@@ -357,10 +396,15 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
 
                     // 删除排期中拒绝约检设备
                     if (StringUtils.isNotEmpty(taskOrderDO.getSchedulingId())) {
+                        //删除排期设备-工程
                         equipPipeSchedulingItemMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingItemDO>().
                                 eq(EquipPipeSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
                                 in(EquipPipeSchedulingItemDO::getEquipId, taskOrderItemDO.getEquipId())
                         );
+                        //删除排期设备-管道
+                        equipPipeSchedulingItemDetailMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingItemDetailDO>().
+                                eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, taskOrderDO.getSchedulingId())
+                        );
                     }
                 }
 
@@ -377,6 +421,11 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
                 .eq(PipeTaskOrderItemDO::getOrderId, orderId.get()));
         if (count == null || count == 0){
             updateDO.setTaskStatus(TaskOrderStatusEnum.CANCEL.getStatus());
+            //同步作废计划排期单
+            PipeTaskOrderDO taskOrderDO = taskOrderMapper.selectById(orderId.get());
+            if (taskOrderDO != null){
+                equipPipeSchedulingMapper.deleteById(taskOrderDO.getSchedulingId());
+            }
         }else{
             updateDO.setEquipNum(Math.toIntExact(count));
             //修改金额