diff --git a/README.md b/README.md
index 274d769..550987f 100644
--- a/README.md
+++ b/README.md
@@ -1,95 +1,6 @@
-
-
-
-RuoYi v3.8.9
-基于SpringBoot+Vue前后端分离的Java快速开发框架
-
-
-
-
-
-
-## 平台简介
-
-若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
-
-* 前端采用Vue、Element UI。
-* 后端采用Spring Boot、Spring Security、Redis & Jwt。
-* 权限认证使用Jwt,支持多终端认证系统。
-* 支持加载动态权限菜单,多方式轻松权限控制。
-* 高效率开发,使用代码生成器可以一键生成前后端代码。
-* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://gitcode.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
-* 提供了单应用版本[RuoYi-Vue-fast](https://gitcode.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://gitcode.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
-* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
-* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
-
-## 内置功能
-
-1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
-2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
-3. 岗位管理:配置系统用户所属担任职务。
-4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
-5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
-6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
-7. 参数管理:对系统动态配置常用参数。
-8. 通知公告:系统通知公告信息发布维护。
-9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
-10. 登录日志:系统登录日志记录查询包含登录异常。
-11. 在线用户:当前系统中活跃用户状态监控。
-12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
-13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
-14. 系统接口:根据业务代码自动生成相关的api接口文档。
-15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
-16. 缓存监控:对系统的缓存信息查询,命令统计等。
-17. 在线构建器:拖动表单元素生成相应的HTML代码。
-18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
-
-## 在线体验
-
-- admin/admin123
-- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
-
-演示地址:http://vue.ruoyi.vip
-文档地址:http://doc.ruoyi.vip
-
-## 演示图
-
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-
-
-## 若依前后端分离交流群
-
-QQ群: [](https://jq.qq.com/?_wv=1027&k=5bVB1og) [](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [](https://jq.qq.com/?_wv=1027&k=51G72yr) [](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [](https://jq.qq.com/?_wv=1027&k=SpyH2875) [](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=F58bgRa-Dp-rsQJThiJqIYv8t4-lWfXh&authKey=UmUs4CVG5OPA1whvsa4uSespOvyd8%2FAr9olEGaWAfdLmfKQk%2FVBp2YU3u2xXXt76&noverify=0&group_code=224622315) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Nxb2EQ5qozWa218Wbs7zgBnjLSNk_tVT&authKey=obBKXj6SBKgrFTJZx0AqQnIYbNOvBB2kmgwWvGhzxR67RoRr84%2Bus5OadzMcdJl5&noverify=0&group_code=287842588) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=numtK1M_I4eVd2Gvg8qtbuL8JgX42qNh&authKey=giV9XWMaFZTY%2FqPlmWbkB9g3fi0Ev5CwEtT9Tgei0oUlFFCQLDp4ozWRiVIzubIm&noverify=0&group_code=187944233) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=G6r5KGCaa3pqdbUSXNIgYloyb8e0_L0D&authKey=4w8tF1eGW7%2FedWn%2FHAypQksdrML%2BDHolQSx7094Agm7Luakj9EbfPnSTxSi2T1LQ&noverify=0&group_code=228578329) 点击按钮入群。
\ No newline at end of file
+海威标签数据库接口
+前端采用Vue、Element UI。
+后端采用Spring Boot、Spring Security、Redis & Jwt。
+权限认证使用Jwt,支持多终端认证系统。
+支持加载动态权限菜单,多方式轻松权限控制。
+高效率开发,使用代码生成器可以一键生成前后端代码。
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 54fb171..9ac3c83 100644
--- a/pom.xml
+++ b/pom.xml
@@ -225,6 +225,12 @@
${tagApi.version}
+
+
+
+
+
+
diff --git a/tagApi-service/src/main/java/hw/tagApi/Main.java b/tagApi-service/src/main/java/hw/tagApi/Main.java
deleted file mode 100644
index c246a1c..0000000
--- a/tagApi-service/src/main/java/hw/tagApi/Main.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package hw.tagApi;
-
-public class Main {
- public static void main(String[] args) {
- System.out.println("Hello, World!");
- }
-}
\ No newline at end of file
diff --git a/tagApi-service/src/main/java/hw/tagApi/service/controller/HwTagRecordController.java b/tagApi-service/src/main/java/hw/tagApi/service/controller/HwTagRecordController.java
new file mode 100644
index 0000000..fc5a293
--- /dev/null
+++ b/tagApi-service/src/main/java/hw/tagApi/service/controller/HwTagRecordController.java
@@ -0,0 +1,98 @@
+package hw.tagApi.service.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import hw.tagApi.common.annotation.Log;
+import hw.tagApi.common.core.controller.BaseController;
+import hw.tagApi.common.core.domain.AjaxResult;
+import hw.tagApi.common.enums.BusinessType;
+import hw.tagApi.service.domain.HwTagRecord;
+import hw.tagApi.service.service.IHwTagRecordService;
+import hw.tagApi.common.utils.poi.ExcelUtil;
+import hw.tagApi.common.core.page.TableDataInfo;
+
+/**
+ * 标签记录Controller
+ *
+ * @author Yinq
+ * @date 2025-04-15
+ */
+@RestController
+@RequestMapping("/service/tagRecord")
+public class HwTagRecordController extends BaseController {
+ @Autowired
+ private IHwTagRecordService hwTagRecordService;
+
+ /**
+ * 查询标签记录列表
+ */
+ @PreAuthorize("@ss.hasPermi('service:tagRecord:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(HwTagRecord hwTagRecord) {
+ startPage();
+ List list = hwTagRecordService.selectHwTagRecordList(hwTagRecord);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出标签记录列表
+ */
+ @PreAuthorize("@ss.hasPermi('service:tagRecord:export')")
+ @Log(title = "标签记录", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, HwTagRecord hwTagRecord) {
+ List list = hwTagRecordService.selectHwTagRecordList(hwTagRecord);
+ ExcelUtil util = new ExcelUtil(HwTagRecord.class);
+ util.exportExcel(response, list, "标签记录数据");
+ }
+
+ /**
+ * 获取标签记录详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('service:tagRecord:query')")
+ @GetMapping(value = "/{rId}")
+ public AjaxResult getInfo(@PathVariable("rId") Long rId) {
+ return success(hwTagRecordService.selectHwTagRecordByRId(rId));
+ }
+
+ /**
+ * 新增标签记录
+ */
+ @PreAuthorize("@ss.hasPermi('service:tagRecord:add')")
+ @Log(title = "标签记录", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody HwTagRecord hwTagRecord) {
+ return toAjax(hwTagRecordService.insertHwTagRecord(hwTagRecord));
+ }
+
+ /**
+ * 修改标签记录
+ */
+ @PreAuthorize("@ss.hasPermi('service:tagRecord:edit')")
+ @Log(title = "标签记录", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody HwTagRecord hwTagRecord) {
+ return toAjax(hwTagRecordService.updateHwTagRecord(hwTagRecord));
+ }
+
+ /**
+ * 删除标签记录
+ */
+ @PreAuthorize("@ss.hasPermi('service:tagRecord:remove')")
+ @Log(title = "标签记录", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{rIds}")
+ public AjaxResult remove(@PathVariable Long[] rIds) {
+ return toAjax(hwTagRecordService.deleteHwTagRecordByRIds(rIds));
+ }
+}
diff --git a/tagApi-service/src/main/java/hw/tagApi/service/controller/KDocsApiController.java b/tagApi-service/src/main/java/hw/tagApi/service/controller/KDocsApiController.java
new file mode 100644
index 0000000..a82b7b2
--- /dev/null
+++ b/tagApi-service/src/main/java/hw/tagApi/service/controller/KDocsApiController.java
@@ -0,0 +1,24 @@
+package hw.tagApi.service.controller;
+
+import hw.tagApi.common.core.controller.BaseController;
+import hw.tagApi.service.service.IHwTagRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+
+/**
+ * 标签记录Controller
+ *
+ * @author Yinq
+ * @date 2025-04-15
+ */
+@RestController
+@RequestMapping("/docs")
+public class KDocsApiController extends BaseController {
+ @Autowired
+ private IHwTagRecordService hwTagRecordService;
+
+
+
+}
diff --git a/tagApi-service/src/main/java/hw/tagApi/service/domain/HwTagRecord.java b/tagApi-service/src/main/java/hw/tagApi/service/domain/HwTagRecord.java
new file mode 100644
index 0000000..de74fb9
--- /dev/null
+++ b/tagApi-service/src/main/java/hw/tagApi/service/domain/HwTagRecord.java
@@ -0,0 +1,269 @@
+package hw.tagApi.service.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 hw.tagApi.common.annotation.Excel;
+import hw.tagApi.common.core.domain.BaseEntity;
+
+/**
+ * 标签记录对象 hw_tag_record
+ *
+ * @author Yinq
+ * @date 2025-04-15
+ */
+public class HwTagRecord extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键标识,RID */
+ private Long rId;
+
+ /** TID */
+ @Excel(name = "TID")
+ private String tId;
+
+ /** EPC */
+ @Excel(name = "EPC")
+ private String epc;
+
+ /** 密码(预留字段) */
+ @Excel(name = "密码", readConverterExp = "预=留字段")
+ private String password;
+
+ /** 订单号,LOT */
+ @Excel(name = "订单号,LOT")
+ private String orderCode;
+
+ /** 批次编号,卷编号 */
+ @Excel(name = "批次编号,卷编号")
+ private String batchNumber;
+
+ /** 标签序号,序号 */
+ @Excel(name = "标签序号,序号")
+ private String tagSequence;
+
+ /** 总数量,本卷数量 */
+ @Excel(name = "总数量,本卷数量")
+ private Long totalQuantity;
+
+ /** 标签批次号(预留字段) */
+ @Excel(name = "标签批次号", readConverterExp = "预=留字段")
+ private String tagBatch;
+
+ /** 型号,导入提供 */
+ @Excel(name = "型号,导入提供")
+ private String modelCode;
+
+ /** 加工时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "加工时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date processingTime;
+
+ /** 操作人员编号,生产人员编号 */
+ @Excel(name = "操作人员编号,生产人员编号")
+ private String operatorId;
+
+ /** 数据状态标记 */
+ private Integer delFlag;
+
+ /** 预览字段1 */
+ @Excel(name = "预览字段1")
+ private String fields1;
+
+ /** 预览字段2 */
+ @Excel(name = "预览字段2")
+ private String fields2;
+
+ /** 预览字段3 */
+ @Excel(name = "预览字段3")
+ private String fields3;
+
+ public void setrId(Long rId)
+ {
+ this.rId = rId;
+ }
+
+ public Long getrId()
+ {
+ return rId;
+ }
+
+ public void settId(String tId)
+ {
+ this.tId = tId;
+ }
+
+ public String gettId()
+ {
+ return tId;
+ }
+
+ public void setEpc(String epc)
+ {
+ this.epc = epc;
+ }
+
+ public String getEpc()
+ {
+ return epc;
+ }
+
+ public void setPassword(String password)
+ {
+ this.password = password;
+ }
+
+ public String getPassword()
+ {
+ return password;
+ }
+
+ public void setOrderCode(String orderCode)
+ {
+ this.orderCode = orderCode;
+ }
+
+ public String getOrderCode()
+ {
+ return orderCode;
+ }
+
+ public void setBatchNumber(String batchNumber)
+ {
+ this.batchNumber = batchNumber;
+ }
+
+ public String getBatchNumber()
+ {
+ return batchNumber;
+ }
+
+ public void setTagSequence(String tagSequence)
+ {
+ this.tagSequence = tagSequence;
+ }
+
+ public String getTagSequence()
+ {
+ return tagSequence;
+ }
+
+ public void setTotalQuantity(Long totalQuantity)
+ {
+ this.totalQuantity = totalQuantity;
+ }
+
+ public Long getTotalQuantity()
+ {
+ return totalQuantity;
+ }
+
+ public void setTagBatch(String tagBatch)
+ {
+ this.tagBatch = tagBatch;
+ }
+
+ public String getTagBatch()
+ {
+ return tagBatch;
+ }
+
+ public void setModelCode(String modelCode)
+ {
+ this.modelCode = modelCode;
+ }
+
+ public String getModelCode()
+ {
+ return modelCode;
+ }
+
+ public void setProcessingTime(Date processingTime)
+ {
+ this.processingTime = processingTime;
+ }
+
+ public Date getProcessingTime()
+ {
+ return processingTime;
+ }
+
+ public void setOperatorId(String operatorId)
+ {
+ this.operatorId = operatorId;
+ }
+
+ public String getOperatorId()
+ {
+ return operatorId;
+ }
+
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+
+ public void setFields1(String fields1)
+ {
+ this.fields1 = fields1;
+ }
+
+ public String getFields1()
+ {
+ return fields1;
+ }
+
+ public void setFields2(String fields2)
+ {
+ this.fields2 = fields2;
+ }
+
+ public String getFields2()
+ {
+ return fields2;
+ }
+
+ public void setFields3(String fields3)
+ {
+ this.fields3 = fields3;
+ }
+
+ public String getFields3()
+ {
+ return fields3;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("rId", getrId())
+ .append("tId", gettId())
+ .append("epc", getEpc())
+ .append("password", getPassword())
+ .append("orderCode", getOrderCode())
+ .append("batchNumber", getBatchNumber())
+ .append("tagSequence", getTagSequence())
+ .append("totalQuantity", getTotalQuantity())
+ .append("tagBatch", getTagBatch())
+ .append("modelCode", getModelCode())
+ .append("processingTime", getProcessingTime())
+ .append("operatorId", getOperatorId())
+ .append("delFlag", getDelFlag())
+ .append("fields1", getFields1())
+ .append("fields2", getFields2())
+ .append("fields3", getFields3())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("remark", getRemark())
+ .toString();
+ }
+}
diff --git a/tagApi-service/src/main/java/hw/tagApi/service/mapper/HwTagRecordMapper.java b/tagApi-service/src/main/java/hw/tagApi/service/mapper/HwTagRecordMapper.java
new file mode 100644
index 0000000..11dfcb7
--- /dev/null
+++ b/tagApi-service/src/main/java/hw/tagApi/service/mapper/HwTagRecordMapper.java
@@ -0,0 +1,61 @@
+package hw.tagApi.service.mapper;
+
+import java.util.List;
+import hw.tagApi.service.domain.HwTagRecord;
+
+/**
+ * 标签记录Mapper接口
+ *
+ * @author Yinq
+ * @date 2025-04-15
+ */
+public interface HwTagRecordMapper
+{
+ /**
+ * 查询标签记录
+ *
+ * @param rId 标签记录主键
+ * @return 标签记录
+ */
+ public HwTagRecord selectHwTagRecordByRId(Long rId);
+
+ /**
+ * 查询标签记录列表
+ *
+ * @param hwTagRecord 标签记录
+ * @return 标签记录集合
+ */
+ public List selectHwTagRecordList(HwTagRecord hwTagRecord);
+
+ /**
+ * 新增标签记录
+ *
+ * @param hwTagRecord 标签记录
+ * @return 结果
+ */
+ public int insertHwTagRecord(HwTagRecord hwTagRecord);
+
+ /**
+ * 修改标签记录
+ *
+ * @param hwTagRecord 标签记录
+ * @return 结果
+ */
+ public int updateHwTagRecord(HwTagRecord hwTagRecord);
+
+ /**
+ * 删除标签记录
+ *
+ * @param rId 标签记录主键
+ * @return 结果
+ */
+ public int deleteHwTagRecordByRId(Long rId);
+
+ /**
+ * 批量删除标签记录
+ *
+ * @param rIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteHwTagRecordByRIds(Long[] rIds);
+}
diff --git a/tagApi-service/src/main/java/hw/tagApi/service/service/IHwTagRecordService.java b/tagApi-service/src/main/java/hw/tagApi/service/service/IHwTagRecordService.java
new file mode 100644
index 0000000..afbf516
--- /dev/null
+++ b/tagApi-service/src/main/java/hw/tagApi/service/service/IHwTagRecordService.java
@@ -0,0 +1,61 @@
+package hw.tagApi.service.service;
+
+import java.util.List;
+import hw.tagApi.service.domain.HwTagRecord;
+
+/**
+ * 标签记录Service接口
+ *
+ * @author Yinq
+ * @date 2025-04-15
+ */
+public interface IHwTagRecordService
+{
+ /**
+ * 查询标签记录
+ *
+ * @param rId 标签记录主键
+ * @return 标签记录
+ */
+ public HwTagRecord selectHwTagRecordByRId(Long rId);
+
+ /**
+ * 查询标签记录列表
+ *
+ * @param hwTagRecord 标签记录
+ * @return 标签记录集合
+ */
+ public List selectHwTagRecordList(HwTagRecord hwTagRecord);
+
+ /**
+ * 新增标签记录
+ *
+ * @param hwTagRecord 标签记录
+ * @return 结果
+ */
+ public int insertHwTagRecord(HwTagRecord hwTagRecord);
+
+ /**
+ * 修改标签记录
+ *
+ * @param hwTagRecord 标签记录
+ * @return 结果
+ */
+ public int updateHwTagRecord(HwTagRecord hwTagRecord);
+
+ /**
+ * 批量删除标签记录
+ *
+ * @param rIds 需要删除的标签记录主键集合
+ * @return 结果
+ */
+ public int deleteHwTagRecordByRIds(Long[] rIds);
+
+ /**
+ * 删除标签记录信息
+ *
+ * @param rId 标签记录主键
+ * @return 结果
+ */
+ public int deleteHwTagRecordByRId(Long rId);
+}
diff --git a/tagApi-service/src/main/java/hw/tagApi/service/service/impl/HwTagRecordServiceImpl.java b/tagApi-service/src/main/java/hw/tagApi/service/service/impl/HwTagRecordServiceImpl.java
new file mode 100644
index 0000000..1c1cb53
--- /dev/null
+++ b/tagApi-service/src/main/java/hw/tagApi/service/service/impl/HwTagRecordServiceImpl.java
@@ -0,0 +1,96 @@
+package hw.tagApi.service.service.impl;
+
+import java.util.List;
+import hw.tagApi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import hw.tagApi.service.mapper.HwTagRecordMapper;
+import hw.tagApi.service.domain.HwTagRecord;
+import hw.tagApi.service.service.IHwTagRecordService;
+
+/**
+ * 标签记录Service业务层处理
+ *
+ * @author Yinq
+ * @date 2025-04-15
+ */
+@Service
+public class HwTagRecordServiceImpl implements IHwTagRecordService
+{
+ @Autowired
+ private HwTagRecordMapper hwTagRecordMapper;
+
+ /**
+ * 查询标签记录
+ *
+ * @param rId 标签记录主键
+ * @return 标签记录
+ */
+ @Override
+ public HwTagRecord selectHwTagRecordByRId(Long rId)
+ {
+ return hwTagRecordMapper.selectHwTagRecordByRId(rId);
+ }
+
+ /**
+ * 查询标签记录列表
+ *
+ * @param hwTagRecord 标签记录
+ * @return 标签记录
+ */
+ @Override
+ public List selectHwTagRecordList(HwTagRecord hwTagRecord)
+ {
+ return hwTagRecordMapper.selectHwTagRecordList(hwTagRecord);
+ }
+
+ /**
+ * 新增标签记录
+ *
+ * @param hwTagRecord 标签记录
+ * @return 结果
+ */
+ @Override
+ public int insertHwTagRecord(HwTagRecord hwTagRecord)
+ {
+ hwTagRecord.setCreateTime(DateUtils.getNowDate());
+ return hwTagRecordMapper.insertHwTagRecord(hwTagRecord);
+ }
+
+ /**
+ * 修改标签记录
+ *
+ * @param hwTagRecord 标签记录
+ * @return 结果
+ */
+ @Override
+ public int updateHwTagRecord(HwTagRecord hwTagRecord)
+ {
+ hwTagRecord.setUpdateTime(DateUtils.getNowDate());
+ return hwTagRecordMapper.updateHwTagRecord(hwTagRecord);
+ }
+
+ /**
+ * 批量删除标签记录
+ *
+ * @param rIds 需要删除的标签记录主键
+ * @return 结果
+ */
+ @Override
+ public int deleteHwTagRecordByRIds(Long[] rIds)
+ {
+ return hwTagRecordMapper.deleteHwTagRecordByRIds(rIds);
+ }
+
+ /**
+ * 删除标签记录信息
+ *
+ * @param rId 标签记录主键
+ * @return 结果
+ */
+ @Override
+ public int deleteHwTagRecordByRId(Long rId)
+ {
+ return hwTagRecordMapper.deleteHwTagRecordByRId(rId);
+ }
+}
diff --git a/tagApi-service/src/main/resources/mapper/service/HwTagRecordMapper.xml b/tagApi-service/src/main/resources/mapper/service/HwTagRecordMapper.xml
new file mode 100644
index 0000000..fee75a1
--- /dev/null
+++ b/tagApi-service/src/main/resources/mapper/service/HwTagRecordMapper.xml
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select r_id, t_id, epc, password, order_code, batch_number, tag_sequence, total_quantity, tag_batch, model_code, processing_time, operator_id, del_flag, fields_1, fields_2, fields_3, create_by, create_time, update_by, update_time, remark from hw_tag_record
+
+
+
+
+
+
+
+ insert into hw_tag_record
+
+ r_id,
+ t_id,
+ epc,
+ password,
+ order_code,
+ batch_number,
+ tag_sequence,
+ total_quantity,
+ tag_batch,
+ model_code,
+ processing_time,
+ operator_id,
+ del_flag,
+ fields_1,
+ fields_2,
+ fields_3,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ remark,
+
+
+ #{rId},
+ #{tId},
+ #{epc},
+ #{password},
+ #{orderCode},
+ #{batchNumber},
+ #{tagSequence},
+ #{totalQuantity},
+ #{tagBatch},
+ #{modelCode},
+ #{processingTime},
+ #{operatorId},
+ #{delFlag},
+ #{fields1},
+ #{fields2},
+ #{fields3},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+
+
+
+
+ update hw_tag_record
+
+ t_id = #{tId},
+ epc = #{epc},
+ password = #{password},
+ order_code = #{orderCode},
+ batch_number = #{batchNumber},
+ tag_sequence = #{tagSequence},
+ total_quantity = #{totalQuantity},
+ tag_batch = #{tagBatch},
+ model_code = #{modelCode},
+ processing_time = #{processingTime},
+ operator_id = #{operatorId},
+ del_flag = #{delFlag},
+ fields_1 = #{fields1},
+ fields_2 = #{fields2},
+ fields_3 = #{fields3},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+
+ where r_id = #{rId}
+
+
+
+ delete from hw_tag_record where r_id = #{rId}
+
+
+
+ delete from hw_tag_record where r_id in
+
+ #{rId}
+
+
+
\ No newline at end of file
diff --git a/tagApi-ui/src/api/service/tagRecord.js b/tagApi-ui/src/api/service/tagRecord.js
new file mode 100644
index 0000000..bd8ee8f
--- /dev/null
+++ b/tagApi-ui/src/api/service/tagRecord.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询标签记录列表
+export function listTagRecord(query) {
+ return request({
+ url: '/service/tagRecord/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询标签记录详细
+export function getTagRecord(rId) {
+ return request({
+ url: '/service/tagRecord/' + rId,
+ method: 'get'
+ })
+}
+
+// 新增标签记录
+export function addTagRecord(data) {
+ return request({
+ url: '/service/tagRecord',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改标签记录
+export function updateTagRecord(data) {
+ return request({
+ url: '/service/tagRecord',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除标签记录
+export function delTagRecord(rId) {
+ return request({
+ url: '/service/tagRecord/' + rId,
+ method: 'delete'
+ })
+}
diff --git a/tagApi-ui/src/views/index.vue b/tagApi-ui/src/views/index.vue
index 0582f02..1ca8914 100644
--- a/tagApi-ui/src/views/index.vue
+++ b/tagApi-ui/src/views/index.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/tagApi-ui/src/views/service/tagRecord/index.vue b/tagApi-ui/src/views/service/tagRecord/index.vue
new file mode 100644
index 0000000..0799b76
--- /dev/null
+++ b/tagApi-ui/src/views/service/tagRecord/index.vue
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.processingTime, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tagApi-ui/vue.config.js b/tagApi-ui/vue.config.js
index 266096a..48cfeb9 100644
--- a/tagApi-ui/vue.config.js
+++ b/tagApi-ui/vue.config.js
@@ -36,7 +36,7 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
- target: `http://localhost:8080`,
+ target: `http://localhost:9000`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''