From b73fc1c408efb0e0286ac94669b714ecee211dba Mon Sep 17 00:00:00 2001 From: renfan <2206580733@qq.com> Date: Tue, 15 Oct 2024 02:42:28 +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?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=B7=BB=E5=8A=A0=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=202=E3=80=81=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E7=9A=84=E5=AD=97=E6=AE=B5=20=203=E3=80=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86=E3=80=81=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=BC=BA=E5=A4=B1=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/RepairOrderController.java | 1 - .../impl/LargeDataScreenServiceImpl.java | 11 +-- .../impl/RepairOrderAuditServiceImpl.java | 52 +++++++++- .../order/impl/RepairOrderServiceImpl.java | 96 ++++++++++++++++++- .../impl/RepairOrderShippingServiceImpl.java | 16 +++- .../admin/vo/order/RepairOrderDetailVo.java | 6 +- .../vo/order/RepairOrderShippingListVo.java | 2 +- .../enums/order/RepairOrderStatusEnum.java | 3 +- .../resources/mapper/RepairOrderMapper.xml | 12 ++- .../service/order/IRepairOrderService.java | 3 - .../impl/MaintenanceOrderServiceImpl.java | 4 +- .../impl/ParentRepairOrderServiceImpl.java | 14 +-- .../order/impl/RepairOrderServiceImpl.java | 94 +++++++++++------- .../RoutingInspectionOrderServiceImpl.java | 2 +- .../front/vo/order/OrderStatusCountVo.java | 6 +- .../front/vo/order/RepairOrderDetailVo.java | 9 +- 16 files changed, 260 insertions(+), 71 deletions(-) diff --git a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java index 76085e1..51285b1 100644 --- a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java +++ b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java @@ -188,7 +188,6 @@ public class RepairOrderController { return AjaxResult.success(); } - /** * 维修模块派单 - 重新派单 * diff --git a/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java index c257ed3..8b7d4bd 100644 --- a/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java @@ -404,6 +404,7 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService { .ge("create_time", Timestamp.valueOf(startTime)) // 开始时间 .le("create_time", Timestamp.valueOf(endTime))); // 结束时间 //orderStatus; // 订单状态 0-待接单;1-待维修;2-排查中;3-待确认;4-维修中;5-测试中;6-已完成; + // 0-待派单;1-待维修;2-排查中;3-审核中;4-维修中;5-测试中;6-已完成; //获取已完成订单总数 Integer doneOrderCount = repairOrderMapper.selectCount( new QueryWrapper() @@ -415,18 +416,16 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService { Integer underOverhaulOrderCount = repairOrderMapper.selectCount( new QueryWrapper() .eq("is_delete", GlobalConstant.NOT_DELETE) - .ne("order_status", RepairOrderStatusEnum.IN_MAINTENANCE.getStatus()) - .ne("order_status", RepairOrderStatusEnum.TEST_IN_PROCESS.getStatus()) + .eq("order_status", RepairOrderStatusEnum.IN_MAINTENANCE.getStatus()) +// .ne("order_status", RepairOrderStatusEnum.TEST_IN_PROCESS.getStatus()) .ge("create_time", Timestamp.valueOf(startTime)) // 开始时间 .le("create_time", Timestamp.valueOf(endTime))); // 结束时间 //获取报修中订单总数 Integer underWarrantyOrderCount = repairOrderMapper.selectCount( new QueryWrapper() .eq("is_delete", GlobalConstant.NOT_DELETE) -// .ne("order_status", RepairOrderStatusEnum.PENDING_ORDER.getStatus()) - .ne("order_status", RepairOrderStatusEnum.AWAITING_REPAIR.getStatus()) - .ne("order_status", RepairOrderStatusEnum.UNDER_INVESTIGATION.getStatus()) -// .ne("order_status", RepairOrderStatusEnum.TO_BE_CONFIRMED.getStatus()) + .ne("order_status", RepairOrderStatusEnum.FINISHED.getStatus()) //.ne 是不等于的意思,排查已完成和维修中的订单就是保修中 + .ne("order_status", RepairOrderStatusEnum.IN_MAINTENANCE.getStatus()) .ge("create_time", Timestamp.valueOf(startTime)) // 开始时间 .le("create_time", Timestamp.valueOf(endTime))); // 结束时间 LargeDataVo vo = new LargeDataVo(); 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 badb4ea..bc6a96b 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 @@ -19,6 +19,7 @@ import com.hcy.common.entity.fault.Fault; import com.hcy.common.entity.order.*; import com.hcy.common.entity.sparePart.SparePart; import com.hcy.common.entity.user.User; +import com.hcy.common.entity.warehouse.Warehouse; import com.hcy.common.enums.FaultEnum; import com.hcy.common.enums.audit.AuditStateEnum; import com.hcy.common.enums.order.RepairOrderAuditStatusEnum; @@ -30,6 +31,7 @@ import com.hcy.common.mapper.fault.FaultMapper; import com.hcy.common.mapper.order.*; import com.hcy.common.mapper.sparePart.SparePartMapper; import com.hcy.common.mapper.user.UserMapper; +import com.hcy.common.mapper.warehouse.WarehouseMapper; import com.hcy.common.utils.ArrayUtil; import com.hcy.common.utils.TimeUtil; import com.hcy.common.utils.UrlUtil; @@ -77,6 +79,9 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { @Resource OrderSparePartUseMapper orderSparePartUseMapper; + @Resource + WarehouseMapper warehouseMapper; + /** * 维修模块审核列表 * @@ -186,6 +191,12 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { 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(); @@ -501,9 +512,28 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { if(repairOrderAuditParam.getAuditResult() == RepairOrderAuditStatusEnum.ALREADY_PASSED.getStatus()){ //已通过,审核状态为:待入库 model.setAuditStatus(RepairOrderAuditStatusEnum.STOCK_PENDING.getStatus());// 审核状态(0=待审核、1=待入库、2=审核未通过、3=已完成,4=待领取、5=待确认) + + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(model.getRepairOrderId());// 维修单id + repairOrderStepData.setRemark("管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核通过");// 备注 + repairOrderStepData.setTitle("管理员进行报废申请审核"); // 标题 + repairOrderStepData.setAuditStatus(AuditStateEnum.ALREADY_PASSED.getStatus()); //审核通过 + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人 + repairOrderStepData.setCreateTime(new Date()); // 创建时间 + repairOrderStepDataMapper.insert(repairOrderStepData); } else if (repairOrderAuditParam.getAuditResult() == RepairOrderAuditStatusEnum.NOT_PASS.getStatus()) { //未通过,审核状态为:审核未通过 model.setAuditStatus(RepairOrderAuditStatusEnum.FAIL_THE_AUDIT.getStatus());// 审核状态(0=待审核、1=待入库、2=审核未通过、3=已完成,4=待领取、5=待确认) + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(model.getRepairOrderId());// 维修单id + repairOrderStepData.setRemark("管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+repairOrderAuditParam.getAuditOpinion());// 备注 + repairOrderStepData.setTitle("管理员进行审核"); // 标题 + repairOrderStepData.setAuditStatus(AuditStateEnum.NOT_PASS_STATE.getStatus()); //审核不通过 + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人 + repairOrderStepData.setCreateTime(new Date()); // 创建时间 + repairOrderStepDataMapper.insert(repairOrderStepData); } } else if(model.getReviewRequest() == RepairOrderAuditStatusEnum.STORES_REQUISITION.getStatus()){ // 领料申请审核 @@ -561,7 +591,7 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); repairOrderStepData.setRepairOrderId(model.getRepairOrderId());// 维修单id repairOrderStepData.setRemark("管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核通过");// 备注 - repairOrderStepData.setTitle("管理员进行审核"); // 标题 + repairOrderStepData.setTitle("管理员进行配件领料审核"); // 标题 repairOrderStepData.setAuditStatus(AuditStateEnum.ALREADY_PASSED.getStatus()); //审核通过 repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人 repairOrderStepData.setCreateTime(new Date()); // 创建时间 @@ -573,9 +603,29 @@ public class RepairOrderAuditServiceImpl implements IRepairOrderAuditService { if(repairOrderAuditParam.getAuditResult() == RepairOrderAuditStatusEnum.ALREADY_PASSED.getStatus()){ //已通过,审核状态为:待入库 model.setAuditStatus(RepairOrderAuditStatusEnum.STOCK_PENDING.getStatus());// 审核状态(0=待审核、1=待入库、2=审核未通过、3=已完成,4=待领取、5=待确认) + + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(model.getRepairOrderId());// 维修单id + repairOrderStepData.setRemark("管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核通过");// 备注 + repairOrderStepData.setTitle("管理员进行良品入库审核"); // 标题 + repairOrderStepData.setAuditStatus(AuditStateEnum.ALREADY_PASSED.getStatus()); //审核通过 + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人 + repairOrderStepData.setCreateTime(new Date()); // 创建时间 + repairOrderStepDataMapper.insert(repairOrderStepData); } else if (repairOrderAuditParam.getAuditResult() == RepairOrderAuditStatusEnum.NOT_PASS.getStatus()) { //未通过,审核状态为:审核未通过 model.setAuditStatus(RepairOrderAuditStatusEnum.FAIL_THE_AUDIT.getStatus());// 审核状态(0=待审核、1=待入库、2=审核未通过、3=已完成,4=待领取、5=待确认) + + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(model.getRepairOrderId());// 维修单id + repairOrderStepData.setRemark("管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+repairOrderAuditParam.getAuditOpinion());// 备注 + repairOrderStepData.setTitle("管理员进行良品入库审核"); // 标题 + repairOrderStepData.setAuditStatus(AuditStateEnum.NOT_PASS_STATE.getStatus()); //审核不通过 + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人 + repairOrderStepData.setCreateTime(new Date()); // 创建时间 + repairOrderStepDataMapper.insert(repairOrderStepData); } } 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 dd89407..75665e9 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 @@ -136,6 +136,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService { @Resource OrderPartCodeMapper orderPartCodeMapper; + @Resource + ParentRepairOrderMapper parentRepairOrderMapper; /** * 维修订单列表 @@ -205,7 +207,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService { //配件编码 List orderPartCodes = orderPartCodeMapper.selectList(new LambdaQueryWrapper() .eq(OrderPartCode::getRepairOrderId, vo.getId())); - vo.setOrderPartCodeList(orderPartCodes); + if(orderPartCodes != null){ + vo.setOrderPartCodeList(orderPartCodes); + } //返回前中后照片 //返回维修前照片 @@ -265,6 +269,21 @@ public class RepairOrderServiceImpl implements IRepairOrderService { RepairOrderDetailVo vo = new RepairOrderDetailVo(); BeanUtils.copyProperties(model, vo); vo.setUpdateTime(model.getUpdateTime()); + + //良品入库备注和照片 + if(model.getOrderStatus() == RepairOrderStatusEnum.FINISHED.getStatus()){ + RepairOrderStepData stepData = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper() + .eq(RepairOrderStepData::getRepairOrderId, model.getId()) + .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.GOOD_PRODUCTS_ARE_STORED.getStatus())); + vo.setImg(stepData.getImg()); + vo.setEnterRemark(stepData.getRemark()); + } + + //工单编号 + ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ParentRepairOrder::getId, model.getParentRepairOrderId())); + vo.setOrderNo(parentRepairOrder.getOrderNo()); + //客户名称 负责人 联系电话 Client clientName = clientMapper.selectOne( new QueryWrapper() @@ -412,6 +431,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService { .eq(User::getId, repairOrderStepDataVo.getCreatorId())); if(user1 != null){ repairOrderStepDataVo.setCreatorName(user1.getUsername()); + }else{ + SystemAuthAdmin authAdmin1 = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrderStepDataVo.getCreatorId())); + if(authAdmin1 != null){ + repairOrderStepDataVo.setCreatorName(authAdmin1.getUsername()); + } } //当前维修员是否是学徒 SystemAuthAdmin isApprentice = systemAuthAdminMapper.selectOne( @@ -486,6 +511,16 @@ public class RepairOrderServiceImpl implements IRepairOrderService { // if(applicantName != null){ // vo.setApplicantName(applicantName.getUsername()); // } + + //配件编码 + List orderPartCodes = orderPartCodeMapper.selectList(new LambdaQueryWrapper() + .eq(OrderPartCode::getRepairOrderId, vo.getId())); + if(orderPartCodes != null){ + vo.setOrderPartCodeList(orderPartCodes); + } + + //是否报废 + return vo; } @@ -958,6 +993,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { * @param repairOrderParam */ @Override + @Transactional public void bulkOrder(RepairOrderParam repairOrderParam) { List modelList = repairOrderMapper.selectList( new QueryWrapper() @@ -966,19 +1002,46 @@ public class RepairOrderServiceImpl implements IRepairOrderService { Assert.notNull(modelList, "数据不存在!"); for (RepairOrder repairOrder : modelList) { - //批量派单 - repairOrder.setReceiverId(repairOrderParam.getReceiverId()); // 接单人id - repairOrder.setOrderStatus(RepairOrderStatusEnum.AWAITING_REPAIR.getStatus()); // 工单状态为待维修 + //获取原维修员名称 + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrder.getReceiverId())); + //获取现维修员名称 + SystemAuthAdmin authAdmin1 = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrderParam.getReceiverId())); + //批量派单 if(repairOrder.getRepairNextStep() == null){ repairOrder.setRepairStep(RepairOrderStopEnum.DISMANTLE.getStatus()); // 当前步骤1、拆机 repairOrder.setRepairNextStep(RepairOrderStopEnum.DISMANTLE.getStatus()); // 下个步骤1、拆机 + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(repairOrder.getId()); + repairOrderStepData.setTitle("派单"); + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); + //派单的备注需要写明派给谁 + repairOrderStepData.setRemark("派单给维修员:" + authAdmin1.getUsername()); + repairOrderStepDataMapper.insert(repairOrderStepData); + }else{ + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(repairOrder.getId()); + repairOrderStepData.setTitle("重新改派"); + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); + //重新派单的备注需要写明原先派给谁,现在派给谁 + repairOrderStepData.setRemark("原维修员:" + authAdmin.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); + + } } @@ -989,6 +1052,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { * @param repairOrderParam */ @Override + @Transactional public void reorder(RepairOrderParam repairOrderParam) { List modelList = repairOrderMapper.selectList( new QueryWrapper() @@ -997,6 +1061,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService { Assert.notNull(modelList, "数据不存在!"); for (RepairOrder repairOrder : modelList) { + //获取原维修员名称 + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrder.getReceiverId())); + //获取现维修员名称 + SystemAuthAdmin authAdmin1 = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrderParam.getReceiverId())); + //批量改派 repairOrder.setReceiverId(repairOrderParam.getReceiverId()); // 接单人id //拆机之前才能重新改派,否则需要去小程序操作退仓申请 @@ -1004,6 +1075,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService { throw new OperateException("拆机之前才能重新改派,否则需要去小程序操作退仓申请!"); } repairOrderMapper.updateById(repairOrder); + + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(repairOrder.getId()); + repairOrderStepData.setTitle("重新改派"); + repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); + //重新派单的备注需要写明原先派给谁,现在派给谁 + repairOrderStepData.setRemark("原维修员:" + authAdmin.getUsername() + ",现维修员:" + authAdmin1.getUsername()); + repairOrderStepDataMapper.insert(repairOrderStepData); } } @@ -1103,6 +1183,14 @@ public class RepairOrderServiceImpl implements IRepairOrderService { for(RepairOrder item : repairOrders) { RepairOrderListVo vo = new RepairOrderListVo(); BeanUtils.copyProperties(item, vo); + + //维修人员 + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, item.getReceiverId())); + if(authAdmin != null){ + vo.setReceiverName(authAdmin.getUsername()); + } + list.add(vo); } return list; diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java index ac98ee1..4526021 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java @@ -13,6 +13,7 @@ import com.hcy.admin.service.order.IRepairOrderShippingService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.RepairOrderShippingParam; import com.hcy.admin.vo.excel.ReleaseRecordListExcel; +import com.hcy.admin.vo.order.RepairOrderListVo; import com.hcy.admin.vo.order.RepairOrderShippingListVo; import com.hcy.admin.vo.order.RepairOrderShippingDetailVo; import com.hcy.common.core.PageResult; @@ -289,7 +290,20 @@ public class RepairOrderShippingServiceImpl implements IRepairOrderShippingServi //发货清单 List repairOrders = repairOrderMapper.selectList(new LambdaQueryWrapper() .eq(RepairOrder::getShippingId, item.getId())); - vo.setRepairOrderList(repairOrders); + List repairOrderListVoList = new ArrayList<>(); + for (RepairOrder repairOrder : repairOrders) { + RepairOrderListVo repairOrderListVo = new RepairOrderListVo(); + BeanUtils.copyProperties(repairOrder, repairOrderListVo); + + //维修人员 + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrder.getReceiverId())); + repairOrderListVo.setReceiverName(authAdmin.getUsername()); + + repairOrderListVoList.add(repairOrderListVo); + } + + vo.setRepairOrderList(repairOrderListVoList); list.add(vo); index++; // 在添加完一个vo后,序号递增 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 a22fc22..f98ba67 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 @@ -78,7 +78,7 @@ public class RepairOrderDetailVo implements Serializable { private Long receiverId; // 接单人id private String receiverName; //接单人名称 private Date receiverTime; // 接单时间 - private String remark; // 备注 + private Long creatorId; // 创建人id private String creatorName; // 创建人名称 private Date createTime; // 创建时间 @@ -166,4 +166,8 @@ public class RepairOrderDetailVo implements Serializable { private List orderPartCodeList; // 配件编码列表 private List orderOperateRecords; // 维修单步骤数据列表 //repairOrderStepDataList private Integer timeoutOrNot; // 是否超时(0=是,1=否) + private String remark; // 备注 + + private String img; // 良品入库照片 + private String enterRemark; // 良品入库备注 } diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderShippingListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderShippingListVo.java index 85d8c59..b098abd 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderShippingListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderShippingListVo.java @@ -32,5 +32,5 @@ public class RepairOrderShippingListVo implements Serializable { private Date deliveryTime; // 发货时间 private Integer index; // 序号 - private List repairOrderList; //发货清单 + private List repairOrderList; //发货清单 } diff --git a/common/src/main/java/com/hcy/common/enums/order/RepairOrderStatusEnum.java b/common/src/main/java/com/hcy/common/enums/order/RepairOrderStatusEnum.java index f72a700..7628aac 100644 --- a/common/src/main/java/com/hcy/common/enums/order/RepairOrderStatusEnum.java +++ b/common/src/main/java/com/hcy/common/enums/order/RepairOrderStatusEnum.java @@ -20,8 +20,9 @@ public enum RepairOrderStatusEnum { CLIENT(0,"客户端"), REPAIRER(1,"维修员"), - MAINTENANCE_SUPERVISOR(2,"维修主管端"), + + MAINTAIN(0,"维修"), NOT_MAINTAIN(1,"不维修"), diff --git a/common/src/main/resources/mapper/RepairOrderMapper.xml b/common/src/main/resources/mapper/RepairOrderMapper.xml index 99656e4..2bd33a3 100644 --- a/common/src/main/resources/mapper/RepairOrderMapper.xml +++ b/common/src/main/resources/mapper/RepairOrderMapper.xml @@ -71,9 +71,9 @@ and ro.order_no like concat('%', #{form.orderNo}, '%') - - and ro.order_source = #{form.orderSource} - + + + and c.client_name LIKE concat('%', #{form.clientName}, '%') @@ -219,6 +219,12 @@ and ro.receiver_id = #{form.receiverId} + + and ro.client_id = #{form.clientId} + + + and ro.creator_id = #{form.creatorId} + and (pro.order_no like concat('%', #{form.likeWork}, '%') or ro.module_code LIKE concat('%', #{form.likeWork}, '%') diff --git a/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java b/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java index c407d9f..03639a9 100644 --- a/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java +++ b/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java @@ -1,6 +1,5 @@ package com.hcy.front.service.order; - import com.hcy.common.core.PageResult; import com.hcy.front.validate.PageParam; import com.hcy.front.validate.order.RepairOrderParam; @@ -17,7 +16,6 @@ public interface IRepairOrderService { /** * 维修订单列表 - * * @author hcy * @param pageParam 分页参数 * @param repairOrderParam 搜索参数 @@ -51,7 +49,6 @@ public interface IRepairOrderService { */ void receivingOrder(RepairOrderParam repairOrderParam); - /** * 故障检测 */ diff --git a/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java index 4376848..116d76a 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java @@ -972,9 +972,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService { .eq(maintenanceOrderDto.getReceiverId() != null, MaintenanceOrder::getReceiverId, maintenanceOrderDto.getReceiverId())); OrderStatusCountVo orderStatusCountVo = new OrderStatusCountVo(); - orderStatusCountVo.setPendingOrderCount(pendingOrderCount); +// orderStatusCountVo.setPendingOrderCount(pendingOrderCount); orderStatusCountVo.setCheckingCount(checkingCount); - orderStatusCountVo.setToBeConfirmedCount(toBeConfirmedCount); +// orderStatusCountVo.setToBeConfirmedCount(toBeConfirmedCount); orderStatusCountVo.setInMaintenanceCount(inMaintenanceCount); orderStatusCountVo.setCompletedCount(completedCount); return orderStatusCountVo; diff --git a/front/src/main/java/com/hcy/front/service/order/impl/ParentRepairOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/ParentRepairOrderServiceImpl.java index 08252e6..04e9452 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/ParentRepairOrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/ParentRepairOrderServiceImpl.java @@ -209,14 +209,14 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { } repairOrderMapper.insert(repairOrder); - } - //新增维修单操作记录 - RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); - repairOrderStepData.setRepairOrderId(model.getId()); - repairOrderStepData.setTitle("创建维修工单"); - repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); - repairOrderStepDataMapper.insert(repairOrderStepData); + //新增维修单操作记录 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(repairOrder.getId()); + repairOrderStepData.setTitle("创建维修工单"); + repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); + repairOrderStepDataMapper.insert(repairOrderStepData); + } //创建人名称 User user = userMapper.selectOne( diff --git a/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java index 45dc62f..939d856 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java @@ -205,21 +205,19 @@ public class RepairOrderServiceImpl implements IRepairOrderService { BeanUtils.copyProperties(repairOrderParam,repairOrderDto); if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.REPAIRER.getStatus()){ - repairOrderDto.setReceiverId(FrontThreadLocal.getUserId().longValue()); //接单人 + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getUserId, FrontThreadLocal.getUserId().longValue())); + repairOrderDto.setReceiverId(Long.valueOf(authAdmin.getId())); //接单人 }else if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.CLIENT.getStatus()){ repairOrderDto.setClientId(repairOrderDto.getClientId()); // 根据客户id进行查询 } else if (repairOrderParam.getIsClient() == RepairOrderStatusEnum.MAINTENANCE_SUPERVISOR.getStatus()) { + repairOrderDto.setCreatorId(FrontThreadLocal.getUserId().longValue()); // 创建人id,只查维修主管自己创建的单 }else{ throw new OperateException("isClient不可为空!"); } - // 待接单数量 -// Integer pendingOrderCount = orderStatusCount( -// RepairOrderStatusEnum.PENDING_ORDER.getStatus(), -// repairOrderDto.getClientId(), -// repairOrderDto.getReceiverId(), -// repairOrderDto.getCreatorId()); + // 订单状态 0-待派单;1-待维修;2-排查中;3-审核中;4-维修中;5-测试中;6-已完成; // 待维修数量 Integer waitingRepairCount = orderStatusCount( @@ -235,12 +233,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderDto.getReceiverId(), repairOrderDto.getCreatorId()); - // 待确认数量 -// Integer toBeConfirmedCount = orderStatusCount( -// RepairOrderStatusEnum.TO_BE_CONFIRMED.getStatus(), -// repairOrderDto.getClientId(), -// repairOrderDto.getReceiverId(), -// repairOrderDto.getCreatorId()); + // 审核中数量 + Integer inReview = orderStatusCount( + RepairOrderStatusEnum.IN_REVIEW.getStatus(), + repairOrderDto.getClientId(), + repairOrderDto.getReceiverId(), + repairOrderDto.getCreatorId()); // 维修中数量 Integer inMaintenanceCount = orderStatusCount( @@ -264,10 +262,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderDto.getCreatorId()); OrderStatusCountVo orderStatusCountVo = new OrderStatusCountVo(); -// orderStatusCountVo.setPendingOrderCount(pendingOrderCount); orderStatusCountVo.setWaitingRepairCount(waitingRepairCount); orderStatusCountVo.setUnderInvestigationCount(underInvestigationCount); -// orderStatusCountVo.setToBeConfirmedCount(toBeConfirmedCount); + orderStatusCountVo.setInReview(inReview); orderStatusCountVo.setInMaintenanceCount(inMaintenanceCount); orderStatusCountVo.setTestInProcessCount(testInProcessCount); orderStatusCountVo.setCompletedCount(completedCount); @@ -580,6 +577,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService { BeanUtils.copyProperties(model, vo); vo.setUpdateTime(model.getUpdateTime()); + //良品入库备注和照片 + if(model.getOrderStatus() == RepairOrderStatusEnum.FINISHED.getStatus()){ + RepairOrderStepData stepData = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper() + .eq(RepairOrderStepData::getRepairOrderId, model.getId()) + .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.GOOD_PRODUCTS_ARE_STORED.getStatus())); + vo.setImg(stepData.getImg()); + vo.setEnterRemark(stepData.getRemark()); + } + //工单编号 ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() .eq(ParentRepairOrder::getId, model.getParentRepairOrderId())); @@ -611,6 +617,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService { if(user != null){ vo.setReceiverName(user.getUsername()); vo.setReceiverPhone(user.getMobile()); + }else{ + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, model.getReceiverId())); + if(authAdmin != null){ + vo.setReceiverName(authAdmin.getUsername()); + vo.setReceiverPhone(authAdmin.getPhone()); + } } //管辖工厂 @@ -699,6 +712,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService { .eq(User::getId, repairOrderStepDataVo.getCreatorId())); if(user1 != null){ repairOrderStepDataVo.setCreatorName(user1.getUsername()); + }else{ + SystemAuthAdmin authAdmin1 = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getId, repairOrderStepDataVo.getCreatorId())); + if(authAdmin1 != null){ + repairOrderStepDataVo.setCreatorName(authAdmin1.getUsername()); + } } //当前维修员是否是学徒 返回角色 SystemAuthAdmin isApprentice = systemAuthAdminMapper.selectOne( @@ -1783,25 +1802,20 @@ public class RepairOrderServiceImpl implements IRepairOrderService { RepairOrderDto repairOrderDto = new RepairOrderDto(); BeanUtils.copyProperties(repairOrderParam,repairOrderDto); -// if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.REPAIRER.getStatus()){ -//// if(Objects.equals(repairOrderParam.getOrderStatusIds(), String.valueOf(RepairOrderStatusEnum.PENDING_ORDER.getStatus()))){ -//// repairOrderDto.setReceiverId(null); // 接单人id -//// }else{ -//// repairOrderDto.setReceiverId(FrontThreadLocal.getUserId().longValue()); // 接单人id -//// } -// }else if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.CLIENT.getStatus()){ -// repairOrderDto.setClientId(repairOrderDto.getClientId()); // 根据客户id进行查询 -// } else if (repairOrderParam.getIsClient() == RepairOrderStatusEnum.MAINTENANCE_SUPERVISOR.getStatus()) { -// repairOrderDto.setCreatorId(FrontThreadLocal.getUserId().longValue()); // 创建人id,只查维修主管自己创建的单 -// }else{ -// throw new OperateException("isClient不可为空!"); -// } - // 获取当前用户id - long userid = FrontThreadLocal.getUserId().longValue(); - SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() - .eq(SystemAuthAdmin::getUserId, userid)); - repairOrderDto.setReceiverId(Long.valueOf(authAdmin.getId())); // 接单人id - + if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.REPAIRER.getStatus()){ + // 获取当前用户id + long userid = FrontThreadLocal.getUserId().longValue(); + SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getUserId, userid)); + repairOrderDto.setReceiverId(Long.valueOf(authAdmin.getId())); // 接单人id + }else if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.CLIENT.getStatus()){ + repairOrderDto.setClientId(repairOrderDto.getClientId()); // 根据客户id进行查询 + } else if (repairOrderParam.getIsClient() == RepairOrderStatusEnum.MAINTENANCE_SUPERVISOR.getStatus()) { + repairOrderDto.setCreatorId(FrontThreadLocal.getUserId().longValue()); // 创建人id,只查维修主管自己创建的单 + }else{ + throw new OperateException("isClient不可为空!"); + } + IPage iPage = repairOrderMapper.repairModulePageList(new Page<>(page, limit), repairOrderDto); List list = new LinkedList<>(); @@ -1905,7 +1919,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService { @Transactional public void scanCodeCheck(RepairOrderParam repairOrderParam) { - List repairOrderList = repairOrderParam.getRepairOrderList(); for (RepairOrder order : repairOrderList) { RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(order.getId()); @@ -1914,6 +1927,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrder.setType(order.getType()); // type 扫码核对(0=入库,1=返修) repairOrder.setReturnReason(order.getReturnReason()); // returnReason 返修原因 repairOrder.setOrderStatus(RepairOrderStatusEnum.FINISHED.getStatus()); //工单状态为 6、已完成 + repairOrder.setOrderAccomplishTime(new Date()); // 工单完成时间 repairOrder.setDeliverStatus(RepairOrderStatusEnum.NOT_YET_SHIPPED.getStatus()); // 发货状态(0=未发货,1=已发货) //维修模块审核表信息 @@ -1933,6 +1947,16 @@ public class RepairOrderServiceImpl implements IRepairOrderService { //扫码核对完,审核状态为已完成 repairOrderAudit.setAuditStatus(RepairOrderAuditStatusEnum.ACCOMPLISH.getStatus()); repairOrderAuditMapper.updateById(repairOrderAudit); + + //维修单步骤数据 + RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); + repairOrderStepData.setRepairOrderId(order.getId());// 维修单id + repairOrderStepData.setRemark("工单已完成");// 备注 + repairOrderStepData.setRepairStep(RepairOrderStopEnum.FINISH.getStatus()); // 当前步骤 + repairOrderStepData.setTitle("信息核对"); // 标题 + repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); //创建人 + repairOrderStepData.setCreateTime(new Date()); // 创建时间 + repairOrderStepDataMapper.insert(repairOrderStepData); } diff --git a/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java index 132ac44..388f4b1 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java @@ -530,7 +530,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde .eq(routingInspectionOrderDto.getReceiverId() != null, RoutingInspectionOrder::getReceiverId, routingInspectionOrderDto.getReceiverId())); OrderStatusCountVo orderStatusCountVo = new OrderStatusCountVo(); - orderStatusCountVo.setPendingOrderCount(pendingOrderCount); // 待接单 +// orderStatusCountVo.setPendingOrderCount(pendingOrderCount); // 待接单 orderStatusCountVo.setToBeInspectedCount(toBeInspectedCount); // 待巡检 orderStatusCountVo.setDuringInspectionCount(duringInspectionCount); // 巡检中 orderStatusCountVo.setCompletedCount(completedCount); // 已完成 diff --git a/front/src/main/java/com/hcy/front/vo/order/OrderStatusCountVo.java b/front/src/main/java/com/hcy/front/vo/order/OrderStatusCountVo.java index 74cd005..db2c6bb 100644 --- a/front/src/main/java/com/hcy/front/vo/order/OrderStatusCountVo.java +++ b/front/src/main/java/com/hcy/front/vo/order/OrderStatusCountVo.java @@ -11,11 +11,11 @@ import java.io.Serializable; public class OrderStatusCountVo implements Serializable { private static final long serialVersionUID = 1L; - //维修工单状态 0-待接单;1-待维修;2-排查中;3-待确认;4-维修中;5-测试中;6-已完成; - private Integer pendingOrderCount; // 待接单数量 + // 订单状态 0-待派单;1-待维修;2-排查中;3-审核中;4-维修中;5-测试中;6-已完成; + private Integer waitingRepairCount; // 待维修数量 private Integer underInvestigationCount; // 排查中数量 - private Integer toBeConfirmedCount; // 待确认数量 + private Integer inReview; // 审核中数量 private Integer inMaintenanceCount; // 维修中数量 private Integer testInProcessCount; // 测试中数量 private Integer completedCount; // 已完成数量 diff --git a/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java b/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java index f7167e4..9ae3d40 100644 --- a/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java +++ b/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java @@ -69,7 +69,7 @@ public class RepairOrderDetailVo implements Serializable { private Long receiverId; // 接单人id private String receiverName; //接单人名称 private Date receiverTime; // 接单时间 - private String remark; // 备注 + private Long creatorId; // 创建人id private String creatorName; // 创建人名称 private Date createTime; // 创建时间 @@ -153,4 +153,11 @@ public class RepairOrderDetailVo implements Serializable { private Integer type; // 扫码核对(0=入库,1=返修) private String returnReason; // 返修原因 + + private String remark; // 备注 + + private String img; // 步骤图片 + private String enterRemark; // 良品入库备注 + + }