|
@@ -1,16 +1,29 @@
|
|
|
package cn.iocoder.yudao.module.pms.service.maintain;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.maintain.material.vo.IotMaintainMaterialSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainPageReqVO;
|
|
|
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.dal.dataobject.IotDeviceDO;
|
|
|
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.mysql.maintain.IotMaintainMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.maintain.material.IotMaintainMaterialMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_MAINTAIN_NOT_EXISTS;
|
|
|
|
|
@@ -25,12 +38,25 @@ public class IotMaintainServiceImpl implements IotMaintainService {
|
|
|
|
|
|
@Resource
|
|
|
private IotMaintainMapper iotMaintainMapper;
|
|
|
+ @Resource
|
|
|
+ private IotMaintainMaterialMapper iotMaintainMaterialMapper;
|
|
|
|
|
|
@Override
|
|
|
- public Long createIotMaintain(IotMaintainSaveReqVO createReqVO) {
|
|
|
- // 插入
|
|
|
- IotMaintainDO iotMaintain = BeanUtils.toBean(createReqVO, IotMaintainDO.class);
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Long createIotMaintain(IotMaintainSaveVO createReqVO) {
|
|
|
+ // 插入工单
|
|
|
+ IotMaintainDO iotMaintain = BeanUtils.toBean(createReqVO.getMaintain(), IotMaintainDO.class);
|
|
|
+ iotMaintain.setFailureCode("GZ"+ DateUtil.format(new Date(), "yyyyMMddHHmmss"));
|
|
|
+ iotMaintain.setFailureName(createReqVO.getMaintain().getDeviceName()+DateUtil.format(new Date(), "yyyyMMddHHmmss"));
|
|
|
iotMaintainMapper.insert(iotMaintain);
|
|
|
+ //插入工单物料
|
|
|
+ List<IotMaintainMaterialSaveReqVO> maintainMaterials = createReqVO.getMaintainMaterials();
|
|
|
+ List<IotMaintainMaterialDO> collect = maintainMaterials.stream().map(e -> {
|
|
|
+ IotMaintainMaterialDO bean = BeanUtils.toBean(e, IotMaintainMaterialDO.class);
|
|
|
+ bean.setMaintainId(iotMaintain.getId());
|
|
|
+ return bean;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ iotMaintainMaterialMapper.insertBatch(collect);
|
|
|
// 返回
|
|
|
return iotMaintain.getId();
|
|
|
}
|