From 137a892d07b95b12a57698892c04d11268b41ec3 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 2 Jun 2026 16:52:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=8A=A5=E5=BA=9F=E6=8F=90=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RecordAssetScrapController.java | 128 +++++++++++++ .../manager/domain/RecordAssetScrap.java | 177 ++++++++++++++++++ .../mapper/RecordAssetScrapMapper.java | 61 ++++++ .../service/IRecordAssetScrapService.java | 61 ++++++ .../impl/RecordAssetScrapServiceImpl.java | 96 ++++++++++ .../mapper/manager/RecordAssetScrapMapper.xml | 101 ++++++++++ .../main/resources/sql/asset_scrapMenu.sql | 22 +++ .../templates/manager/asset_scrap/add.html | 94 ++++++++++ .../manager/asset_scrap/asset_scrap.html | 150 +++++++++++++++ .../templates/manager/asset_scrap/edit.html | 95 ++++++++++ 10 files changed, 985 insertions(+) create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordAssetScrapController.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordAssetScrap.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordAssetScrapMapper.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordAssetScrapService.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordAssetScrapServiceImpl.java create mode 100644 ruoyi-manager/src/main/resources/mapper/manager/RecordAssetScrapMapper.xml create mode 100644 ruoyi-manager/src/main/resources/sql/asset_scrapMenu.sql create mode 100644 ruoyi-manager/src/main/resources/templates/manager/asset_scrap/add.html create mode 100644 ruoyi-manager/src/main/resources/templates/manager/asset_scrap/asset_scrap.html create mode 100644 ruoyi-manager/src/main/resources/templates/manager/asset_scrap/edit.html diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordAssetScrapController.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordAssetScrapController.java new file mode 100644 index 0000000..3445005 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordAssetScrapController.java @@ -0,0 +1,128 @@ +package com.ruoyi.manager.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.manager.domain.RecordAssetScrap; +import com.ruoyi.manager.service.IRecordAssetScrapService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 资产报废提报Controller + * + * @author ruoyi + * @date 2026-06-02 + */ +@Controller +@RequestMapping("/manager/asset_scrap") +public class RecordAssetScrapController extends BaseController +{ + private String prefix = "manager/asset_scrap"; + + @Autowired + private IRecordAssetScrapService recordAssetScrapService; + + @RequiresPermissions("manager:asset_scrap:view") + @GetMapping() + public String asset_scrap() + { + return prefix + "/asset_scrap"; + } + + /** + * 查询资产报废提报列表 + */ + @RequiresPermissions("manager:asset_scrap:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(RecordAssetScrap recordAssetScrap) + { + startPage(); + List list = recordAssetScrapService.selectRecordAssetScrapList(recordAssetScrap); + return getDataTable(list); + } + + /** + * 导出资产报废提报列表 + */ + @RequiresPermissions("manager:asset_scrap:export") + @Log(title = "资产报废提报", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(RecordAssetScrap recordAssetScrap) + { + List list = recordAssetScrapService.selectRecordAssetScrapList(recordAssetScrap); + ExcelUtil util = new ExcelUtil(RecordAssetScrap.class); + return util.exportExcel(list, "资产报废提报数据"); + } + + /** + * 新增资产报废提报 + */ + @RequiresPermissions("manager:asset_scrap:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存资产报废提报 + */ + @RequiresPermissions("manager:asset_scrap:add") + @Log(title = "资产报废提报", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(RecordAssetScrap recordAssetScrap) + { + return toAjax(recordAssetScrapService.insertRecordAssetScrap(recordAssetScrap)); + } + + /** + * 修改资产报废提报 + */ + @RequiresPermissions("manager:asset_scrap:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + RecordAssetScrap recordAssetScrap = recordAssetScrapService.selectRecordAssetScrapById(id); + mmap.put("recordAssetScrap", recordAssetScrap); + return prefix + "/edit"; + } + + /** + * 修改保存资产报废提报 + */ + @RequiresPermissions("manager:asset_scrap:edit") + @Log(title = "资产报废提报", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(RecordAssetScrap recordAssetScrap) + { + return toAjax(recordAssetScrapService.updateRecordAssetScrap(recordAssetScrap)); + } + + /** + * 删除资产报废提报 + */ + @RequiresPermissions("manager:asset_scrap:remove") + @Log(title = "资产报废提报", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(recordAssetScrapService.deleteRecordAssetScrapByIds(ids)); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordAssetScrap.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordAssetScrap.java new file mode 100644 index 0000000..d9c5593 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordAssetScrap.java @@ -0,0 +1,177 @@ +package com.ruoyi.manager.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 资产报废提报对象 record_asset_scrap + * + * @author ruoyi + * @date 2026-06-02 + */ +public class RecordAssetScrap extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 资产ID */ + @Excel(name = "资产ID") + private Long assetId; + + /** 报废原因类型 */ + @Excel(name = "报废原因类型") + private String scrapReasonType; + + /** 报废说明 */ + @Excel(name = "报废说明") + private String scrapRemark; + + /** GPS坐标(纬度,经度) */ + @Excel(name = "GPS坐标", readConverterExp = "纬=度,经度") + private String gpsLocation; + + /** 状态 */ + @Excel(name = "状态") + private Long status; + + /** 审批人 */ + @Excel(name = "审批人") + private String approveBy; + + /** 审批时间 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date approveTime; + + /** 驳回原因 */ + @Excel(name = "驳回原因") + private String rejectReason; + + /** 删除标志:0=正常 1=删除 */ + @Excel(name = "删除标志:0=正常 1=删除") + private Long delFlag; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setAssetId(Long assetId) + { + this.assetId = assetId; + } + + public Long getAssetId() + { + return assetId; + } + + public void setScrapReasonType(String scrapReasonType) + { + this.scrapReasonType = scrapReasonType; + } + + public String getScrapReasonType() + { + return scrapReasonType; + } + + public void setScrapRemark(String scrapRemark) + { + this.scrapRemark = scrapRemark; + } + + public String getScrapRemark() + { + return scrapRemark; + } + + public void setGpsLocation(String gpsLocation) + { + this.gpsLocation = gpsLocation; + } + + public String getGpsLocation() + { + return gpsLocation; + } + + public void setStatus(Long status) + { + this.status = status; + } + + public Long getStatus() + { + return status; + } + + public void setApproveBy(String approveBy) + { + this.approveBy = approveBy; + } + + public String getApproveBy() + { + return approveBy; + } + + public void setApproveTime(Date approveTime) + { + this.approveTime = approveTime; + } + + public Date getApproveTime() + { + return approveTime; + } + + public void setRejectReason(String rejectReason) + { + this.rejectReason = rejectReason; + } + + public String getRejectReason() + { + return rejectReason; + } + + public void setDelFlag(Long delFlag) + { + this.delFlag = delFlag; + } + + public Long getDelFlag() + { + return delFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("assetId", getAssetId()) + .append("scrapReasonType", getScrapReasonType()) + .append("scrapRemark", getScrapRemark()) + .append("gpsLocation", getGpsLocation()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("approveBy", getApproveBy()) + .append("approveTime", getApproveTime()) + .append("rejectReason", getRejectReason()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordAssetScrapMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordAssetScrapMapper.java new file mode 100644 index 0000000..0b9c3f1 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordAssetScrapMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.mapper; + +import java.util.List; +import com.ruoyi.manager.domain.RecordAssetScrap; + +/** + * 资产报废提报Mapper接口 + * + * @author ruoyi + * @date 2026-06-02 + */ +public interface RecordAssetScrapMapper +{ + /** + * 查询资产报废提报 + * + * @param id 资产报废提报主键 + * @return 资产报废提报 + */ + public RecordAssetScrap selectRecordAssetScrapById(Long id); + + /** + * 查询资产报废提报列表 + * + * @param recordAssetScrap 资产报废提报 + * @return 资产报废提报集合 + */ + public List selectRecordAssetScrapList(RecordAssetScrap recordAssetScrap); + + /** + * 新增资产报废提报 + * + * @param recordAssetScrap 资产报废提报 + * @return 结果 + */ + public int insertRecordAssetScrap(RecordAssetScrap recordAssetScrap); + + /** + * 修改资产报废提报 + * + * @param recordAssetScrap 资产报废提报 + * @return 结果 + */ + public int updateRecordAssetScrap(RecordAssetScrap recordAssetScrap); + + /** + * 删除资产报废提报 + * + * @param id 资产报废提报主键 + * @return 结果 + */ + public int deleteRecordAssetScrapById(Long id); + + /** + * 批量删除资产报废提报 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRecordAssetScrapByIds(String[] ids); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordAssetScrapService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordAssetScrapService.java new file mode 100644 index 0000000..a8d9cf1 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordAssetScrapService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.service; + +import java.util.List; +import com.ruoyi.manager.domain.RecordAssetScrap; + +/** + * 资产报废提报Service接口 + * + * @author ruoyi + * @date 2026-06-02 + */ +public interface IRecordAssetScrapService +{ + /** + * 查询资产报废提报 + * + * @param id 资产报废提报主键 + * @return 资产报废提报 + */ + public RecordAssetScrap selectRecordAssetScrapById(Long id); + + /** + * 查询资产报废提报列表 + * + * @param recordAssetScrap 资产报废提报 + * @return 资产报废提报集合 + */ + public List selectRecordAssetScrapList(RecordAssetScrap recordAssetScrap); + + /** + * 新增资产报废提报 + * + * @param recordAssetScrap 资产报废提报 + * @return 结果 + */ + public int insertRecordAssetScrap(RecordAssetScrap recordAssetScrap); + + /** + * 修改资产报废提报 + * + * @param recordAssetScrap 资产报废提报 + * @return 结果 + */ + public int updateRecordAssetScrap(RecordAssetScrap recordAssetScrap); + + /** + * 批量删除资产报废提报 + * + * @param ids 需要删除的资产报废提报主键集合 + * @return 结果 + */ + public int deleteRecordAssetScrapByIds(String ids); + + /** + * 删除资产报废提报信息 + * + * @param id 资产报废提报主键 + * @return 结果 + */ + public int deleteRecordAssetScrapById(Long id); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordAssetScrapServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordAssetScrapServiceImpl.java new file mode 100644 index 0000000..986b9b1 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordAssetScrapServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.manager.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.manager.mapper.RecordAssetScrapMapper; +import com.ruoyi.manager.domain.RecordAssetScrap; +import com.ruoyi.manager.service.IRecordAssetScrapService; +import com.ruoyi.common.core.text.Convert; + +/** + * 资产报废提报Service业务层处理 + * + * @author ruoyi + * @date 2026-06-02 + */ +@Service +public class RecordAssetScrapServiceImpl implements IRecordAssetScrapService +{ + @Autowired + private RecordAssetScrapMapper recordAssetScrapMapper; + + /** + * 查询资产报废提报 + * + * @param id 资产报废提报主键 + * @return 资产报废提报 + */ + @Override + public RecordAssetScrap selectRecordAssetScrapById(Long id) + { + return recordAssetScrapMapper.selectRecordAssetScrapById(id); + } + + /** + * 查询资产报废提报列表 + * + * @param recordAssetScrap 资产报废提报 + * @return 资产报废提报 + */ + @Override + public List selectRecordAssetScrapList(RecordAssetScrap recordAssetScrap) + { + return recordAssetScrapMapper.selectRecordAssetScrapList(recordAssetScrap); + } + + /** + * 新增资产报废提报 + * + * @param recordAssetScrap 资产报废提报 + * @return 结果 + */ + @Override + public int insertRecordAssetScrap(RecordAssetScrap recordAssetScrap) + { + recordAssetScrap.setCreateTime(DateUtils.getNowDate()); + return recordAssetScrapMapper.insertRecordAssetScrap(recordAssetScrap); + } + + /** + * 修改资产报废提报 + * + * @param recordAssetScrap 资产报废提报 + * @return 结果 + */ + @Override + public int updateRecordAssetScrap(RecordAssetScrap recordAssetScrap) + { + return recordAssetScrapMapper.updateRecordAssetScrap(recordAssetScrap); + } + + /** + * 批量删除资产报废提报 + * + * @param ids 需要删除的资产报废提报主键 + * @return 结果 + */ + @Override + public int deleteRecordAssetScrapByIds(String ids) + { + return recordAssetScrapMapper.deleteRecordAssetScrapByIds(Convert.toStrArray(ids)); + } + + /** + * 删除资产报废提报信息 + * + * @param id 资产报废提报主键 + * @return 结果 + */ + @Override + public int deleteRecordAssetScrapById(Long id) + { + return recordAssetScrapMapper.deleteRecordAssetScrapById(id); + } +} diff --git a/ruoyi-manager/src/main/resources/mapper/manager/RecordAssetScrapMapper.xml b/ruoyi-manager/src/main/resources/mapper/manager/RecordAssetScrapMapper.xml new file mode 100644 index 0000000..d77dd37 --- /dev/null +++ b/ruoyi-manager/src/main/resources/mapper/manager/RecordAssetScrapMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + select id, asset_id, scrap_reason_type, scrap_remark, gps_location, status, create_by, create_time, approve_by, approve_time, reject_reason, del_flag from record_asset_scrap + + + + + + + + insert into record_asset_scrap + + asset_id, + scrap_reason_type, + scrap_remark, + gps_location, + status, + create_by, + create_time, + approve_by, + approve_time, + reject_reason, + del_flag, + + + #{assetId}, + #{scrapReasonType}, + #{scrapRemark}, + #{gpsLocation}, + #{status}, + #{createBy}, + #{createTime}, + #{approveBy}, + #{approveTime}, + #{rejectReason}, + #{delFlag}, + + + + + update record_asset_scrap + + asset_id = #{assetId}, + scrap_reason_type = #{scrapReasonType}, + scrap_remark = #{scrapRemark}, + gps_location = #{gpsLocation}, + status = #{status}, + create_by = #{createBy}, + create_time = #{createTime}, + approve_by = #{approveBy}, + approve_time = #{approveTime}, + reject_reason = #{rejectReason}, + del_flag = #{delFlag}, + + where id = #{id} + + + + delete from record_asset_scrap where id = #{id} + + + + delete from record_asset_scrap where id in + + #{id} + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/sql/asset_scrapMenu.sql b/ruoyi-manager/src/main/resources/sql/asset_scrapMenu.sql new file mode 100644 index 0000000..2cc3861 --- /dev/null +++ b/ruoyi-manager/src/main/resources/sql/asset_scrapMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('资产报废提报', '2044', '7', '/manager/asset_scrap', 'C', '0', 'manager:asset_scrap:view', '#', 'admin', sysdate(), '', null, '资产报废提报菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('资产报废提报查询', @parentId, '1', '#', 'F', '0', 'manager:asset_scrap:list', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('资产报废提报新增', @parentId, '2', '#', 'F', '0', 'manager:asset_scrap:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('资产报废提报修改', @parentId, '3', '#', 'F', '0', 'manager:asset_scrap:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('资产报废提报删除', @parentId, '4', '#', 'F', '0', 'manager:asset_scrap:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('资产报废提报导出', @parentId, '5', '#', 'F', '0', 'manager:asset_scrap:export', '#', 'admin', sysdate(), '', null, ''); diff --git a/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/add.html b/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/add.html new file mode 100644 index 0000000..d1313af --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/add.html @@ -0,0 +1,94 @@ + + + + + + + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/asset_scrap.html b/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/asset_scrap.html new file mode 100644 index 0000000..a8e6d66 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/asset_scrap.html @@ -0,0 +1,150 @@ + + + + + + +
+
+
+
+
+
    +
  • + 报废原因类型: + +
  • +
  • + + +
  • +
  • + + + - + +
  • +
  • + + + - + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/edit.html b/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/edit.html new file mode 100644 index 0000000..66bd972 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/asset_scrap/edit.html @@ -0,0 +1,95 @@ + + + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file