| src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/controller/DeviceRepairController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/pojo/DeviceRepair.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/device/DeviceRepairMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
@@ -1,6 +1,7 @@ package com.ruoyi.approve.pojo; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -139,7 +140,14 @@ * 创建时间 */ private LocalDateTime createTime; /** * 设备报修id */ private Long deviceRepairId; /** * 报修金额 */ private BigDecimal maintenancePrice; private static final long serialVersionUID = 1L; src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -10,6 +10,8 @@ import com.ruoyi.approve.service.IApproveNodeService; import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.device.mapper.DeviceRepairMapper; import com.ruoyi.device.pojo.DeviceRepair; import com.ruoyi.other.service.impl.TempFileServiceImpl; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; @@ -43,6 +45,9 @@ @Autowired private CommonFileMapper fileMapper; @Autowired private DeviceRepairMapper deviceRepairMapper; public ApproveProcess getApproveById(String id) { @@ -140,6 +145,16 @@ } approveProcessMapper.updateById(approveProcess); DeviceRepair deviceRepair = deviceRepairMapper.selectById(approveProcess.getDeviceRepairId()); if(deviceRepair == null) throw new RuntimeException("设备报修不存在"); if(approveProcess.getApproveStatus().equals(2)){ // 同意 deviceRepair.setStatus(1); }else if(approveProcess.getApproveStatus().equals(3)){ // 拒绝 deviceRepair.setStatus(2); } deviceRepairMapper.updateById(deviceRepair); // 绑定附件 if(!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1){ tempFileService.migrateTempFilesToFormal(approveNode.getId(), approveNode.getTempFileIds(), FileNameType.ApproveNode.getValue()); src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -87,6 +87,8 @@ approveProcess.setApproveUserNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(","))); approveProcess.setApproveTime(StringUtils.isEmpty(approveProcessVO.getApproveTime()) ? null : dateFormat.parse(approveProcessVO.getApproveTime())); approveProcess.setApproveReason(approveProcessVO.getApproveReason()); approveProcess.setDeviceRepairId(approveProcessVO.getDeviceRepairId()); approveProcess.setMaintenancePrice(approveProcessVO.getMaintenancePrice()); approveProcess.setApproveOverTime(null); approveProcess.setApproveStatus(0); approveProcess.setApproveDelete(0); src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
@@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.math.BigDecimal; import java.util.List; @Data @@ -47,4 +48,12 @@ * 审批类型 */ private Integer approveType; /** * 设备报修id */ private Long deviceRepairId; /** * 报修金额 */ private BigDecimal maintenancePrice; } src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -1,19 +1,33 @@ 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.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.List; @Api(tags = "设备报修管理") @RequestMapping("/device/repair") @@ -25,6 +39,8 @@ @Autowired private IDeviceLedgerService deviceLedgerService; @Autowired private IApproveProcessService approveProcessService; @ApiModelProperty("设备报修列表") @GetMapping("/page") @@ -33,9 +49,40 @@ } @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查询设备报修") @@ -60,6 +107,17 @@ @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("删除失败"); src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -46,7 +47,7 @@ @ApiModelProperty("维修结果") private String maintenanceResult; @ApiModelProperty("状态") @ApiModelProperty("状态:0审核中,1审核通过,2审核失败,3维修中,4维修通过,5维修失败") private Integer status; @ApiModelProperty("创建时间") @@ -68,7 +69,7 @@ @ApiModelProperty("租户id") @TableField(fill = FieldFill.INSERT) private Long tenantId; @ApiModelProperty("维修价格") private String maintenancePrice; } src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @@ -20,9 +22,9 @@ @ApiModelProperty("设备台账id") private Long deviceLedgerId; @ApiModelProperty("设备名称") private String deviceName; @ApiModelProperty("设备型号") private String deviceModel; @ApiModelProperty("报修时间") @@ -45,7 +47,7 @@ @ApiModelProperty("维修结果") private String maintenanceResult; @ApiModelProperty("状态 0 待维修 1完结 2 失败") @ApiModelProperty("状态:0审核中,1审核通过,2审核失败,3维修中,4维修通过,5维修失败") private Integer status; @ApiModelProperty("创建时间") @@ -71,6 +73,8 @@ @ApiModelProperty("租户id") @TableField(fill = FieldFill.INSERT) private Long tenantId; @ApiModelProperty("维修价格") private BigDecimal maintenancePrice; @ApiModelProperty("审批人id") private Integer approverId; } src/main/resources/mapper/device/DeviceRepairMapper.xml
@@ -14,6 +14,7 @@ dr.maintenance_name, dr.maintenance_time, dr.maintenance_result, dr.maintenance_price, dr.status, dr.create_time, dr.update_time, @@ -59,6 +60,7 @@ dr.maintenance_name, dr.maintenance_time, dr.maintenance_result, dr.maintenance_price, dr.status, dr.create_time, dr.update_time,