From f925be6248d6ccc03bba9b00f4c6111fa15ff7d9 Mon Sep 17 00:00:00 2001 From: renfan <2206580733@qq.com> Date: Thu, 24 Oct 2024 01:45:58 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90admin&front=E3=80=91=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E&=E4=BC=98=E5=8C=96=20#=201=E3=80=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E6=8A=A5=E8=A1=A8=E3=80=81=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E7=BB=B4=E4=BF=AE=E6=8A=A5=E8=A1=A8=202=E3=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86=E5=92=8C?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E8=AF=A6=E6=83=85=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=203=E3=80=81=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=81=94=E7=B3=BB=E4=BA=BA=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8A=A5=E9=94=99=204=E3=80=81=E4=BC=98=E5=8C=96=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=BC=96=E8=BE=91=205=E3=80=81=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A8=A1=E5=9D=97=E7=BB=B4=E4=BF=AE=E6=9C=9F?= =?UTF-8?q?=E9=99=90=E5=AD=97=E6=AE=B5=206=E3=80=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86=E9=87=8D=E6=96=B0=E6=B4=BE?= =?UTF-8?q?=E5=8D=95=207=E3=80=81=E4=BC=98=E5=8C=96=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E5=8A=9F=E8=83=BD=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ClientContactsServiceImpl.java | 15 +- .../client/impl/EquipmentServiceImpl.java | 8 +- .../impl/ParentRepairOrderServiceImpl.java | 18 ++- .../impl/RepairOrderAuditServiceImpl.java | 48 ++++-- .../order/impl/RepairOrderServiceImpl.java | 137 +++++++++++------ .../admin/validate/client/ClientParam.java | 2 +- .../hcy/admin/vo/client/ClientDetailVo.java | 2 +- .../com/hcy/admin/vo/client/ClientListVo.java | 1 + .../hcy/admin/vo/client/EquipmentListVo.java | 1 + .../excel/order/NormalMaintenanceExcel.java | 9 ++ .../admin/vo/excel/order/RerepairExcel.java | 5 + .../hcy/admin/vo/excel/order/ScrapExcel.java | 5 + .../order/MaintenanceReportOrderListVo.java | 2 + .../vo/order/RepairOrderAuditDetailVo.java | 2 + .../admin/vo/order/RepairOrderDetailVo.java | 1 + .../excel/maintenanceReportForm.xlsx | Bin 11661 -> 11799 bytes .../templates/excel/materialRequisition.xlsx | Bin 17778 -> 17768 bytes .../hcy/common/dto/order/RepairOrderDto.java | 13 +- .../com/hcy/common/entity/client/Client.java | 1 + .../common/entity/order/RepairOrderAudit.java | 2 +- .../mapper/order/OrderSparePartMapper.java | 2 +- .../mapper/ParentRepairOrderMapper.xml | 5 +- .../resources/mapper/RepairOrderMapper.xml | 21 ++- .../order/impl/RepairOrderServiceImpl.java | 143 ++++++++++++++---- .../order/ParentRepairOrderParam.java | 2 +- .../validate/order/RepairOrderParam.java | 2 +- .../hcy/front/vo/client/ClientDetailVo.java | 2 +- .../com/hcy/front/vo/client/ClientListVo.java | 1 + .../front/vo/order/OrderSparePartListVo.java | 10 ++ .../vo/order/RepairOrderAuditDetailVo.java | 37 +++++ .../front/vo/order/RepairOrderDetailVo.java | 2 +- 31 files changed, 376 insertions(+), 123 deletions(-) diff --git a/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java index d5a1908..b5d6802 100644 --- a/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java @@ -265,17 +265,18 @@ public class ClientContactsServiceImpl implements IClientContactsService { .last("limit 1")), "账号已存在换一个吧!"); systemAuthAdmin.setUsername(clientContactsParam.getUsername()); } - String salt = ToolsUtil.randomString(5); - String pwd = ToolsUtil.makeMd5(clientContactsParam.getPassword().trim() + salt); + if(StringUtil.isNotEmpty(clientContactsParam.getPassword())){ + String salt = ToolsUtil.randomString(5); + String pwd = ToolsUtil.makeMd5(clientContactsParam.getPassword().trim() + salt); systemAuthAdmin.setSalt(salt); systemAuthAdmin.setPassword(pwd); + // 修改用户管理的密码的时候,小程序也需要改 + User user = userMapper.selectById(systemAuthAdmin.getUserId()); + user.setPassword(pwd);// 用户密码 + user.setSalt(salt);// 加密盐巴 + userMapper.updateById(user); } - // 修改用户管理的密码的时候,小程序也需要改 - User user = userMapper.selectById(systemAuthAdmin.getUserId()); - user.setPassword(pwd);// 用户密码 - user.setSalt(salt);// 加密盐巴 - userMapper.updateById(user); systemAuthAdminMapper.updateById(systemAuthAdmin); } diff --git a/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java index 5608611..1fcd787 100644 --- a/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java @@ -367,9 +367,13 @@ public class EquipmentServiceImpl implements IEquipmentService { .eq("is_delete", 0) .last("limit 1")); - if (ObjectUtil.isNotNull(model) && !model.getId().equals(bo.getId())) { - return false; + // 如果查询结果model为null,或者查询到的记录的ID等于bo.getId(), + // 则表示number是唯一的,因此返回true。 + if (ObjectUtil.isNull(model) || model.getId().equals(bo.getId())) { + return true; } + + // 否则,返回false表示number不唯一。 return false; } diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java index 6b2ab8f..0ab6ecb 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java @@ -535,12 +535,8 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { if(item.getRepairOrNot() != null){ excelRepairOrder.setIsRepair(item.getRepairOrNot() == 0 ? "是" : "否"); } - if(item.getMaintenanceResult() != null){ - excelRepairOrder.setResult(item.getMaintenanceResult() == 0 ? "报废" : "OK"); - }else{ - //维修结论为空的话就是维修中,因为没走完流程 - excelRepairOrder.setResult("维修中"); - } + + // 维修人员 if(item.getReceiverId() != null){ SystemAuthAdmin maintenanceMan = systemAuthAdminMapper.findSystemAuthAdminById(Math.toIntExact(item.getReceiverId())); if(maintenanceMan != null){ @@ -548,6 +544,16 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { } } + if(item.getMaintenanceResult() != null){ + excelRepairOrder.setResult(item.getMaintenanceResult() == 0 ? "报废" : "OK"); + }else if(item.getReceiverId() == null){ + //维修结论为空并且维修人员也是空的话,维修结论为待派单 + excelRepairOrder.setResult("待派单"); + } else{ + //维修结论为空的话就是维修中,因为没走完流程 + excelRepairOrder.setResult("维修中"); + } + RepairOrderAudit repairOrderAudit = repairOrderAuditMapper.findRepairOrderAuditByRepairOrderIdAndTwoReviewRequest(item.getId(),2L, 3L); if(repairOrderAudit != null){ Fault faultPhenomenon = faultMapper.findFaultById(repairOrderAudit.getFaultPhenomenonId()); diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderAuditServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderAuditServiceImpl.java index a7d7fcd..ea03a9f 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderAuditServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderAuditServiceImpl.java @@ -185,19 +185,38 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { List orderSparePartListVoList = new ArrayList<>(); List orderSparePartList = orderSparePartMapper.findOrderSparePartByRepairOrderIdAndRepairOrderAuditId( model.getRepairOrderId(), model.getId()); - for (OrderSparePart orderSparePart : orderSparePartList) { - OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo(); - BeanUtils.copyProperties(orderSparePart, orderSparePartListVo); + if(orderSparePartList != null && !orderSparePartList.isEmpty()){ + for (OrderSparePart orderSparePart : orderSparePartList) { + OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo(); + BeanUtils.copyProperties(orderSparePart, orderSparePartListVo); - //配件清单仓库名称 - Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper() - .eq(Warehouse::getId, orderSparePart.getWarehouseId())); - orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName()); + //配件清单仓库名称 + Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper() + .eq(Warehouse::getId, orderSparePart.getWarehouseId())); + orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName()); - orderSparePartListVoList.add(orderSparePartListVo); + orderSparePartListVoList.add(orderSparePartListVo); - number += orderSparePart.getCount(); + number += orderSparePart.getCount(); + } + }else{ + orderSparePartList = orderSparePartMapper.selectList(new LambdaQueryWrapper() + .eq(OrderSparePart::getRepairOrderId, model.getRepairOrderId())); + for (OrderSparePart orderSparePart : orderSparePartList) { + OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo(); + BeanUtils.copyProperties(orderSparePart, orderSparePartListVo); + + //配件清单仓库名称 + Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper() + .eq(Warehouse::getId, orderSparePart.getWarehouseId())); + orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName()); + + orderSparePartListVoList.add(orderSparePartListVo); + + number += orderSparePart.getCount(); + } } + vo.setOrderSparePartListVoList(orderSparePartListVoList); //订单配件 vo.setRecipientNumber(number); // 领用数量 @@ -282,6 +301,7 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.GOOD_PRODUCTS_ARE_STORED.getStatus())); if(img != null){ vo.setImg(img.getImg()); + vo.setEnterRemark(img.getRemark()); } //良品入库 - 配件使用列表 @@ -308,6 +328,16 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { } vo.setReplaceDamagedParts(replaceDamagedPartsListVoList); //更换损坏配件清单 + //退仓图片 + RepairOrderStepData withdrawalImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper() + .eq(RepairOrderStepData::getRepairOrderId, model.getRepairOrderId()) + .eq(RepairOrderStepData::getTitle, RepairOrderAuditStatusEnum.CANCELLATION_REQUEST.getDesc()) + .orderByDesc(RepairOrderStepData::getCreateTime) + .last("limit 1")); + if(withdrawalImg != null){ + vo.setWithdrawalImg(withdrawalImg.getImg()); + } + return vo; } diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java index 1c41d98..11cb7e3 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java @@ -503,38 +503,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService { vo.setFaultPointImg(troubleshooting.getImg()); } -// //故障现象 -// Fault faultPhenomenonName = faultMapper.selectOne(new LambdaQueryWrapper() -// .eq(Fault::getId, model.getFaultPhenomenonId())); -// if(faultPhenomenonName != null){ -// vo.setFaultPhenomenonName(faultPhenomenonName.getName()); -// } -// //故障原因 -// Fault faultCauseName = faultMapper.selectOne(new LambdaQueryWrapper() -// .eq(Fault::getId, model.getFaultCauseId())); -// if(faultCauseName != null){ -// vo.setFaultCauseName(faultCauseName.getName()); -// } -// //损坏原因 -// Fault sourceOfDamageName = faultMapper.selectOne(new LambdaQueryWrapper() -// .eq(Fault::getId, model.getSourceOfDamageId())); -// if(sourceOfDamageName != null){ -// vo.setSourceOfDamageName(sourceOfDamageName.getName()); -// } -// //维修结论 -// Fault operationsSuggestName = faultMapper.selectOne(new LambdaQueryWrapper() -// .eq(Fault::getId, model.getOperationsSuggestId())); -// if(operationsSuggestName != null){ -// vo.setOperationsSuggestName(operationsSuggestName.getName()); -// } -// //申请人员名称 -// User applicantName = userMapper.selectOne( -// new QueryWrapper() -// .eq("id", model.getApplicantId())); -// if(applicantName != null){ -// vo.setApplicantName(applicantName.getUsername()); -// } - //配件编码 List orderPartCodes = orderPartCodeMapper.selectList(new LambdaQueryWrapper() .eq(OrderPartCode::getRepairOrderId, vo.getId())); @@ -543,6 +511,43 @@ public class RepairOrderServiceImpl implements IRepairOrderService { } //是否报废 + //返回报废的故障现象,故障原因,损坏原因,运维建议,报废图片,报废标图片字段。 + RepairOrderAudit scrapAudit = repairOrderAuditMapper.selectOne(new LambdaQueryWrapper() + .eq(RepairOrderAudit::getRepairOrderId, model.getId()) + .eq(RepairOrderAudit::getReviewRequest, RepairOrderAuditStatusEnum.APPLICATION_FOR_SCRAP.getStatus()) + .orderByDesc(RepairOrderAudit::getCreateTime) + .last("limit 1")); + if(scrapAudit != null){ + RepairOrderAuditDetailVo repairOrderAuditDetailVo = new RepairOrderAuditDetailVo(); + BeanUtils.copyProperties(scrapAudit,repairOrderAuditDetailVo); + + //故障现象 + Fault faultPhenomenonName = faultMapper.selectOne(new LambdaQueryWrapper() + .eq(Fault::getId, repairOrderAuditDetailVo.getFaultPhenomenonId())); + if(faultPhenomenonName != null){ + repairOrderAuditDetailVo.setFaultPhenomenonName(faultPhenomenonName.getName()); + } + //故障原因 + Fault faultCauseName = faultMapper.selectOne(new LambdaQueryWrapper() + .eq(Fault::getId, repairOrderAuditDetailVo.getFaultCauseId())); + if(faultCauseName != null){ + repairOrderAuditDetailVo.setFaultCauseName(faultCauseName.getName()); + } + //损坏原因 + Fault sourceOfDamageName = faultMapper.selectOne(new LambdaQueryWrapper() + .eq(Fault::getId, repairOrderAuditDetailVo.getSourceOfDamageId())); + if(sourceOfDamageName != null){ + repairOrderAuditDetailVo.setSourceOfDamageName(sourceOfDamageName.getName()); + } + //运维建议名 + Fault operationsSuggestName = faultMapper.selectOne(new LambdaQueryWrapper() + .eq(Fault::getId, repairOrderAuditDetailVo.getOperationsSuggestId())); + if(operationsSuggestName != null){ + repairOrderAuditDetailVo.setOperationsSuggestName(operationsSuggestName.getName()); + } + + vo.setScrapDate(repairOrderAuditDetailVo); + } // 维修信息 RepairOrderAudit repairOrderAudit1 = repairOrderAuditMapper.selectOne(new LambdaQueryWrapper() @@ -597,7 +602,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService { //退仓申请信息 RepairOrderAudit repairOrderAudit2 = repairOrderAuditMapper.selectOne(new LambdaQueryWrapper() .eq(RepairOrderAudit::getRepairOrderId, model.getId()) - .eq(RepairOrderAudit::getReviewRequest, RepairOrderAuditStatusEnum.CANCELLATION_REQUEST.getStatus())); + .eq(RepairOrderAudit::getReviewRequest, RepairOrderAuditStatusEnum.CANCELLATION_REQUEST.getStatus()) + .orderByDesc(RepairOrderAudit::getCreateTime) + .last("limit 1")); if(repairOrderAudit2 != null){ RepairOrderAuditListVo repairOrderAuditListVo = new RepairOrderAuditListVo(); BeanUtils.copyProperties(repairOrderAudit2,repairOrderAuditListVo); @@ -1108,13 +1115,27 @@ public class RepairOrderServiceImpl implements IRepairOrderService { Assert.notNull(modelList, "数据不存在!"); for (RepairOrder repairOrder : modelList) { - //获取原维修员名称 - SystemAuthAdmin previousMaintenanceStaffName = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() - .eq(SystemAuthAdmin::getId, repairOrder.getPreviousMaintenanceStaffId())); + //获取现维修员名称 SystemAuthAdmin authAdmin1 = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() .eq(SystemAuthAdmin::getId, repairOrderParam.getReceiverId())); + //第一次派单维修人员为空,就将第一次派单的人给原维修人员,第二次就获取第一次的维修员为原维修人员 + if(repairOrder.getReceiverId() == null){ + repairOrder.setPreviousMaintenanceStaffId(repairOrderParam.getReceiverId()); // 原维修人员id + }else{ + repairOrder.setPreviousMaintenanceStaffId(repairOrder.getReceiverId()); + } + + repairOrder.setReceiverId(repairOrderParam.getReceiverId()); // 接单人id + repairOrder.setReceiverTime(new Date());//receiverTime; // 接单时间 + repairOrder.setOrderStatus(RepairOrderStatusEnum.AWAITING_REPAIR.getStatus()); // 工单状态为待维修 + + //拆机之前才能重新改派,否则需要去小程序操作退仓申请 + if(repairOrder.getRepairNextStep() != null && repairOrder.getRepairNextStep() != RepairOrderStopEnum.DISMANTLE.getStatus()){ + throw new OperateException("拆机之前才能重新改派,否则需要去小程序操作退仓申请!"); + } + //批量派单 if(repairOrder.getRepairNextStep() == null){ repairOrder.setRepairStep(RepairOrderStopEnum.DISMANTLE.getStatus()); // 当前步骤1、拆机 @@ -1128,6 +1149,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderStepData.setRemark("派单给维修员:" + authAdmin1.getUsername()); repairOrderStepDataMapper.insert(repairOrderStepData); }else{ + //获取原维修员名称 + SystemAuthAdmin previousMaintenanceStaffName = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrder.getPreviousMaintenanceStaffId())); //新增维修单操作记录 RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); repairOrderStepData.setRepairOrderId(repairOrder.getId()); @@ -1137,17 +1161,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderStepData.setRemark("原维修员:" + previousMaintenanceStaffName.getUsername() + ",现维修员:" + authAdmin1.getUsername()); repairOrderStepDataMapper.insert(repairOrderStepData); } - repairOrder.setReceiverId(repairOrderParam.getReceiverId()); // 接单人id - repairOrder.setReceiverTime(new Date());//receiverTime; // 接单时间 - repairOrder.setOrderStatus(RepairOrderStatusEnum.AWAITING_REPAIR.getStatus()); // 工单状态为待维修 - - //拆机之前才能重新改派,否则需要去小程序操作退仓申请 - if(repairOrder.getRepairNextStep() != RepairOrderStopEnum.DISMANTLE.getStatus()){ - throw new OperateException("拆机之前才能重新改派,否则需要去小程序操作退仓申请!"); - } repairOrderMapper.updateById(repairOrder); - - } } @@ -1339,6 +1353,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { for(RepairOrderDto item : iPage.getRecords()) { MaintenanceReportOrderListVo vo = new MaintenanceReportOrderListVo(); BeanUtils.copyProperties(item, vo); + vo.setSpecificationsModel(item.getModuleNumber()); // 模块型号 vo.setModelCode(item.getModuleCode()); // 模块代码 vo.setPower(distMap.get(item.getModulePower().toString()));// 功率 @@ -1530,10 +1545,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService { //正常维修 List normalMaintenanceExcelList = new ArrayList<>(); + Integer index0 = 1; //返修 List rerepairExcelList = new ArrayList<>(); + Integer index1 = 1; //报废 List scrapExcelList = new ArrayList<>(); + Integer index2 = 1; for (String ids : typeIdList) { if(ids.equals("0")){ @@ -1546,7 +1564,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService { for(RepairOrderDto item : repairOrderDtoList) { NormalMaintenanceExcel vo = new NormalMaintenanceExcel(); BeanUtils.copyProperties(item, vo); + vo.setIndex(index0); // 序号 + //工单编号 + ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ParentRepairOrder::getId, item.getParentRepairOrderId())); + if(parentRepairOrder != null){ + vo.setOrderNo(parentRepairOrder.getOrderNo()); + } vo.setSpecificationsModel(item.getModuleNumber()); // 模块型号 + vo.setModelCode(item.getModuleCode()); // 模块代码 vo.setPower(distMap.get(item.getModulePower().toString()));// 功率 vo.setDeliveryTime(TimeUtil.dateToString(item.getCreateTime(), TimeConstant.DATE_FORMAT)); // 维修日期(返修日期) if(item.getMaintenanceResult() != null){// 维修结论 @@ -1648,6 +1674,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { } normalMaintenanceExcelList.add(vo); + index0++; } } if(ids.equals("1")){ @@ -1660,6 +1687,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService { for(RepairOrderDto item : repairOrderDtoList) { RerepairExcel vo = new RerepairExcel(); BeanUtils.copyProperties(item, vo); + vo.setIndex(index1); // 序号 + //工单编号 + ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ParentRepairOrder::getId, item.getParentRepairOrderId())); + if(parentRepairOrder != null){ + vo.setOrderNo(parentRepairOrder.getOrderNo()); + } vo.setSpecificationsModel(item.getModuleNumber()); // 模块型号 vo.setModelCode(item.getModuleCode()); // 模块代码 vo.setPower(distMap.get(item.getModulePower().toString()));// 功率 @@ -1683,8 +1717,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService { } } - - //返回前中后照片 //返回维修前照片 RepairOrderStepData preMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper() @@ -1809,6 +1841,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { } rerepairExcelList.add(vo); + index1++; } } if(ids.equals("2")){ @@ -1821,6 +1854,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService { for(RepairOrderDto item : repairOrderDtoList) { ScrapExcel vo = new ScrapExcel(); BeanUtils.copyProperties(item, vo); + vo.setIndex(index2); // 序号 + //工单编号 + ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ParentRepairOrder::getId, item.getParentRepairOrderId())); + if(parentRepairOrder != null){ + vo.setOrderNo(parentRepairOrder.getOrderNo()); + } vo.setSpecificationsModel(item.getModuleNumber()); // 模块型号 vo.setModelCode(item.getModuleCode()); // 模块代码 vo.setPower(distMap.get(item.getModulePower().toString()));// 功率 @@ -1885,6 +1925,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { // vo.setReplacementDetail(detail); // } scrapExcelList.add(vo); + index2++; } } } diff --git a/admin/src/main/java/com/hcy/admin/validate/client/ClientParam.java b/admin/src/main/java/com/hcy/admin/validate/client/ClientParam.java index b62e47f..f1c7a4b 100644 --- a/admin/src/main/java/com/hcy/admin/validate/client/ClientParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/client/ClientParam.java @@ -84,5 +84,5 @@ public class ClientParam implements Serializable { private Long creatorId; private String shortName; // 客户简称 - + private Integer moduleRepairPeriod; // 模块维修期限 } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/ClientDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/client/ClientDetailVo.java index 2fd6dff..832ae1e 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/ClientDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/ClientDetailVo.java @@ -35,5 +35,5 @@ public class ClientDetailVo implements Serializable { private String remark; // 备注 private Long creatorId; // 创建人id private String shortName; // 客户简称 - + private Integer moduleRepairPeriod; // 模块维修期限 } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/ClientListVo.java b/admin/src/main/java/com/hcy/admin/vo/client/ClientListVo.java index e544f8e..e21ba83 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/ClientListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/ClientListVo.java @@ -43,5 +43,6 @@ public class ClientListVo implements Serializable { private Date updateTime; // 更新时间 private List equipmentList; //设备列表 private String shortName; // 客户简称 + private Integer moduleRepairPeriod; // 模块维修期限 } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java index 77e2981..1127344 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java @@ -38,4 +38,5 @@ public class EquipmentListVo implements Serializable { private String clientName; // 客户名称 private String shortName; // 客户简称 private EquipmentModelDetailVo equipmentModel; //设备模块信息 + } diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java index 917a89e..fa56cd7 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java @@ -22,6 +22,12 @@ import java.util.List; */ public class NormalMaintenanceExcel { + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "单据编号") + private String orderNo; + @ApiModelProperty(value = "维修人员") private String maintenanceMan; //维修人员 @@ -31,6 +37,9 @@ public class NormalMaintenanceExcel { @ApiModelProperty(value = "型号/规格") private String specificationsModel; + @ApiModelProperty(value = "代码模块") + private String modelCode; + @ApiModelProperty(value = "功率") private String power; diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/RerepairExcel.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/RerepairExcel.java index 3eef735..0523534 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/order/RerepairExcel.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/RerepairExcel.java @@ -21,6 +21,11 @@ import java.util.List; * 返修 */ public class RerepairExcel { + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "单据编号") + private String orderNo; @ApiModelProperty(value = "保修责任人") private String previousMaintenanceStaffName; // 保修责任人(原维修人员名称) diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapExcel.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapExcel.java index b900f6c..df853f7 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapExcel.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapExcel.java @@ -21,6 +21,11 @@ import java.util.List; * 报废 */ public class ScrapExcel { + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "单据编号") + private String orderNo; @ApiModelProperty(value = "维修人员") private String maintenanceMan; //维修人员 diff --git a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceReportOrderListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceReportOrderListVo.java index 046ce43..5590643 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceReportOrderListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceReportOrderListVo.java @@ -21,6 +21,8 @@ public class MaintenanceReportOrderListVo implements Serializable { private static final long serialVersionUID = 1L; private Long id; // 主键id + private String orderNo; // 订单编号 + private String maintenanceMan; //维修人员 private String clientName; //客户名称 private String specificationsModel; //型号/规格 diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderAuditDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderAuditDetailVo.java index 160231f..7fec0bd 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderAuditDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderAuditDetailVo.java @@ -69,5 +69,7 @@ public class RepairOrderAuditDetailVo implements Serializable { private List replaceDamagedParts; //更换损坏配件清单 + private String withdrawalImg; // 退仓图片 + } diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderDetailVo.java index 78a1d40..99c572b 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderDetailVo.java @@ -175,4 +175,5 @@ public class RepairOrderDetailVo implements Serializable { private Integer returning; //是否在退仓中(0=是,1=否) private RepairOrderAuditListVo cancellationRequestListVo; // 退仓申请信息 + private RepairOrderAuditDetailVo scrapDate;//报废审核信息 } diff --git a/admin/src/main/resources/templates/excel/maintenanceReportForm.xlsx b/admin/src/main/resources/templates/excel/maintenanceReportForm.xlsx index fec2c17f3f9c3e23adc8c9b773a33e30bd0c7859..c94bde13b0a5ceb6ed9f149bf76c8baa8dafb25a 100644 GIT binary patch delta 3928 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 delta 3782 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 E13ac%5&!@I delta 5078 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 { "\troa.applicant_id AS applicantId \n" + "FROM\n" + "\tla_order_spare_part AS osp\n" + - "\tLEFT JOIN la_repair_order_audit AS roa ON osp.repair_order_id = roa.repair_order_id \n" + + "\tLEFT JOIN la_repair_order_audit AS roa ON osp.repair_order_audit_id = roa.id \n" + "WHERE\n" + "\troa.repair_order_id = #{moduleId} \n" + "\tAND roa.review_request = 1\n" + diff --git a/common/src/main/resources/mapper/ParentRepairOrderMapper.xml b/common/src/main/resources/mapper/ParentRepairOrderMapper.xml index d3bea88..57c3514 100644 --- a/common/src/main/resources/mapper/ParentRepairOrderMapper.xml +++ b/common/src/main/resources/mapper/ParentRepairOrderMapper.xml @@ -33,10 +33,11 @@ and (pro.order_no like concat('%', #{param.likeWork}, '%') - - OR c.client_name LIKE concat('%', #{param.likeWork}, '%')) + + and FIND_IN_SET(pro.id,#{param.ids}) + order by pro.create_time desc diff --git a/common/src/main/resources/mapper/RepairOrderMapper.xml b/common/src/main/resources/mapper/RepairOrderMapper.xml index 7b37b82..b1a2e8a 100644 --- a/common/src/main/resources/mapper/RepairOrderMapper.xml +++ b/common/src/main/resources/mapper/RepairOrderMapper.xml @@ -283,16 +283,18 @@