|
@@ -11,15 +11,18 @@ import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainPageR
|
|
import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveVO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotlockstock.IotLockStockDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotlockstock.IotLockStockDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotoutbound.IotOutboundDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotoutbound.IotOutboundDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.material.IotMaintainMaterialDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.material.IotMaintainMaterialDO;
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.failure.IotFailureReportMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotlockstock.IotLockStockMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotlockstock.IotLockStockMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotoutbound.IotOutboundMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotoutbound.IotOutboundMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.material.IotMaintainMaterialMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.material.IotMaintainMaterialMapper;
|
|
import com.google.common.collect.ImmutableMap;
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -30,6 +33,7 @@ import java.math.BigDecimal;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
@@ -53,6 +57,8 @@ public class IotMaintainServiceImpl implements IotMaintainService {
|
|
private IotLockStockMapper iotLockStockMapper;
|
|
private IotLockStockMapper iotLockStockMapper;
|
|
@Resource
|
|
@Resource
|
|
private IotOutboundMapper iotOutboundMapper;
|
|
private IotOutboundMapper iotOutboundMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IotFailureReportMapper iotFailureReportMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -72,7 +78,10 @@ public class IotMaintainServiceImpl implements IotMaintainService {
|
|
return bean;
|
|
return bean;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
iotMaintainMaterialMapper.insertBatch(collect);
|
|
iotMaintainMaterialMapper.insertBatch(collect);
|
|
-
|
|
|
|
|
|
+ //本地库存减少且记录出库
|
|
|
|
+ if ("finished".equals(createReqVO.getMaintain().getStatus())){
|
|
|
|
+ localStockAndOut(createReqVO);
|
|
|
|
+ }
|
|
return iotMaintain.getId();
|
|
return iotMaintain.getId();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -95,6 +104,10 @@ public class IotMaintainServiceImpl implements IotMaintainService {
|
|
return bean;
|
|
return bean;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
iotMaintainMaterialMapper.insertBatch(collect);
|
|
iotMaintainMaterialMapper.insertBatch(collect);
|
|
|
|
+ //本地库存减少且记录出库
|
|
|
|
+ if ("finished".equals(updateReqVO.getMaintain().getStatus())){
|
|
|
|
+ localStockAndOut(updateReqVO);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -137,6 +150,19 @@ public class IotMaintainServiceImpl implements IotMaintainService {
|
|
iotOutboundMapper.insert(outboundDO);
|
|
iotOutboundMapper.insert(outboundDO);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+ //更新故障上报的状态为工单处理完成
|
|
|
|
+ IotMaintainSaveReqVO iotMaintain = maintainSaveVO.getMaintain();
|
|
|
|
+ if (Objects.nonNull(iotMaintain.getFailureId())){
|
|
|
|
+ IotFailureReportDO iotFailureReportDO = iotFailureReportMapper.selectById(iotMaintain.getFailureId());
|
|
|
|
+ if (Objects.nonNull(iotFailureReportDO)){
|
|
|
|
+ iotFailureReportDO.setStatus("orderfinished");
|
|
|
|
+ iotFailureReportMapper.updateById(iotFailureReportDO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //todo 异步消息通知逻辑
|
|
|
|
+ CompletableFuture.runAsync(()->{
|
|
|
|
+
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|