From dc9191630f213ebef30b778949eb80d9e1eaa333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=87=E9=87=8C?= <1726150332@qq.com> Date: Sun, 19 Apr 2026 14:49:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9PDA=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E6=9C=80=E7=BB=88=E6=8F=90=E4=BA=A4=E7=9A=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B9=E6=B3=95,=E5=A2=9E=E5=8A=A0=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/tyre/BaseCarController.java | 9 +- .../controller/tyre/BaseTyreController.java | 121 +----------------- .../tyre/BizMaintenanceOrderController.java | 41 ++++-- .../resources/templates/tyre/order/edit.html | 27 ++-- .../resources/templates/tyre/tyre/stat.html | 64 +++++---- .../java/com/ruoyi/system/domain/BaseCar.java | 13 ++ .../system/domain/BizMaintenanceOrder.java | 10 ++ .../system/domain/MaintenanceOrderDTO.java | 3 + .../ruoyi/system/mapper/BaseTyreMapper.java | 3 + .../system/service/IBaseTyreService.java | 4 + .../service/impl/BaseTyreServiceImpl.java | 7 + .../resources/mapper/tyre/BaseCarMapper.xml | 11 +- .../resources/mapper/tyre/BaseTyreMapper.xml | 13 ++ .../mapper/tyre/BizMaintenanceOrderMapper.xml | 27 +++- 14 files changed, 178 insertions(+), 175 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarController.java index 83e5a5ee..c00e7174 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarController.java @@ -8,11 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.annotation.Validated; -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 org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.domain.BaseCar; @@ -148,9 +144,10 @@ public class BaseCarController extends BaseController { return toAjax(baseCarService.deleteBaseCarByIds(ids)); } + @PostMapping("/PdaQueryCarList") @ResponseBody - public AjaxResult PdaQueryCarList(BaseCar baseCar) + public AjaxResult PdaQueryCarList(@RequestBody BaseCar baseCar) { List list = baseCarService.selectBaseCarList(baseCar); return AjaxResult.success(list); 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 288aab7f..f2f461ba 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 @@ -5,6 +5,7 @@ import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.ShiroUtils; @@ -24,10 +25,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -179,117 +177,10 @@ public class BaseTyreController extends BaseController return getDataTable(list); } @PostMapping("/statList") - public AjaxResult statList() { - List list = new ArrayList<>(); - - // --- 模拟数据开始 --- - - // 1. 观澜修理厂 - TyreStatVO row1 = new TyreStatVO(); - row1.setDeptName("观澜修理厂"); - row1.setFactoryName("观澜修理厂"); - row1.setNewTyre(23); - row1.setRotateTyre(20); - row1.setRemoldTyre(0); - row1.setRepairTyre(0); - row1.setOnCarTyre(768); - row1.setPendingAppraise(0); - row1.setPendingRepair(0); - row1.setPendingRemold(0); - row1.setPendingScrap(0); - row1.setScrapped(0); - list.add(row1); - - // 2. 观湖修理厂 - TyreStatVO row2 = new TyreStatVO(); - row2.setDeptName("观湖修理厂"); - row2.setFactoryName("观湖修理厂"); - row2.setNewTyre(71); - row2.setRotateTyre(2); - row2.setRemoldTyre(0); - row2.setRepairTyre(0); - row2.setOnCarTyre(753); - row2.setPendingAppraise(0); - row2.setPendingRepair(0); - row2.setPendingRemold(0); - row2.setPendingScrap(0); - row2.setScrapped(0); - list.add(row2); - - // 3. 清湖修理厂 - TyreStatVO row3 = new TyreStatVO(); - row3.setDeptName("清湖修理厂"); - row3.setFactoryName("清湖修理厂"); - row3.setNewTyre(22); - row3.setRotateTyre(10); - row3.setRemoldTyre(0); - row3.setRepairTyre(0); - row3.setOnCarTyre(695); - row3.setPendingAppraise(0); - row3.setPendingRepair(0); - row3.setPendingRemold(0); - row3.setPendingScrap(0); - row3.setScrapped(0); - list.add(row3); - - // 4. 松岗修理厂 - TyreStatVO row4 = new TyreStatVO(); - row4.setDeptName("松岗修理厂"); - row4.setFactoryName("松岗修理厂"); - row4.setNewTyre(74); - row4.setRotateTyre(1); - row4.setRemoldTyre(1); - row4.setRepairTyre(0); - row4.setOnCarTyre(484); - row4.setPendingAppraise(0); - row4.setPendingRepair(0); - row4.setPendingRemold(0); - row4.setPendingScrap(1); - row4.setScrapped(0); - list.add(row4); - - // 5. 新和修理厂 - TyreStatVO row5 = new TyreStatVO(); - row5.setDeptName("新和修理厂"); - row5.setFactoryName("新和修理厂"); - row5.setNewTyre(131); - row5.setRotateTyre(1); - row5.setRemoldTyre(0); - row5.setRepairTyre(0); - row5.setOnCarTyre(473); - row5.setPendingAppraise(0); - row5.setPendingRepair(0); - row5.setPendingRemold(0); - row5.setPendingScrap(0); - row5.setScrapped(1); - list.add(row5); - - // --- 计算合计行 --- - TyreStatVO total = new TyreStatVO(); - total.setDeptName("合计"); - total.setFactoryName(""); // 合计行通常不需要显示场站名 - - // 这里简单手动累加一下,实际生产中可以用 Stream API - int newSum = list.stream().mapToInt(TyreStatVO::getNewTyre).sum(); - int rotSum = list.stream().mapToInt(TyreStatVO::getRotateTyre).sum(); - int remSum = list.stream().mapToInt(TyreStatVO::getRemoldTyre).sum(); - int repSum = list.stream().mapToInt(TyreStatVO::getRepairTyre).sum(); - int onCarSum = list.stream().mapToInt(TyreStatVO::getOnCarTyre).sum(); - int penScrapSum = list.stream().mapToInt(TyreStatVO::getPendingScrap).sum(); - int scrapSum = list.stream().mapToInt(TyreStatVO::getScrapped).sum(); - - total.setNewTyre(newSum); - total.setRotateTyre(rotSum); - total.setRemoldTyre(remSum); - total.setRepairTyre(repSum); - total.setOnCarTyre(onCarSum); - total.setPendingScrap(penScrapSum); - total.setScrapped(scrapSum); - - // 将合计行插入到第一位(或者最后一位,看你需求,图中是在第一位) - list.add(0, total); - - return AjaxResult.success(list); + @ResponseBody + public TableDataInfo statList(SysDept sysDept) { + List list = baseTyreService.vTyreStockSummary(sysDept); + return getDataTable(list); } @PostMapping("/getCarBingTire") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BizMaintenanceOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BizMaintenanceOrderController.java index 2e9bdfae..6127640b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BizMaintenanceOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BizMaintenanceOrderController.java @@ -9,11 +9,11 @@ import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.system.domain.BaseCar; -import com.ruoyi.system.domain.BizOrderTireDetail; -import com.ruoyi.system.domain.MaintenanceOrderDTO; +import com.ruoyi.system.domain.*; import com.ruoyi.system.service.IBaseCarService; import com.ruoyi.system.service.IBizOrderTireDetailService; +import com.ruoyi.system.service.ISysAttachmentService; +import com.sun.jna.platform.win32.OaIdl; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -22,7 +22,6 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.system.domain.BizMaintenanceOrder; import com.ruoyi.system.service.IBizMaintenanceOrderService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -30,6 +29,8 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; +import static com.ruoyi.common.utils.file.FileUploadUtils.extractFilename; + /** * 维保工单Controller * @@ -51,6 +52,9 @@ public class BizMaintenanceOrderController extends BaseController @Autowired private IBizOrderTireDetailService bizOrderTireDetailService; + @Autowired + private ISysAttachmentService iSysAttachmentService; + @RequiresPermissions("system:order:view") @GetMapping() public String order() @@ -191,8 +195,9 @@ public class BizMaintenanceOrderController extends BaseController @PostMapping("/PDASaveMaintenanceOrder") @ResponseBody @Transactional(rollbackFor = Exception.class) - public AjaxResult PDASaveMaintenanceOrder(@RequestBody MaintenanceOrderDTO bizMaintenanceOrder) + public AjaxResult PDASaveMaintenanceOrder(String json, List files) { + MaintenanceOrderDTO bizMaintenanceOrder= JSONObject.parseObject(json, MaintenanceOrderDTO.class); // 2. 校验参数 if (bizMaintenanceOrder == null || bizMaintenanceOrder.getOrder() == null) { return error("参数不能为空"); @@ -215,6 +220,27 @@ public class BizMaintenanceOrderController extends BaseController bizOrderTireDetailService.insertBizOrderTireDetail(bizOrderTireDetail); } } + if (files!=null && files.size()>0){ + //保存图片 + for (int i = 0; i < files.size(); i++) { + try { + String filePath= FileUploadUtils.upload(RuoYiConfig.getUploadPath(), files.get(i)); + //设置图片名称 + String fileName = extractFilename(files.get(i)); + //保存图片表 + SysAttachment sysAttachment =new SysAttachment(); + sysAttachment.setFileName(fileName); + sysAttachment.setFilePath(filePath); + sysAttachment.setFileSize(files.get(i).getSize()); + sysAttachment.setFileType(files.get(i).getContentType()); + sysAttachment.setOrderId(orderId); + iSysAttachmentService.insertSysAttachment(sysAttachment); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + return success("保存成功"); } else { // 5. 如果更新失败,直接返回错误,且不会执行下面的插入操作 @@ -229,14 +255,11 @@ public class BizMaintenanceOrderController extends BaseController String fileName = null; try { fileName = FileUploadUtils.upload(RuoYiConfig.getUploadPath(), files.get(i)); - tireDetails.get(i).setName(fileName); - +// tireDetails.get(i).setName(fileName); } catch (IOException e) { throw new RuntimeException(e); } } - - return AjaxResult.error(); } diff --git a/ruoyi-admin/src/main/resources/templates/tyre/order/edit.html b/ruoyi-admin/src/main/resources/templates/tyre/order/edit.html index 70a46546..79fcef71 100644 --- a/ruoyi-admin/src/main/resources/templates/tyre/order/edit.html +++ b/ruoyi-admin/src/main/resources/templates/tyre/order/edit.html @@ -143,39 +143,38 @@
- 粤B71857D +
- 所属场站:清湖修理厂 + 所属场站:
- 保养日期:2026-04-16 + 保养日期:
- 创建时间:2026-04-17 10:49:49 + 创建时间:
- 创建人:冯伟 + 创建人:
- 完成时间:2026-04-17 10:51:07 + 完成时间:
- 完成操作人:冯伟 + 完成操作人:
- 当前车辆里程(km):311233.00 + 当前车辆里程(km):
- 线路:M204 -
- -
- 所属部门:第四分公司-同胜 + 线路:
- 备注:- + 补充说明:- +
+
+ 备注:-
diff --git a/ruoyi-admin/src/main/resources/templates/tyre/tyre/stat.html b/ruoyi-admin/src/main/resources/templates/tyre/tyre/stat.html index d2e72625..8fd11c21 100644 --- a/ruoyi-admin/src/main/resources/templates/tyre/tyre/stat.html +++ b/ruoyi-admin/src/main/resources/templates/tyre/tyre/stat.html @@ -10,21 +10,10 @@
    -
  • - 轮胎品牌: +

    修理厂站:

    +
  • -
  • -

    轮胎类别:

    - -
  • -
  •  搜索  重置 @@ -48,12 +37,12 @@
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseCar.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseCar.java index 068a323d..62cf85fb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseCar.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseCar.java @@ -10,6 +10,8 @@ import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; +import java.math.BigDecimal; + /** * 车辆基础信息对象 base_car * @@ -38,6 +40,17 @@ public class BaseCar extends BaseEntity @NotBlank(message = "扫描RFID不能为空") private String rfid; + + private BigDecimal inputMileage; + + public BigDecimal getInputMileage() { + return inputMileage; + } + + public void setInputMileage(BigDecimal inputMileage) { + this.inputMileage = inputMileage; + } + public String getRfid() { return rfid; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizMaintenanceOrder.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizMaintenanceOrder.java index fc7015cf..e775ddbc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizMaintenanceOrder.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BizMaintenanceOrder.java @@ -76,8 +76,18 @@ public class BizMaintenanceOrder extends BaseEntity private String updateName; @Excel(name = "维保时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateTime; + private String line; + + public String getLine() { + return line; + } + + public void setLine(String line) { + this.line = line; + } public String getUserName() { return userName; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaintenanceOrderDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaintenanceOrderDTO.java index 8f7a91a1..3a3f2543 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaintenanceOrderDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaintenanceOrderDTO.java @@ -1,6 +1,7 @@ package com.ruoyi.system.domain; import lombok.Data; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -11,4 +12,6 @@ public class MaintenanceOrderDTO { // 原来的轮胎详情对象(如果是列表,可以用 List) private List tireDetails; + + private List multipartFiles; } 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 3bd2efa4..9d96973b 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 @@ -2,10 +2,12 @@ package com.ruoyi.system.mapper; +import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.system.domain.BaseTyre; import com.ruoyi.system.domain.vo.BaseTyreVo; import java.util.List; +import java.util.Map; /** * 轮胎基础信息Mapper接口 @@ -69,4 +71,5 @@ public interface BaseTyreMapper String getTeamByUser(String createBy); + List vTyreStockSummary(SysDept sysDept); } 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 d256b58b..6d8e0e4d 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 @@ -2,10 +2,12 @@ package com.ruoyi.system.service; +import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.system.domain.BaseTyre; import com.ruoyi.system.domain.vo.BaseTyreVo; import java.util.List; +import java.util.Map; /** * 轮胎基础信息Service接口 @@ -71,4 +73,6 @@ public interface IBaseTyreService List getCarBingTireList(BaseTyre baseTyre); String importBaseTyre(List baseTyreVoList, boolean updateSupport, String operName); + + List vTyreStockSummary(SysDept sysDept); } 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 1c5e9009..b97480ec 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 @@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; import static com.ruoyi.common.utils.ShiroUtils.getLoginName; @@ -205,4 +206,10 @@ public class BaseTyreServiceImpl implements IBaseTyreService } return successMsg.toString(); } + + @Override + public List vTyreStockSummary(SysDept sysDept) { + List mapList = baseTyreMapper.vTyreStockSummary(sysDept); + return mapList; + } } diff --git a/ruoyi-system/src/main/resources/mapper/tyre/BaseCarMapper.xml b/ruoyi-system/src/main/resources/mapper/tyre/BaseCarMapper.xml index 14458f65..3322786e 100644 --- a/ruoyi-system/src/main/resources/mapper/tyre/BaseCarMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/tyre/BaseCarMapper.xml @@ -16,6 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -23,10 +24,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml b/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml index 62fa6422..b8dc64d7 100644 --- a/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/tyre/BizMaintenanceOrderMapper.xml @@ -25,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -85,7 +86,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"