| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import lombok.SneakyThrows; |
| | | import org.dromara.common.core.constant.DictConstants; |
| | | import org.dromara.common.core.domain.model.LoginUser; |
| | | import org.dromara.common.core.service.RepairResService; |
| | | import org.dromara.common.core.utils.MapstructUtils; |
| | | import org.dromara.common.core.utils.SpringUtils; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.eims.domain.*; |
| | | import org.dromara.eims.domain.vo.EimsRepairReqVo; |
| | | import org.dromara.eims.mapper.EimsRepairRecordMapper; |
| | |
| | | import org.dromara.system.domain.SysDept; |
| | | import org.dromara.system.domain.vo.SysDeptVo; |
| | | import org.dromara.system.mapper.SysDeptMapper; |
| | | import org.redisson.misc.LogHelper; |
| | | import org.springframework.stereotype.Service; |
| | | import org.dromara.eims.domain.bo.EimsRepairResBo; |
| | | import org.dromara.eims.domain.vo.EimsRepairResVo; |
| | |
| | | // 新增维修工单的时候更新报修单数据 |
| | | EimsRepairReqVo reqVo = reqMapper.selectVoById(bo.getReqId()); |
| | | reqVo.setRepairId(add.getId()); |
| | | reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WEIXIU); |
| | | reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.YIJIEDAN); |
| | | EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class); |
| | | reqMapper.updateById(req); |
| | | |
| | |
| | | record.setResId(add.getId()); |
| | | record.setHandleTime(new Date()); |
| | | //接单状态 |
| | | record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.JIEDAN); |
| | | record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.YIJIEDAN); |
| | | record.setOperaUser(add.getCreateBy()); |
| | | record.setOperaResult("接单,生成维修工单"); |
| | | record.setOperaResult("生成维修工单"); |
| | | //新增时生成记录 |
| | | recordMapper.insert(record); |
| | | |
| | |
| | | insert.setResCode(reqVo.getCode().replace("BXD","WXD")); |
| | | insert.setResUser(bo.getResUser()); |
| | | insert.setResDept(bo.getResDept()); |
| | | insert.setStatus(DictConstants.REPAIR_RES_STATUS_DETAIL.WEIXIU); |
| | | insert.setStartTime(new Date()); |
| | | insert.setStatus(DictConstants.REPAIR_RES_STATUS_DETAIL.YIJIEDAN); |
| | | Boolean b = insertByBo(insert); |
| | | if(!b)throw new Exception(""); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public Boolean updateByBo(EimsRepairResBo bo) { |
| | | LoginUser loginUser = LoginHelper.getLoginUser(); |
| | | EimsRepairRes update = MapstructUtils.convert(bo, EimsRepairRes.class); |
| | | |
| | | EimsRepairResVo resVo = baseMapper.selectVoById(bo.getId()); |
| | | String status = resVo.getStatus(); |
| | | //首次更新需要同步更新报修单状态 |
| | | //维修工单开始维修,同步更新报修单 以及 维修记录 |
| | | if (bo.getStatus().equals(DictConstants.REPAIR_RES_STATUS_DETAIL.WEIXIU) && |
| | | status.equals(DictConstants.REPAIR_RES_STATUS_DETAIL.YIJIEDAN)) { |
| | | //1.设置开始维修时间 |
| | | |
| | | //2.更新报修单为维修状态 |
| | | EimsRepairReqVo reqVo = reqMapper.selectVoById(bo.getReqId()); |
| | | reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WEIXIU); |
| | | EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class); |
| | | reqMapper.updateById(req); |
| | | |
| | | //3.生成维修记录 |
| | | EimsRepairRecord record = new EimsRepairRecord(); |
| | | record.setResId(bo.getId()); |
| | | record.setReqId(bo.getReqId()); |
| | | record.setHandleTime(new Date()); |
| | | record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.WEIXIU); |
| | | assert loginUser != null; |
| | | record.setOperaUser(loginUser.getUserId()); |
| | | record.setOperaResult("开始维修"); |
| | | recordMapper.insert(record); |
| | | } |
| | | |
| | | |
| | | //维修工单完成,同步更新报修单 以及 维修记录 |
| | | if (bo.getStatus().equals(DictConstants.REPAIR_RES_STATUS_DETAIL.WANCHENG) && |
| | | status.equals(DictConstants.REPAIR_RES_STATUS_DETAIL.WEIXIU)) { |
| | | //1.设置结束维修时间 |
| | | |
| | | //2.更新报修单为完成状态 |
| | | EimsRepairReqVo reqVo = reqMapper.selectVoById(bo.getReqId()); |
| | | reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WANCHENG); |
| | | EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class); |
| | | reqMapper.updateById(req); |
| | | |
| | | //生成维修记录 |
| | | //3.生成维修记录 |
| | | EimsRepairRecord record = new EimsRepairRecord(); |
| | | record.setResId(bo.getId()); |
| | | record.setReqId(bo.getReqId()); |
| | | record.setHandleTime(new Date()); |
| | | //完成状态 |
| | | record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.WANCHENG); |
| | | record.setOperaUser(bo.getUpdateBy()); |
| | | assert loginUser != null; |
| | | record.setOperaUser(loginUser.getUserId()); |
| | | record.setOperaResult("完成维修工单"); |
| | | recordMapper.insert(record); |
| | | |
| | | } |
| | | validEntityBeforeSave(update); |
| | | return baseMapper.updateById(update) > 0; |