From e6c646d0f81d864ad617185175f18bbd3ea200cb Mon Sep 17 00:00:00 2001 From: wanghao Date: Wed, 28 Jan 2026 11:31:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=BB=91=E5=AE=9A=E5=8F=8A=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=AD=97=E6=AE=B5=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 4 +- .../src/main/resources/generator.yml | 2 +- .../RecordtRfidBindingController.java | 128 ++++++++++++++ .../manager/domain/RecordtRfidBinding.java | 135 +++++++++++++++ .../manager/mapper/BaseBasketInfoMapper.java | 6 + .../mapper/RecordtRfidBindingMapper.java | 61 +++++++ .../service/IBaseBasketInfoService.java | 6 + .../service/IRecordtRfidBindingService.java | 61 +++++++ .../impl/BaseBasketInfoServiceImpl.java | 18 +- .../impl/RecordtRfidBindingServiceImpl.java | 90 ++++++++++ .../resources/mapper/BaseBasketInfoMapper.xml | 113 +++++++----- .../manager/RecordtRfidBindingMapper.xml | 102 +++++++++++ .../resources/sql/recordtRfidBindingMenu.sql | 22 +++ .../templates/base/basketInfo/basketInfo.html | 4 +- .../manager/recordtRfidBinding/add.html | 76 ++++++++ .../manager/recordtRfidBinding/edit.html | 77 +++++++++ .../recordtRfidBinding.html | 163 ++++++++++++++++++ .../webapi/controller/ApiController.java | 84 ++++++++- 18 files changed, 1097 insertions(+), 55 deletions(-) create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordtRfidBindingController.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordtRfidBindingMapper.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordtRfidBindingService.java create mode 100644 ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordtRfidBindingServiceImpl.java create mode 100644 ruoyi-manager/src/main/resources/mapper/manager/RecordtRfidBindingMapper.xml create mode 100644 ruoyi-manager/src/main/resources/sql/recordtRfidBindingMenu.sql create mode 100644 ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/add.html create mode 100644 ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html create mode 100644 ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index d136b28..7c244dd 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -64,9 +64,9 @@ spring: servlet: multipart: # 单个文件大小 - max-file-size: 10MB + max-file-size: 30MB # 设置总上传的文件大小 - max-request-size: 20MB + max-request-size: 60MB # 服务模块 devtools: restart: diff --git a/ruoyi-generator/src/main/resources/generator.yml b/ruoyi-generator/src/main/resources/generator.yml index 73562c7..4d28cda 100644 --- a/ruoyi-generator/src/main/resources/generator.yml +++ b/ruoyi-generator/src/main/resources/generator.yml @@ -4,7 +4,7 @@ gen: # 作者 author: ruoyi # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool - packageName: com.ruoyi.system + packageName: com.ruoyi.manager # 自动去除表前缀,默认是false autoRemovePre: false # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordtRfidBindingController.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordtRfidBindingController.java new file mode 100644 index 0000000..a27fef8 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordtRfidBindingController.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.RecordtRfidBinding; +import com.ruoyi.manager.service.IRecordtRfidBindingService; +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; + +/** + * 货筐RFID绑定记录Controller + * + * @author ruoyi + * @date 2026-01-27 + */ +@Controller +@RequestMapping("/manager/recordtRfidBinding") +public class RecordtRfidBindingController extends BaseController +{ + private String prefix = "manager/recordtRfidBinding"; + + @Autowired + private IRecordtRfidBindingService recordtRfidBindingService; + + @RequiresPermissions("manager:recordtRfidBinding:view") + @GetMapping() + public String recordtRfidBinding() + { + return prefix + "/recordtRfidBinding"; + } + + /** + * 查询货筐RFID绑定记录列表 + */ + @RequiresPermissions("manager:recordtRfidBinding:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(RecordtRfidBinding recordtRfidBinding) + { + startPage(); + List list = recordtRfidBindingService.selectRecordtRfidBindingList(recordtRfidBinding); + return getDataTable(list); + } + + /** + * 导出货筐RFID绑定记录列表 + */ + @RequiresPermissions("manager:recordtRfidBinding:export") + @Log(title = "货筐RFID绑定记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(RecordtRfidBinding recordtRfidBinding) + { + List list = recordtRfidBindingService.selectRecordtRfidBindingList(recordtRfidBinding); + ExcelUtil util = new ExcelUtil(RecordtRfidBinding.class); + return util.exportExcel(list, "货筐RFID绑定记录数据"); + } + + /** + * 新增货筐RFID绑定记录 + */ + @RequiresPermissions("manager:recordtRfidBinding:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存货筐RFID绑定记录 + */ + @RequiresPermissions("manager:recordtRfidBinding:add") + @Log(title = "货筐RFID绑定记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(RecordtRfidBinding recordtRfidBinding) + { + return toAjax(recordtRfidBindingService.insertRecordtRfidBinding(recordtRfidBinding)); + } + + /** + * 修改货筐RFID绑定记录 + */ + @RequiresPermissions("manager:recordtRfidBinding:edit") + @GetMapping("/edit/{rfidBindingId}") + public String edit(@PathVariable("rfidBindingId") Long rfidBindingId, ModelMap mmap) + { + RecordtRfidBinding recordtRfidBinding = recordtRfidBindingService.selectRecordtRfidBindingByRfidBindingId(rfidBindingId); + mmap.put("recordtRfidBinding", recordtRfidBinding); + return prefix + "/edit"; + } + + /** + * 修改保存货筐RFID绑定记录 + */ + @RequiresPermissions("manager:recordtRfidBinding:edit") + @Log(title = "货筐RFID绑定记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(RecordtRfidBinding recordtRfidBinding) + { + return toAjax(recordtRfidBindingService.updateRecordtRfidBinding(recordtRfidBinding)); + } + + /** + * 删除货筐RFID绑定记录 + */ + @RequiresPermissions("manager:recordtRfidBinding:remove") + @Log(title = "货筐RFID绑定记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(recordtRfidBindingService.deleteRecordtRfidBindingByRfidBindingIds(ids)); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java new file mode 100644 index 0000000..9e1fa78 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java @@ -0,0 +1,135 @@ +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; + +/** + * 货筐RFID绑定记录对象 base_basket_rfid_binding_record + * + * @author ruoyi + * @date 2026-01-27 + */ +public class RecordtRfidBinding extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 标识ID */ + private Long rfidBindingId; + + /** 资产ID */ + @Excel(name = "资产ID") + private Long baseBasketId; + + /** 货筐RFID */ + @Excel(name = "货筐RFID") + private String basketEpc; + + /** 货筐RFID(副) */ + @Excel(name = "货筐RFID(副)") + private String basketEpc2; + + /** 绑定人 */ + @Excel(name = "绑定人") + private String createdBy; + private String filePath; + + + /** 绑定时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createdTime; + + private BaseBasketInfo baseBasketInfo; + + public BaseBasketInfo getBaseBasketInfo() { + return baseBasketInfo; + } + + public void setBaseBasketInfo(BaseBasketInfo baseBasketInfo) { + this.baseBasketInfo = baseBasketInfo; + } + + public String getFilePath() { + return filePath; + } + + public void setFilePath(String filePath) { + this.filePath = filePath; + } + + public void setRfidBindingId(Long rfidBindingId) + { + this.rfidBindingId = rfidBindingId; + } + + public Long getRfidBindingId() + { + return rfidBindingId; + } + + public void setBaseBasketId(Long baseBasketId) + { + this.baseBasketId = baseBasketId; + } + + public Long getBaseBasketId() + { + return baseBasketId; + } + + public void setBasketEpc(String basketEpc) + { + this.basketEpc = basketEpc; + } + + public String getBasketEpc() + { + return basketEpc; + } + + public void setBasketEpc2(String basketEpc2) + { + this.basketEpc2 = basketEpc2; + } + + public String getBasketEpc2() + { + return basketEpc2; + } + + public void setCreatedBy(String createdBy) + { + this.createdBy = createdBy; + } + + public String getCreatedBy() + { + return createdBy; + } + + public void setCreatedTime(Date createdTime) + { + this.createdTime = createdTime; + } + + public Date getCreatedTime() + { + return createdTime; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("rfidBindingId", getRfidBindingId()) + .append("baseBasketId", getBaseBasketId()) + .append("basketEpc", getBasketEpc()) + .append("basketEpc2", getBasketEpc2()) + .append("createdBy", getCreatedBy()) + .append("createdTime", getCreatedTime()) + .toString(); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseBasketInfoMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseBasketInfoMapper.java index c7447bc..cb0b678 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseBasketInfoMapper.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseBasketInfoMapper.java @@ -65,4 +65,10 @@ public interface BaseBasketInfoMapper BaseBasketInfo selectBaseBasketInfoByCode(String basketCode); BaseBasketInfo selectBaseBasketInfoBySearchCode(String searchCode); + + List selectBaseBasketInfoBySearchCode2(String searchCode); + + int selectCountBasketByEpc(String basketEpc); + + List checkBasketInfoBySteelGradeAndSelfCode(BaseBasketInfo baseBasketInfo); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordtRfidBindingMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordtRfidBindingMapper.java new file mode 100644 index 0000000..ad95aeb --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordtRfidBindingMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.mapper; + +import java.util.List; +import com.ruoyi.manager.domain.RecordtRfidBinding; + +/** + * 货筐RFID绑定记录Mapper接口 + * + * @author ruoyi + * @date 2026-01-27 + */ +public interface RecordtRfidBindingMapper +{ + /** + * 查询货筐RFID绑定记录 + * + * @param rfidBindingId 货筐RFID绑定记录主键 + * @return 货筐RFID绑定记录 + */ + public RecordtRfidBinding selectRecordtRfidBindingByRfidBindingId(Long rfidBindingId); + + /** + * 查询货筐RFID绑定记录列表 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 货筐RFID绑定记录集合 + */ + public List selectRecordtRfidBindingList(RecordtRfidBinding recordtRfidBinding); + + /** + * 新增货筐RFID绑定记录 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 结果 + */ + public int insertRecordtRfidBinding(RecordtRfidBinding recordtRfidBinding); + + /** + * 修改货筐RFID绑定记录 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 结果 + */ + public int updateRecordtRfidBinding(RecordtRfidBinding recordtRfidBinding); + + /** + * 删除货筐RFID绑定记录 + * + * @param rfidBindingId 货筐RFID绑定记录主键 + * @return 结果 + */ + public int deleteRecordtRfidBindingByRfidBindingId(Long rfidBindingId); + + /** + * 批量删除货筐RFID绑定记录 + * + * @param rfidBindingIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRecordtRfidBindingByRfidBindingIds(String[] rfidBindingIds); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseBasketInfoService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseBasketInfoService.java index 1d80740..984c2eb 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseBasketInfoService.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseBasketInfoService.java @@ -65,4 +65,10 @@ public interface IBaseBasketInfoService String importBasketInfo(List basketInfoList, boolean updateSupport, String operName); BaseBasketInfo selectBaseBasketInfoBySearchCode(String searchCode); + + List selectBaseBasketInfoBySearchCode2(String searchCode); + + int selectCountBasketByEpc(String basketEpc); + + List checkBasketInfoBySteelGradeAndSelfCode(BaseBasketInfo baseBasketInfo); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordtRfidBindingService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordtRfidBindingService.java new file mode 100644 index 0000000..8e609c3 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordtRfidBindingService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.service; + +import java.util.List; +import com.ruoyi.manager.domain.RecordtRfidBinding; + +/** + * 货筐RFID绑定记录Service接口 + * + * @author ruoyi + * @date 2026-01-27 + */ +public interface IRecordtRfidBindingService +{ + /** + * 查询货筐RFID绑定记录 + * + * @param rfidBindingId 货筐RFID绑定记录主键 + * @return 货筐RFID绑定记录 + */ + public RecordtRfidBinding selectRecordtRfidBindingByRfidBindingId(Long rfidBindingId); + + /** + * 查询货筐RFID绑定记录列表 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 货筐RFID绑定记录集合 + */ + public List selectRecordtRfidBindingList(RecordtRfidBinding recordtRfidBinding); + + /** + * 新增货筐RFID绑定记录 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 结果 + */ + public int insertRecordtRfidBinding(RecordtRfidBinding recordtRfidBinding); + + /** + * 修改货筐RFID绑定记录 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 结果 + */ + public int updateRecordtRfidBinding(RecordtRfidBinding recordtRfidBinding); + + /** + * 批量删除货筐RFID绑定记录 + * + * @param rfidBindingIds 需要删除的货筐RFID绑定记录主键集合 + * @return 结果 + */ + public int deleteRecordtRfidBindingByRfidBindingIds(String rfidBindingIds); + + /** + * 删除货筐RFID绑定记录信息 + * + * @param rfidBindingId 货筐RFID绑定记录主键 + * @return 结果 + */ + public int deleteRecordtRfidBindingByRfidBindingId(Long rfidBindingId); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseBasketInfoServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseBasketInfoServiceImpl.java index a06e3af..2aabd20 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseBasketInfoServiceImpl.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseBasketInfoServiceImpl.java @@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Map; /** * 资产信息Service业务层处理 @@ -140,4 +139,19 @@ public class BaseBasketInfoServiceImpl implements IBaseBasketInfoService { public BaseBasketInfo selectBaseBasketInfoBySearchCode(String searchCode) { return baseBasketInfoMapper.selectBaseBasketInfoBySearchCode(searchCode); } -} + + @Override + public List selectBaseBasketInfoBySearchCode2(String searchCode) { + return baseBasketInfoMapper.selectBaseBasketInfoBySearchCode2(searchCode); + } + + @Override + public int selectCountBasketByEpc(String basketEpc) { + return baseBasketInfoMapper.selectCountBasketByEpc(basketEpc); + } + + @Override + public List checkBasketInfoBySteelGradeAndSelfCode(BaseBasketInfo baseBasketInfo) { + return baseBasketInfoMapper.checkBasketInfoBySteelGradeAndSelfCode(baseBasketInfo); + } +} \ No newline at end of file diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordtRfidBindingServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordtRfidBindingServiceImpl.java new file mode 100644 index 0000000..97e4fa2 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordtRfidBindingServiceImpl.java @@ -0,0 +1,90 @@ +package com.ruoyi.manager.service.impl; + +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.manager.domain.RecordtRfidBinding; +import com.ruoyi.manager.mapper.RecordtRfidBindingMapper; +import com.ruoyi.manager.service.IRecordtRfidBindingService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 货筐RFID绑定记录Service业务层处理 + * + * @author ruoyi + * @date 2026-01-27 + */ +@Service +public class RecordtRfidBindingServiceImpl implements IRecordtRfidBindingService { + @Autowired + private RecordtRfidBindingMapper recordtRfidBindingMapper; + + /** + * 查询货筐RFID绑定记录 + * + * @param rfidBindingId 货筐RFID绑定记录主键 + * @return 货筐RFID绑定记录 + */ + @Override + public RecordtRfidBinding selectRecordtRfidBindingByRfidBindingId(Long rfidBindingId) { + return recordtRfidBindingMapper.selectRecordtRfidBindingByRfidBindingId(rfidBindingId); + } + + /** + * 查询货筐RFID绑定记录列表 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 货筐RFID绑定记录 + */ + @Override + public List selectRecordtRfidBindingList(RecordtRfidBinding recordtRfidBinding) { + return recordtRfidBindingMapper.selectRecordtRfidBindingList(recordtRfidBinding); + } + + /** + * 新增货筐RFID绑定记录 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 结果 + */ + @Override + public int insertRecordtRfidBinding(RecordtRfidBinding recordtRfidBinding) { + recordtRfidBinding.setCreatedTime(DateUtils.getNowDate()); + return recordtRfidBindingMapper.insertRecordtRfidBinding(recordtRfidBinding); + } + + /** + * 修改货筐RFID绑定记录 + * + * @param recordtRfidBinding 货筐RFID绑定记录 + * @return 结果 + */ + @Override + public int updateRecordtRfidBinding(RecordtRfidBinding recordtRfidBinding) { + return recordtRfidBindingMapper.updateRecordtRfidBinding(recordtRfidBinding); + } + + /** + * 批量删除货筐RFID绑定记录 + * + * @param rfidBindingIds 需要删除的货筐RFID绑定记录主键 + * @return 结果 + */ + @Override + public int deleteRecordtRfidBindingByRfidBindingIds(String rfidBindingIds) { + return recordtRfidBindingMapper.deleteRecordtRfidBindingByRfidBindingIds(Convert.toStrArray(rfidBindingIds)); + } + + /** + * 删除货筐RFID绑定记录信息 + * + * @param rfidBindingId 货筐RFID绑定记录主键 + * @return 结果 + */ + @Override + public int deleteRecordtRfidBindingByRfidBindingId(Long rfidBindingId) { + return recordtRfidBindingMapper.deleteRecordtRfidBindingByRfidBindingId(rfidBindingId); + } +} diff --git a/ruoyi-manager/src/main/resources/mapper/BaseBasketInfoMapper.xml b/ruoyi-manager/src/main/resources/mapper/BaseBasketInfoMapper.xml index bd55e0d..bc5b5e1 100644 --- a/ruoyi-manager/src/main/resources/mapper/BaseBasketInfoMapper.xml +++ b/ruoyi-manager/src/main/resources/mapper/BaseBasketInfoMapper.xml @@ -1,34 +1,34 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -54,24 +54,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from base_basket_info - - - and basket_code = #{basketCode} - and basket_epc = #{basketEpc} - and basket_type = #{basketType} - and basket_status = #{basketStatus} - and steel_grade like concat('%', #{steelGrade}, '%') - and self_code like concat('%', #{selfCode}, '%') + + and basket_code = #{basketCode} + and basket_epc = #{basketEpc} + and basket_type = #{basketType} + and basket_status = #{basketStatus} + and steel_grade like concat('%', #{steelGrade}, '%') + + and self_code like concat('%', #{selfCode}, '%') - + - + insert into base_basket_info basket_code, @@ -141,11 +144,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from base_basket_info where obj_id = #{objId} + delete + from base_basket_info + where obj_id = #{objId} - delete from base_basket_info where obj_id in + delete from base_basket_info where obj_id in #{objId} @@ -156,7 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where basket_epc = #{epc} or basket_epc2 = #{epc} limit 1 - where basket_code = #{epc} limit 1 @@ -165,5 +170,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where basket_code = #{searchCode} or steel_grade = #{searchCode} limit 1 + + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/mapper/manager/RecordtRfidBindingMapper.xml b/ruoyi-manager/src/main/resources/mapper/manager/RecordtRfidBindingMapper.xml new file mode 100644 index 0000000..44dfe34 --- /dev/null +++ b/ruoyi-manager/src/main/resources/mapper/manager/RecordtRfidBindingMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + select RFID_binding_id, + base_basket_id, + base.basket_epc, + base.basket_epc2, + base.created_by, + base.created_time, + file_path, + basket_code, + steel_grade, + self_code, + basket_type + from base_basket_rfid_binding_record base + left join base_basket_info bbi on base.base_basket_id = bbi.obj_id + + + select RFID_binding_id, base_basket_id, basket_epc, basket_epc2, created_by, created_time + from base_basket_rfid_binding_record + + + + + + + + + insert into base_basket_rfid_binding_record + + base_basket_id, + basket_epc, + basket_epc2, + created_by, + created_time, + file_path, + + + #{baseBasketId}, + #{basketEpc}, + #{basketEpc2}, + #{createdBy}, + #{createdTime}, + #{filePath}, + + + + + update base_basket_rfid_binding_record + + base_basket_id = #{baseBasketId}, + basket_epc = #{basketEpc}, + basket_epc2 = #{basketEpc2}, + created_by = #{createdBy}, + created_time = #{createdTime}, + + where RFID_binding_id = #{rfidBindingId} + + + + delete + from base_basket_rfid_binding_record + where RFID_binding_id = #{rfidBindingId} + + + + delete from base_basket_rfid_binding_record where RFID_binding_id in + + #{rfidBindingId} + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/sql/recordtRfidBindingMenu.sql b/ruoyi-manager/src/main/resources/sql/recordtRfidBindingMenu.sql new file mode 100644 index 0000000..6491845 --- /dev/null +++ b/ruoyi-manager/src/main/resources/sql/recordtRfidBindingMenu.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('货筐RFID绑定记录', '2044', '1', '/manager/recordtRfidBinding', 'C', '0', 'manager:recordtRfidBinding:view', '#', 'admin', sysdate(), '', null, '货筐RFID绑定记录菜单'); + +-- 按钮父菜单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('货筐RFID绑定记录查询', @parentId, '1', '#', 'F', '0', 'manager:recordtRfidBinding: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('货筐RFID绑定记录新增', @parentId, '2', '#', 'F', '0', 'manager:recordtRfidBinding: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('货筐RFID绑定记录修改', @parentId, '3', '#', 'F', '0', 'manager:recordtRfidBinding: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('货筐RFID绑定记录删除', @parentId, '4', '#', 'F', '0', 'manager:recordtRfidBinding: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('货筐RFID绑定记录导出', @parentId, '5', '#', 'F', '0', 'manager:recordtRfidBinding:export', '#', 'admin', sysdate(), '', null, ''); diff --git a/ruoyi-manager/src/main/resources/templates/base/basketInfo/basketInfo.html b/ruoyi-manager/src/main/resources/templates/base/basketInfo/basketInfo.html index 5f5cf8f..d337285 100644 --- a/ruoyi-manager/src/main/resources/templates/base/basketInfo/basketInfo.html +++ b/ruoyi-manager/src/main/resources/templates/base/basketInfo/basketInfo.html @@ -161,11 +161,11 @@ { field: 'basketEpc', - title: '资产RFID' + title: 'RFID标签1' }, { field: 'basketEpc2', - title: '资产RFID(副)' + title: 'RFID标签2' }, { field: 'basketType', diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/add.html b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/add.html new file mode 100644 index 0000000..451ff8e --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/add.html @@ -0,0 +1,76 @@ + + + + + + + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html new file mode 100644 index 0000000..d7d0978 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html @@ -0,0 +1,77 @@ + + + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html new file mode 100644 index 0000000..b7a0068 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html @@ -0,0 +1,163 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • +
  • + + + - + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java index 9c24d55..39e042e 100644 --- a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java @@ -1,20 +1,22 @@ package com.ruoyi.webapi.controller; +import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.manager.domain.*; -import com.ruoyi.manager.domain.BaseManufacturer; -import com.ruoyi.manager.domain.LedgerInstantBinding; -import com.ruoyi.manager.domain.RecordBasketRepair; import com.ruoyi.manager.service.IBaseBasketInfoService; import com.ruoyi.manager.service.IBaseManufacturerService; import com.ruoyi.manager.service.IRecordBasketRepairService; +import com.ruoyi.manager.service.IRecordtRfidBindingService; import com.ruoyi.webapi.doman.BindingSubmitBeen; import com.ruoyi.webapi.doman.JoinSubmitBeen; import com.ruoyi.webapi.service.ApiService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.Date; import java.util.List; @@ -32,6 +34,8 @@ public class ApiController { private IBaseBasketInfoService baseBasketInfoService; @Autowired private IRecordBasketRepairService recordBasketRepairService; + @Autowired + private IRecordtRfidBindingService recordtRfidBindingService; @PostMapping("/bindingSubmit") public AjaxResult bindingSubmit(@RequestBody BindingSubmitBeen submitBeen) { @@ -131,17 +135,28 @@ public class ApiController { */ @PostMapping("/saveBasketInfo") public AjaxResult saveBasketInfo(@RequestBody BaseBasketInfo baseBasketInfo) { + int tagCount=baseBasketInfoService.selectCountBasketByEpc(baseBasketInfo.getBasketEpc()); + if (tagCount>0){ + return AjaxResult.error("RFID标签1已绑定"); + } + tagCount=baseBasketInfoService.selectCountBasketByEpc(baseBasketInfo.getBasketEpc2()); + if (tagCount>0){ + return AjaxResult.error("RFID标签2已绑定"); + } + List list = baseBasketInfoService.checkBasketInfoBySteelGradeAndSelfCode(baseBasketInfo); + if (list!=null && !list.isEmpty()){ + return AjaxResult.error("钢号或自编号已存在"); + } + baseBasketInfo.setUpdatedTime(new Date()); - int i=0; + int i = 0; if (baseBasketInfo.getObjId() == null) { i = baseBasketInfoService.insertBaseBasketInfo(baseBasketInfo); - }else { + } else { baseBasketInfo.setUpdatedBy(baseBasketInfo.getCreatedBy()); baseBasketInfo.setCreatedBy(null); i = baseBasketInfoService.updateBaseBasketInfo(baseBasketInfo); } - - if (i > 0) return AjaxResult.success(); return AjaxResult.error(); } @@ -166,16 +181,69 @@ public class ApiController { if (baseBasketInfo == null) return AjaxResult.error("没有维护该资产"); return AjaxResult.success(baseBasketInfo); } + /** * 通过资产编号查询资产 */ @GetMapping("/getBasketInfoBySearchCode") public AjaxResult getBasketInfoBySearchCode(String searchCode) { - BaseBasketInfo baseBasketInfo = baseBasketInfoService.selectBaseBasketInfoBySearchCode(searchCode); + List baseBasketInfo = baseBasketInfoService.selectBaseBasketInfoBySearchCode2(searchCode); if (baseBasketInfo == null) return AjaxResult.error("没有维护该资产"); return AjaxResult.success(baseBasketInfo); } + /** + * 提交绑定记录 + */ + @PostMapping("/submitBindingRecord") + public AjaxResult submitBindingRecord(Long baseBasketId, String basketEpc, String basketEpc2, String createdBy, List files) { + int tagCount=baseBasketInfoService.selectCountBasketByEpc(basketEpc); + if (tagCount>0){ + return AjaxResult.error("RFID标签1已绑定"); + } + tagCount=baseBasketInfoService.selectCountBasketByEpc(basketEpc2); + if (tagCount>0){ + return AjaxResult.error("RFID标签2已绑定"); + } + // 验证钢号与自编号重复 + + + String filePath = RuoYiConfig.getUploadPath(); + StringBuilder stringBuilder = new StringBuilder(); + for (int i = 0; i < files.size(); i++) { + String fileName = null; + try { + fileName = FileUploadUtils.upload(filePath, files.get(i)); + } catch (IOException e) { + throw new RuntimeException(e); + } + // System.out.println("上传路径="+fileName); + stringBuilder.append(fileName); + if (i != files.size() - 1) { + stringBuilder.append(","); + } + + } + + // 新增绑定记录 + RecordtRfidBinding recordtRfidBinding = new RecordtRfidBinding(); + recordtRfidBinding.setBaseBasketId(baseBasketId); + recordtRfidBinding.setBasketEpc(basketEpc); + recordtRfidBinding.setBasketEpc2(basketEpc2); + recordtRfidBinding.setCreatedBy(createdBy); + recordtRfidBinding.setFilePath(stringBuilder.toString()); + int i = recordtRfidBindingService.insertRecordtRfidBinding(recordtRfidBinding); + // 更新资产信息 + BaseBasketInfo baseBasketInfo = new BaseBasketInfo(); + baseBasketInfo.setBasketEpc(basketEpc); + baseBasketInfo.setBasketEpc2(basketEpc2); + baseBasketInfo.setUpdatedTime(new Date()); + baseBasketInfo.setUpdatedBy(createdBy); + baseBasketInfo.setObjId(baseBasketId); + int i1 = baseBasketInfoService.updateBaseBasketInfo(baseBasketInfo); + if (i > 0 ) return AjaxResult.success(); + return AjaxResult.error(); + } /* @GetMapping("/getVersion") public String getVersion(){