From 086186df8d29712d3cedc29f03e82fb55ca155ef Mon Sep 17 00:00:00 2001 From: dabin <2827029098@qq.com> Date: Thu, 29 Aug 2024 16:06:16 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90front=E3=80=91=E6=96=B0=E5=A2=9E#=201.?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=87=E4=BB=B6=E4=BF=A1=E6=81=AF=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E4=B8=8D=E5=90=8C=E8=AE=A2=E5=8D=95=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/IOrderOperateRecordService.java | 18 +++++ .../impl/MaintenanceOrderServiceImpl.java | 22 ++++++- .../impl/OrderOperateRecordServiceImpl.java | 31 +++++++++ .../impl/SparePartStockAuditServiceImpl.java | 2 + .../entity/order/OrderOperateRecord.java | 27 ++++++++ .../enums/order/OrderOperateRecordEnum.java | 66 +++++++++++++++++++ .../order/OrderOperateRecordMapper.java | 14 ++++ .../SparePartStockAuditMapper.java | 4 +- .../impl/MaintenanceOrderServiceImpl.java | 12 ++-- .../warehouse/impl/SparePartServiceImpl.java | 11 +++- .../validate/warehouse/SparePartParam.java | 1 + 11 files changed, 197 insertions(+), 11 deletions(-) create mode 100644 admin/src/main/java/com/hcy/admin/service/order/IOrderOperateRecordService.java create mode 100644 admin/src/main/java/com/hcy/admin/service/order/impl/OrderOperateRecordServiceImpl.java create mode 100644 common/src/main/java/com/hcy/common/entity/order/OrderOperateRecord.java create mode 100644 common/src/main/java/com/hcy/common/enums/order/OrderOperateRecordEnum.java create mode 100644 common/src/main/java/com/hcy/common/mapper/order/OrderOperateRecordMapper.java diff --git a/admin/src/main/java/com/hcy/admin/service/order/IOrderOperateRecordService.java b/admin/src/main/java/com/hcy/admin/service/order/IOrderOperateRecordService.java new file mode 100644 index 0000000..1dc45a9 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/service/order/IOrderOperateRecordService.java @@ -0,0 +1,18 @@ +package com.hcy.admin.service.order; + +import com.hcy.common.entity.order.OrderOperateRecord; + +/** + * 订单操作记录服务接口类 + */ +public interface IOrderOperateRecordService { + + /** + * 新增操作检修单记录 + * @param orderId 订单id + * @param titleDsc 标题内容 + * @param description 内容 + */ + void addMaintenanceOrder(Long orderId,String titleDsc,String description); + +} diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java index eb460ca..1875716 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java @@ -27,13 +27,16 @@ import com.hcy.common.entity.client.Equipment; import com.hcy.common.entity.client.EquipmentModel; import com.hcy.common.entity.fault.Fault; import com.hcy.common.entity.order.MaintenanceOrder; +import com.hcy.common.entity.order.OrderOperateRecord; import com.hcy.common.entity.order.repair.MaintenanceRepair; import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.user.User; import com.hcy.common.entity.warehouse.Warehouse; +import com.hcy.common.enums.SparePartStockAuditEnum; import com.hcy.common.enums.equipment.EquipmentStateEnum; import com.hcy.common.enums.order.MaintenanceOrderStatusEnum; +import com.hcy.common.enums.order.OrderOperateRecordEnum; import com.hcy.common.enums.order.OrderStateEnum; import com.hcy.common.exception.OperateException; import com.hcy.common.mapper.address.UserAddressMapper; @@ -43,6 +46,7 @@ import com.hcy.common.mapper.client.EquipmentMapper; import com.hcy.common.mapper.client.EquipmentModelMapper; import com.hcy.common.mapper.fault.FaultMapper; import com.hcy.common.mapper.order.MaintenanceOrderMapper; +import com.hcy.common.mapper.order.OrderOperateRecordMapper; import com.hcy.common.mapper.order.OrderSparePartMapper; import com.hcy.common.mapper.order.repair.MaintenanceRepairMapper; import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper; @@ -53,11 +57,11 @@ import com.hcy.common.utils.OrderUtil; import com.hcy.common.utils.TimeUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import javax.annotation.Resource; import java.math.BigDecimal; -import java.text.SimpleDateFormat; import java.util.*; /** @@ -108,6 +112,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService { @Resource SparePartStockAuditMapper sparePartStockAuditMapper; + @Resource + OrderOperateRecordServiceImpl orderOperateRecordService; + /** * 检修订单列表 * @@ -235,7 +242,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService { } //设置配件领用明细 - SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(model.getId()); + SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(model.getId() + , SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()); if(sparePartStockAudit != null){ SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo(); BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo); @@ -284,6 +292,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService { * @param maintenanceOrderParam 参数 */ @Override + @Transactional public void add(MaintenanceOrderParam maintenanceOrderParam) { MaintenanceOrder model = new MaintenanceOrder(); BeanUtils.copyProperties(maintenanceOrderParam, model); @@ -308,8 +317,12 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService { MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD()); model.setOrderNo(OrderUtil.getOrderNo(maintenanceOrder == null ? "" :maintenanceOrder.getOrderNo())); model.setCreatorId(AdminThreadLocal.getAdminId().longValue()); - maintenanceOrderMapper.insert(model); + + //新增订单操作记录 + orderOperateRecordService.addMaintenanceOrder(model.getId() + ,OrderOperateRecordEnum.NEW_CREATE.getDesc() + ,"【"+AdminThreadLocal.get("name")+"】创建了检修工单。"); } /** @@ -335,6 +348,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService { //重新指派员工 if(param.getReceiverId() != null && param.getId() != null){ model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()); + + //新增订单操作记录 + //orderOperateRecordService.addMaintenanceOrder(model.getId(),OrderOperateRecordEnum.); } model.setReceiverId(param.getReceiverId()); model.setReceiverType(param.getReceiverType()); diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/OrderOperateRecordServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/OrderOperateRecordServiceImpl.java new file mode 100644 index 0000000..77ade80 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/OrderOperateRecordServiceImpl.java @@ -0,0 +1,31 @@ +package com.hcy.admin.service.order.impl; + +import com.hcy.admin.AdminThreadLocal; +import com.hcy.admin.service.order.IOrderOperateRecordService; +import com.hcy.common.entity.order.OrderOperateRecord; +import com.hcy.common.enums.SparePartStockAuditEnum; +import com.hcy.common.enums.order.OrderOperateRecordEnum; +import com.hcy.common.mapper.order.OrderOperateRecordMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 订单操作记录实现类 + */ +@Service +public class OrderOperateRecordServiceImpl implements IOrderOperateRecordService { + + @Resource + private OrderOperateRecordMapper orderOperateRecordMapper; + + @Override + public void addMaintenanceOrder(Long orderId,String titleDsc,String description) { + OrderOperateRecord orderOperateRecord = new OrderOperateRecord(); + orderOperateRecord.setOrderId(orderId); + orderOperateRecord.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()); + orderOperateRecord.setTitle(titleDsc); + orderOperateRecord.setDescription(description); + orderOperateRecordMapper.insert(orderOperateRecord); + } +} diff --git a/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java index 30d4d6d..cdf5e20 100644 --- a/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java @@ -165,7 +165,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi } vo.setOrderSparePartListVoList(orderSparePartListVoList); + vo.setWorkOrderNo(maintenanceOrder.getOrderNo()); + vo.setOrderId(maintenanceOrder.getId()); vo.setRecipient(user.getUsername()); vo.setRecipientPhone(user.getMobile()); vo.setRecipientNumber(number); diff --git a/common/src/main/java/com/hcy/common/entity/order/OrderOperateRecord.java b/common/src/main/java/com/hcy/common/entity/order/OrderOperateRecord.java new file mode 100644 index 0000000..93f85e0 --- /dev/null +++ b/common/src/main/java/com/hcy/common/entity/order/OrderOperateRecord.java @@ -0,0 +1,27 @@ +package com.hcy.common.entity.order; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 订单操作记录实体 + */ +@Data +public class OrderOperateRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Long id; // id + private Long orderId; // 订单id + private Integer orderType; // 订单类型 0-检修工单 1-维修工单 + private String title; // 标题 + private String description; // 描述 + private Integer dscType; // 描述类型:0-报价 1-配件领用 2-审核 3-发货 + private Date createTime; // 创建时间 + +} \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/enums/order/OrderOperateRecordEnum.java b/common/src/main/java/com/hcy/common/enums/order/OrderOperateRecordEnum.java new file mode 100644 index 0000000..0bbc8c2 --- /dev/null +++ b/common/src/main/java/com/hcy/common/enums/order/OrderOperateRecordEnum.java @@ -0,0 +1,66 @@ +package com.hcy.common.enums.order; + +import com.google.common.collect.Maps; + +import java.util.Map; + +/** + * 工单状态 + * @author dabin + */ + +public enum OrderOperateRecordEnum { + // 标题 + NEW_CREATE(0,"新建"), + ORDER_RECEIVING(1,"接单"), + START_SERVICE(2,"开始服务"), + CUSTOMER_QUOTATION(3,"客户报价"), + SPARE_PARTS_APPLY_FOR(4,"备件领用申请"), + SPARE_PARTS_AUDIT(5,"备件领用审核"), + DELIVER_GOODS(6,"发货"), + RECEIVE_GOODS(7,"收货"), + SPARE_PARTS_RECEIVE(8,"配件领用"), + FILL_IN_RECEIPT(9,"填写回单"), + + // 描述类型 + QUOTATION(0,"报价"), + SPARE_PARTS_RECEIVE_TYPE(1,"配件领用"), + AUDIT(2,"审核"), + DELIVER_GOODS_TYPE(3,"发货"); + + private final int status; + private final String desc; + + OrderOperateRecordEnum(int status, String desc) { + this.status = status; + this.desc = desc; + } + + /** + * 获取状态码 + * + * @return int + * @author dabin + */ + public int getStatus() { + return this.status; + } + + /** + * 获取提示 + * + * @return String + * @author dabin + */ + public String getDesc() { + return this.desc; + } + + public static Map getMap() { + Map map = Maps.newHashMap(); + for (OrderOperateRecordEnum auditStateEnum : OrderOperateRecordEnum.values()) { + map.put(auditStateEnum.status, auditStateEnum.desc); + } + return map; + } +} diff --git a/common/src/main/java/com/hcy/common/mapper/order/OrderOperateRecordMapper.java b/common/src/main/java/com/hcy/common/mapper/order/OrderOperateRecordMapper.java new file mode 100644 index 0000000..1f6d3b8 --- /dev/null +++ b/common/src/main/java/com/hcy/common/mapper/order/OrderOperateRecordMapper.java @@ -0,0 +1,14 @@ +package com.hcy.common.mapper.order; + +import com.hcy.common.core.basics.IBaseMapper; +import com.hcy.common.entity.order.OrderOperateRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * 订单操作记录Mapper + * @author dabin + */ +@Mapper +public interface OrderOperateRecordMapper extends IBaseMapper { + +} diff --git a/common/src/main/java/com/hcy/common/mapper/sparePartStockAudit/SparePartStockAuditMapper.java b/common/src/main/java/com/hcy/common/mapper/sparePartStockAudit/SparePartStockAuditMapper.java index 96eccdc..05c5c71 100644 --- a/common/src/main/java/com/hcy/common/mapper/sparePartStockAudit/SparePartStockAuditMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/sparePartStockAudit/SparePartStockAuditMapper.java @@ -30,6 +30,6 @@ public interface SparePartStockAuditMapper extends IBaseMapper