From 0f29c27d209cdcabce41bcd748e98fe5eba2b033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=87=E9=87=8C?= <1726150332@qq.com> Date: Mon, 27 Apr 2026 14:47:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AE=E8=83=8E=E7=94=9F=E5=91=BD=E5=91=A8?= =?UTF-8?q?=E6=9C=9F=E5=B1=95=E7=A4=BA=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/tyre/BaseTyreController.java | 67 ++++++++++++------- .../src/main/resources/application.yml | 2 +- .../ruoyi/framework/config/ShiroConfig.java | 2 + .../com/ruoyi/system/domain/BaseTyre.java | 19 ++++++ .../system/domain/BizOrderTireDetail.java | 12 +++- .../ruoyi/system/mapper/BaseTyreMapper.java | 2 + .../system/service/IBaseTyreService.java | 2 + .../service/IRecordTyreInstallService.java | 1 + .../service/impl/BaseTyreServiceImpl.java | 35 ++++++++++ .../impl/RecordTyreInstallServiceImpl.java | 2 + .../resources/mapper/tyre/BaseTyreMapper.xml | 34 ++++++++++ .../mapper/tyre/BizMaintenanceOrderMapper.xml | 1 + .../mapper/tyre/BizOrderTireDetailMapper.xml | 21 +++--- 13 files changed, 167 insertions(+), 33 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreController.java index 48554e37..eb5b15e9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreController.java @@ -12,11 +12,7 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.vo.BaseTyreVo; -import com.ruoyi.system.service.IBaseTyreService; -import com.ruoyi.system.service.IRecordCheckService; -import com.ruoyi.system.service.IRecordTyreInstallService; -import com.ruoyi.system.service.IRecordWarehousingService; -import com.ruoyi.system.service.ITyreStatDetailService; +import com.ruoyi.system.service.*; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; @@ -57,7 +53,10 @@ public class BaseTyreController extends BaseController //“库存盘点详情”对话框和“轮胎详情”页签 @Autowired private ITyreStatDetailService tyreStatDetailService; - + @Autowired + private IBizOrderTireDetailService bizOrderTireDetailService; + @Autowired + private IBizMaintenanceOrderService iBizMaintenanceOrderService; @RequiresPermissions("tyre:tyre:view") @GetMapping() public String tyre() @@ -73,11 +72,8 @@ public class BaseTyreController extends BaseController } /** - * 获取轮胎库存统计报表(模拟数据) + * 获取轮胎库存统计报表 */ - - - @GetMapping("/detail/{tyreId}") public String tyreDetil(@PathVariable("tyreId") Long tyreId, Model model) { @@ -117,15 +113,12 @@ public class BaseTyreController extends BaseController timelineItem.setColor("primary"); // 蓝色,代表进入 timelineItem.setTime(item.getCreateTime()); } - timelineItem.setType("warehousing"); timelineItem.setDetail("仓库:" + "轮胎仓库"); // 如果有仓库名称字段,可以替换 "轮胎仓库" - timelineItems.add(timelineItem); } } - // --- 2.2 查询并转换安装记录 --- RecordTyreInstall installQuery = new RecordTyreInstall(); installQuery.setTyreRfid(tyre.getTyreEpc()); @@ -144,18 +137,27 @@ public class BaseTyreController extends BaseController } } - // --- 2.3 查询并转换检查记录 --- - RecordCheck checkQuery = new RecordCheck(); - checkQuery.setTyreRfid(tyre.getTyreEpc()); - List checkList = recordCheckService.selectRecordCheckList(checkQuery); - if (checkList != null) { - for (RecordCheck item : checkList) { + //保养记录 + BizOrderTireDetail bizOrderTireDetail = new BizOrderTireDetail(); + bizOrderTireDetail.setTireId(tyre.getTyreId()); + List bizOrderTireDetailList = bizOrderTireDetailService.selectBizOrderTireDetailList(bizOrderTireDetail); + if (bizOrderTireDetailList != null) { + for (BizOrderTireDetail item : bizOrderTireDetailList) { + //查询质检单信息 + Long orderID = item.getOrderId(); + BizMaintenanceOrder bizMaintenanceOrder = iBizMaintenanceOrderService.selectBizMaintenanceOrderByOrderId(orderID); TimelineItem timelineItem = new TimelineItem(); - timelineItem.setId(item.getId()); - timelineItem.setTitle("轮胎检查"+item.getCreateBy()); + timelineItem.setId(item.getDetailId()); + timelineItem.setTitle("轮胎检查保养"+item.getCreateBy()); timelineItem.setType("check"); // timelineItem.setDetail(buildCheckDetail(item)); - timelineItem.setDetail("深度:" + "17.8mm"); + timelineItem.setDetail("场站:" + bizMaintenanceOrder.getFactoryName()+ + "|车牌:"+bizMaintenanceOrder.getPlateNumber()+ + "|轮位:"+item.getPositionName()+ + "|花纹深度:"+item.getTreadDepth()+ + "|气压:"+item.getTirePress()+ + "|备注:"+item.getRemark() + ); timelineItem.setTime(item.getCreateTime()); timelineItem.setIcon("fa-check-circle"); timelineItem.setColor("warning"); @@ -300,6 +302,14 @@ public class BaseTyreController extends BaseController return info; } + /** + * PDA查询轮胎生命周期数据 + * @param baseTyre + * @return + */ + + + @PostMapping("/setRfidBarcode") @ResponseBody public AjaxResult setRfidBarcode(@Validated BaseTyre baseTyre) @@ -490,5 +500,16 @@ public class BaseTyreController extends BaseController // 库存盘点链路统一切到新版详情模板,保留旧模板文件给其他场景继续观察或回退。 return prefix + "/typreDetill2"; } - + @PostMapping("/pdaQueryTyreTimeLine") + @ResponseBody + public AjaxResult pdaQueryTyreTimeLine(BaseTyre baseTyre) + { + try { + Map resultMap = baseTyreService.pdaQueryTyreTimeLine(baseTyre); + return success(resultMap); + }catch (Exception e){ + e.printStackTrace(); + return error(); + } + } } diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 9458cb68..95b89968 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -7,7 +7,7 @@ ruoyi: # 版权年份 copyrightYear: 2026 # 实例演示开关 - demoEnabled: false + demoEnabled: true # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: C:/ruoyi/uploadPath # 获取ip地址开关 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java index 6a51b89b..caddc4dc 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java @@ -347,6 +347,8 @@ public class ShiroConfig filterChainDefinitionMap.put("/tyre/order/PDAGetMaintenanceOrder", "anon,captchaValidate"); filterChainDefinitionMap.put("/tyre/order/PDAAddMaintenanceOrder", "anon,captchaValidate"); filterChainDefinitionMap.put("/tyre/order/PDASaveMaintenanceOrder", "anon,captchaValidate"); + filterChainDefinitionMap.put("/tyre/tyre/pdaQueryTyreTimeLine", "anon,captchaValidate"); + // 系统权限列表 // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll()); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseTyre.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseTyre.java index ad9eb305..ae569569 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseTyre.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseTyre.java @@ -52,6 +52,8 @@ public class BaseTyre extends BaseEntity private String tyrePattern; @Excel(name = "轮胎初始深度") private String patternDepth; + @Excel(name = "标准气压") + private String pressure; @Excel(name = "轮胎沟槽数") private String grooves; /** 轮胎类别 */ @@ -74,6 +76,23 @@ public class BaseTyre extends BaseEntity @Excel(name = "所在轮位") private String wheelPostion; + public String getPressure() { + return pressure; + } + + public void setPressure(String pressure) { + this.pressure = pressure; + } + + private String keyParam; + + public String getKeyParam() { + return keyParam; + } + + public void setKeyParam(String keyParam) { + this.keyParam = keyParam; + } public String getCompany() { return company; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizOrderTireDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizOrderTireDetail.java index 9733ea7e..d939d7e2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizOrderTireDetail.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizOrderTireDetail.java @@ -24,8 +24,10 @@ public class BizOrderTireDetail extends BaseEntity private Long orderId; /** 轮胎位置ID(关联位置表) */ - @Excel(name = "轮胎位置ID", readConverterExp = "关=联位置表") + // @Excel(name = "轮胎位置ID", readConverterExp = "关=联位置表") private Long positionId; + @Excel(name = "轮胎位置ID") + private String positionName; /** 轮胎ID(关联轮胎档案,如果是新胎可能为空或临时生成) */ @Excel(name = "轮胎ID", readConverterExp = "关=联轮胎档案,如果是新胎可能为空或临时生成") @@ -49,6 +51,14 @@ public class BizOrderTireDetail extends BaseEntity // 数据类型(保养;换新胎,卸车;换新胎,装车) private String dataType; + public String getPositionName() { + return positionName; + } + + public void setPositionName(String positionName) { + this.positionName = positionName; + } + public String getDataType() { return dataType; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java index 9d96973b..d414b88d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java @@ -72,4 +72,6 @@ public interface BaseTyreMapper String getTeamByUser(String createBy); List vTyreStockSummary(SysDept sysDept); + + BaseTyre selectBaseTyreByKeyParam(BaseTyre baseTyre); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseTyreService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseTyreService.java index 6d8e0e4d..02e118cf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseTyreService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseTyreService.java @@ -75,4 +75,6 @@ public interface IBaseTyreService String importBaseTyre(List baseTyreVoList, boolean updateSupport, String operName); List vTyreStockSummary(SysDept sysDept); + + Map pdaQueryTyreTimeLine(BaseTyre baseTyre); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordTyreInstallService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordTyreInstallService.java index 68bc1c25..04c6ac0f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordTyreInstallService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IRecordTyreInstallService.java @@ -67,4 +67,5 @@ public interface IRecordTyreInstallService AjaxResult PdaInstallTyre(RecordTyreInstall recordTyreInstall); AjaxResult PdaUnInstallTyre(RecordTyreInstall recordTyreInstall); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseTyreServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseTyreServiceImpl.java index d146ac45..09e2706b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseTyreServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseTyreServiceImpl.java @@ -10,8 +10,12 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.BaseCar; import com.ruoyi.system.domain.BaseTyre; +import com.ruoyi.system.domain.RecordTyreInstall; +import com.ruoyi.system.domain.RecordWarehousing; import com.ruoyi.system.domain.vo.BaseTyreVo; import com.ruoyi.system.mapper.BaseTyreMapper; +import com.ruoyi.system.mapper.RecordTyreInstallMapper; +import com.ruoyi.system.mapper.RecordWarehousingMapper; import com.ruoyi.system.service.IBaseTyreService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,6 +23,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -35,6 +40,12 @@ public class BaseTyreServiceImpl implements IBaseTyreService { @Autowired private BaseTyreMapper baseTyreMapper; + + @Autowired + private RecordWarehousingMapper recordWarehousingMapper; + + @Autowired + private RecordTyreInstallMapper recordTyreInstallMapper; private static final Logger log = LoggerFactory.getLogger(BaseTyreServiceImpl.class); /** * 查询轮胎基础信息 @@ -213,4 +224,28 @@ public class BaseTyreServiceImpl implements IBaseTyreService List mapList = baseTyreMapper.vTyreStockSummary(sysDept); return mapList; } + + @Override + public Map pdaQueryTyreTimeLine(BaseTyre baseTyre) { + Map map = new HashMap(); + //查询轮胎数据 + BaseTyre resultBase = baseTyreMapper.selectBaseTyreByKeyParam(baseTyre); + if (resultBase==null){ + return map; + }else { + map.put("resultBase",resultBase); + //查询出入库数据 + String tyreRfid = resultBase.getTyreEpc(); + RecordWarehousing recordWarehousing = new RecordWarehousing(); + recordWarehousing.setTyreRfid(tyreRfid); + List recordWarehousingList = recordWarehousingMapper.selectRecordWarehousingList(recordWarehousing); + map.put("recordWarehousingList",recordWarehousingList); + //查询操作记录记录(装卸车) + RecordTyreInstall recordTyreInstall = new RecordTyreInstall(); + recordTyreInstall.setTyreRfid(tyreRfid); + List recordTyreInstallList = recordTyreInstallMapper.selectRecordTyreInstallList(recordTyreInstall); + map.put("recordTyreInstallList",recordTyreInstallList); + return map; + } + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordTyreInstallServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordTyreInstallServiceImpl.java index 40fe959d..304adb85 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordTyreInstallServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordTyreInstallServiceImpl.java @@ -179,6 +179,8 @@ public class RecordTyreInstallServiceImpl implements IRecordTyreInstallService } return AjaxResult.error("卸胎失败!"); } + + public static long calculateMileageDifference(long endMileage, long startMileage) { return Math.abs(endMileage - startMileage); } diff --git a/ruoyi-system/src/main/resources/mapper/tyre/BaseTyreMapper.xml b/ruoyi-system/src/main/resources/mapper/tyre/BaseTyreMapper.xml index 6a416277..d6e1f914 100644 --- a/ruoyi-system/src/main/resources/mapper/tyre/BaseTyreMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/tyre/BaseTyreMapper.xml @@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -126,6 +127,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.dataScope} + diff --git a/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml b/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml index 13bbd13c..360409de 100644 --- a/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml @@ -111,6 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN sys_user su ON su.login_name = bmo.create_by LEFT JOIN sys_user sus ON sus.login_name = bmo.update_by LEFT JOIN base_car bc ON bc.id = bmo.vehicle_id + where order_id = #{orderId} - + select botd.detail_id, botd.order_id, botd.position_id, botd.tire_id, botd.tire_code, botd.tread_depth, + botd.tire_press, botd.tire_status, botd.create_by, botd.create_time, botd.update_by, botd.update_time, botd.remark, + sda.dict_label as position_name + from biz_order_tire_detail botd + LEFT JOIN sys_dict_data sda ON sda.dict_value = botd.position_id - and order_id = #{orderId} - and position_id = #{positionId} - and tire_id = #{tireId} - and tire_code = #{tireCode} - and tread_depth = #{treadDepth} - and tire_press = #{tirePress} - and tire_status = #{tireStatus} + and botd.order_id = #{orderId} + and botd.position_id = #{positionId} + and botd.tire_id = #{tireId} + and botd.tire_code = #{tireCode} + and botd.tread_depth = #{treadDepth} + and botd.tire_press = #{tirePress} + and botd.tire_status = #{tireStatus}