| | |
| | | package com.ruoyi.device.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.approve.pojo.ApproveProcess; |
| | | import com.ruoyi.approve.service.IApproveProcessService; |
| | | import com.ruoyi.approve.vo.ApproveProcessVO; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceRepairDto; |
| | | import com.ruoyi.device.pojo.DeviceLedger; |
| | | import com.ruoyi.device.pojo.DeviceRepair; |
| | | import com.ruoyi.device.service.IDeviceLedgerService; |
| | | import com.ruoyi.device.service.IDeviceRepairService; |
| | | import com.ruoyi.framework.security.LoginUser; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.project.system.domain.SysDept; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @Api(tags = "设备报修管理") |
| | | @RequestMapping("/device/repair") |
| | |
| | | |
| | | @Autowired |
| | | private IDeviceLedgerService deviceLedgerService; |
| | | @Autowired |
| | | private IApproveProcessService approveProcessService; |
| | | |
| | | @ApiModelProperty("设备报修列表") |
| | | @GetMapping("/page") |
| | |
| | | } |
| | | |
| | | @PostMapping() |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @ApiModelProperty("添加设备报修") |
| | | public AjaxResult add( @RequestBody DeviceRepair deviceRepair) { |
| | | return deviceRepairService.saveDeviceRepair(deviceRepair); |
| | | public AjaxResult add( @RequestBody DeviceRepair deviceRepair) throws Exception { |
| | | deviceRepairService.saveDeviceRepair(deviceRepair); |
| | | ApproveProcessVO approveProcessVO = new ApproveProcessVO(); |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | // 获取当前登录公司 |
| | | Long tenantId = loginUser.getTenantId(); |
| | | if(null != tenantId){ |
| | | LambdaQueryWrapper<DeviceRepair> QueryWrapper = new LambdaQueryWrapper<>(); |
| | | QueryWrapper.eq(DeviceRepair::getDeviceLedgerId,deviceRepair.getDeviceLedgerId()) |
| | | .eq(DeviceRepair::getRemark,deviceRepair.getRemark()) |
| | | .eq(DeviceRepair::getDeviceName,deviceRepair.getDeviceName()) |
| | | .eq(DeviceRepair::getApproverId,deviceRepair.getApproverId()) |
| | | .eq(DeviceRepair::getRepairTime,deviceRepair.getRepairTime()); |
| | | DeviceRepair one = deviceRepairService.getOne(QueryWrapper); |
| | | if(ObjectUtils.isEmpty(one)){ |
| | | return AjaxResult.error("设备报修不存在"); |
| | | } |
| | | //获取当前登录部门id |
| | | approveProcessVO.setApproveDeptId(tenantId); |
| | | //获取当前登录用户id |
| | | approveProcessVO.setApproveUser(loginUser.getUserId()); |
| | | //获取当前时间 |
| | | approveProcessVO.setApproveTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | approveProcessVO.setApproveType(4); |
| | | approveProcessVO.setApproveUserIds(deviceRepair.getApproverId().toString()); |
| | | approveProcessVO.setApproveReason(deviceRepair.getRemark()); |
| | | approveProcessVO.setDeviceRepairId(one.getId()); |
| | | approveProcessVO.setMaintenancePrice(deviceRepair.getMaintenancePrice()); |
| | | approveProcessService.addApprove(approveProcessVO); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @ApiModelProperty("根据id查询设备报修") |
| | |
| | | @DeleteMapping("/{ids}") |
| | | @ApiModelProperty("删除设备报修") |
| | | public AjaxResult delete(@PathVariable("ids") Long[] ids) { |
| | | LambdaQueryWrapper<ApproveProcess> QueryWrapper = new LambdaQueryWrapper<>(); |
| | | QueryWrapper.in(ApproveProcess::getDeviceRepairId,ids); |
| | | List<ApproveProcess> approveProcessList = approveProcessService.list(QueryWrapper); |
| | | if(!approveProcessList.isEmpty()){ |
| | | approveProcessList.forEach(approveProcess -> { |
| | | if (approveProcess.getApproveStatus() != 0){ |
| | | //抛出异常 |
| | | throw new RuntimeException("有正在处理中的审批流程,不能删除"); |
| | | } |
| | | }); |
| | | } |
| | | boolean b = deviceRepairService.removeBatchByIds(Arrays.asList(ids)); |
| | | if (!b) { |
| | | return AjaxResult.error("删除失败"); |