yzc 10 ماه پیش
والد
کامیت
7de4b1dc27

+ 71 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/device/DeviceRepairController.java

@@ -0,0 +1,71 @@
+package com.fjhx.oa.controller.device;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.device.dto.DeviceRepairDto;
+import com.fjhx.oa.entity.device.dto.DeviceRepairSelectDto;
+import com.fjhx.oa.entity.device.vo.DeviceRepairVo;
+import com.fjhx.oa.service.device.DeviceRepairService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 设备维修 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-06-24
+ */
+@RestController
+@RequestMapping("/deviceRepair")
+public class DeviceRepairController {
+
+    @Autowired
+    private DeviceRepairService deviceRepairService;
+
+    /**
+     * 设备维修分页
+     */
+    @PostMapping("/page")
+    public Page<DeviceRepairVo> page(@RequestBody DeviceRepairSelectDto dto) {
+        return deviceRepairService.getPage(dto);
+    }
+
+    /**
+     * 设备维修明细
+     */
+    @PostMapping("/detail")
+    public DeviceRepairVo detail(@RequestBody BaseSelectDto dto) {
+        return deviceRepairService.detail(dto.getId());
+    }
+
+    /**
+     * 设备维修新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody DeviceRepairDto deviceRepairDto) {
+        deviceRepairService.add(deviceRepairDto);
+    }
+
+    /**
+     * 设备维修编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DeviceRepairDto deviceRepairDto) {
+        deviceRepairService.edit(deviceRepairDto);
+    }
+
+    /**
+     * 设备维修删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        deviceRepairService.delete(dto.getId());
+    }
+
+}

+ 23 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/device/dto/DeviceRepairDto.java

@@ -0,0 +1,23 @@
+package com.fjhx.oa.entity.device.dto;
+
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.oa.entity.device.po.DeviceRepair;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 设备维修新增编辑入参实体
+ *
+ * @author
+ * @since 2024-06-24
+ */
+@Getter
+@Setter
+public class DeviceRepairDto extends DeviceRepair {
+    /**
+     * 非发票附件 类型0
+     */
+    private List<ObsFile> fileList;
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/device/dto/DeviceRepairSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.device.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 设备维修列表查询入参实体
+ *
+ * @author
+ * @since 2024-06-24
+ */
+@Getter
+@Setter
+public class DeviceRepairSelectDto extends BaseSelectDto {
+
+}

+ 48 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/device/po/DeviceRepair.java

@@ -0,0 +1,48 @@
+package com.fjhx.oa.entity.device.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 设备维修
+ * </p>
+ *
+ * @author
+ * @since 2024-06-24
+ */
+@Getter
+@Setter
+@TableName("device_repair")
+public class DeviceRepair extends BasePo {
+
+    /**
+     * 设备型号
+     */
+    private String deviceModel;
+
+    /**
+     * 配件名称
+     */
+    private String partsName;
+
+    /**
+     * 厂家名称
+     */
+    private String factoryName;
+
+    /**
+     * 维修方案
+     */
+    private String schemeRemark;
+
+    /**
+     * 费用
+     */
+    private BigDecimal amount;
+
+}

+ 25 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/device/vo/DeviceRepairVo.java

@@ -0,0 +1,25 @@
+package com.fjhx.oa.entity.device.vo;
+
+import com.fjhx.file.entity.FileInfoVo;
+import com.fjhx.oa.entity.device.po.DeviceRepair;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 设备维修列表查询返回值实体
+ *
+ * @author
+ * @since 2024-06-24
+ */
+@Getter
+@Setter
+public class DeviceRepairVo extends DeviceRepair {
+
+    /**
+     * 附件信息
+     */
+    private List<FileInfoVo> fileList;
+
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/device/DeviceRepairMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.mapper.device;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.device.po.DeviceRepair;
+import com.fjhx.oa.entity.device.vo.DeviceRepairVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 设备维修 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-06-24
+ */
+public interface DeviceRepairMapper extends BaseMapper<DeviceRepair> {
+
+    /**
+     * 设备维修分页
+     */
+    Page<DeviceRepairVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<DeviceRepair> wrapper);
+
+}

+ 46 - 0
hx-oa/src/main/java/com/fjhx/oa/service/device/DeviceRepairService.java

@@ -0,0 +1,46 @@
+package com.fjhx.oa.service.device;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.device.dto.DeviceRepairDto;
+import com.fjhx.oa.entity.device.dto.DeviceRepairSelectDto;
+import com.fjhx.oa.entity.device.po.DeviceRepair;
+import com.fjhx.oa.entity.device.vo.DeviceRepairVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 设备维修 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-24
+ */
+public interface DeviceRepairService extends BaseService<DeviceRepair> {
+
+    /**
+     * 设备维修分页
+     */
+    Page<DeviceRepairVo> getPage(DeviceRepairSelectDto dto);
+
+    /**
+     * 设备维修明细
+     */
+    DeviceRepairVo detail(Long id);
+
+    /**
+     * 设备维修新增
+     */
+    void add(DeviceRepairDto deviceRepairDto);
+
+    /**
+     * 设备维修编辑
+     */
+    void edit(DeviceRepairDto deviceRepairDto);
+
+    /**
+     * 设备维修删除
+     */
+    void delete(Long id);
+
+}

+ 78 - 0
hx-oa/src/main/java/com/fjhx/oa/service/device/impl/DeviceRepairServiceImpl.java

@@ -0,0 +1,78 @@
+package com.fjhx.oa.service.device.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.oa.entity.device.dto.DeviceRepairDto;
+import com.fjhx.oa.entity.device.dto.DeviceRepairSelectDto;
+import com.fjhx.oa.entity.device.po.DeviceRepair;
+import com.fjhx.oa.entity.device.vo.DeviceRepairVo;
+import com.fjhx.oa.mapper.device.DeviceRepairMapper;
+import com.fjhx.oa.service.device.DeviceRepairService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+
+/**
+ * <p>
+ * 设备维修 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-06-24
+ */
+@Service
+public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepair> implements DeviceRepairService {
+
+    @Override
+    public Page<DeviceRepairVo> getPage(DeviceRepairSelectDto dto) {
+        IWrapper<DeviceRepair> wrapper = getWrapper();
+
+        wrapper.keyword(dto.getKeyword(),
+                new SqlField("dr.device_model"),
+                new SqlField("dr.parts_name"),
+                new SqlField("dr.factory_name"),
+                new SqlField("dr.scheme_remark"),
+                new SqlField("dr.amount")
+        );
+
+        wrapper.orderByDesc("dr", DeviceRepair::getId);
+        Page<DeviceRepairVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public DeviceRepairVo detail(Long id) {
+        DeviceRepairVo result = BeanUtil.toBean(this.getById(id), DeviceRepairVo.class);
+        result.setFileList(ObsFileUtil.getFileMap(Collections.singletonList(id)).getOrDefault(id, new ArrayList<>()));
+        return result;
+    }
+
+    @DSTransactional
+    @Override
+    public void add(DeviceRepairDto dto) {
+        this.save(dto);
+        ObsFileUtil.saveFile(dto.getFileList(), dto.getId());
+    }
+
+    @DSTransactional
+    @Override
+    public void edit(DeviceRepairDto dto) {
+        this.updateById(dto);
+        ObsFileUtil.editFile(dto.getFileList(), dto.getId());
+    }
+
+    @DSTransactional
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+        ObsFileUtil.removeFile(id);
+    }
+
+}

+ 19 - 0
hx-oa/src/main/resources/mapper/device/DeviceRepairMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.oa.mapper.device.DeviceRepairMapper">
+    <select id="getPage" resultType="com.fjhx.oa.entity.device.vo.DeviceRepairVo">
+        select dr.id,
+               dr.device_model,
+               dr.parts_name,
+               dr.factory_name,
+               dr.scheme_remark,
+               dr.amount,
+               dr.create_user,
+               dr.create_time,
+               dr.update_user,
+               dr.update_time
+        from device_repair dr
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>