【admin&front】优化# 1、优化检修单配件领用 2、优化工单全包价格显示0,半包正常显示 3、优化维修员配件领用使用公共仓库

dev1.0
renfan 2024-09-14 21:07:15 +08:00
parent a7000a6d02
commit 6cf0352042
39 changed files with 442 additions and 153 deletions

View File

@ -16,6 +16,7 @@ import com.hcy.common.enums.audit.AuditStateEnum;
import com.hcy.common.enums.equipment.EquipmentStateEnum;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
import com.hcy.common.enums.order.OrderStateEnum;
import com.hcy.common.enums.order.RepairOrderStatusEnum;
import com.hcy.common.mapper.client.ClientMapper;
import com.hcy.common.mapper.client.EquipmentMapper;
import com.hcy.common.mapper.configuration.SystemConfigurationMapper;
@ -189,4 +190,42 @@ public class OrderCrontab {
// 获取当前的用户
routingInspectionOrderMapper.insert(model);
}
/**
*
*/
public void repairTimeOut(){
log.info("repairTimeOut 被执行......");
//获取当前时间
Calendar currentTime = Calendar.getInstance();
//维修单
LambdaQueryWrapper<RepairOrder> repairOrderQw = new LambdaQueryWrapper<RepairOrder>()
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
.ne(RepairOrder::getOrderStatus, RepairOrderStatusEnum.FINISHED.getStatus());
List<RepairOrder> repairOrders = repairOrderMapper.selectList(repairOrderQw);
for (RepairOrder item : repairOrders) {
Calendar orderCreateTime = Calendar.getInstance();
orderCreateTime.setTime(item.getUpdateTime());
//判断当前维修单是加急还是普通 priority; // 优先级0=普通1=加急)
if(item.getPriority() == RepairOrderStatusEnum.URGENT.getStatus()){
//加急维修单状态停滞一天,需要提醒
orderCreateTime.add(Calendar.MINUTE, 1);
if(currentTime.compareTo(orderCreateTime) > 0){
item.setTimeoutOrNot(RepairOrderStatusEnum.YES.getStatus());// 是否超时0=是1=否)
repairOrderMapper.updateById(item);
}
} else if (item.getPriority() == RepairOrderStatusEnum.COMMON.getStatus()) {
//普通维修单状态停滞三天,需要提醒
orderCreateTime.add(Calendar.MINUTE, 3);
if(currentTime.compareTo(orderCreateTime) > 0){
item.setTimeoutOrNot(RepairOrderStatusEnum.YES.getStatus());// 是否超时0=是1=否)
repairOrderMapper.updateById(item);
}
}
}
}
}

View File

@ -34,6 +34,7 @@ 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.ClientStatusEnum;
import com.hcy.common.enums.SparePartStockAuditEnum;
import com.hcy.common.enums.equipment.EquipmentStateEnum;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
@ -245,6 +246,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
User user = userMapper.selectById(model.getReceiverId());
if(user != null){
vo.setReceiverName(user.getNickname());
vo.setReceiverPhone(user.getMobile());
}
//设置故障名称
@ -307,6 +309,15 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
.eq(OrderOperateRecord::getOrderId, model.getId());
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;
//全包工单报价为0半包正常显示 actualAmount; // 实际金额 clientType; // 桩点维修类型 0-全包 1-半包
Client clientType = clientMapper.findClientById(vo.getClientId());
if(clientType != null){
if(clientType.getClientType() == ClientStatusEnum.PLIE_POINT_ALL_WRAPPED.getStatus()){
vo.setTotalAmount(BigDecimal.valueOf(0));
vo.setActualAmount(BigDecimal.valueOf(0));
}
}
return vo;
}
@ -440,7 +451,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
orderOperateRecordService.addMaintenanceOrder(model.getId()
,OrderOperateRecordEnum.ALTER_ORDER_DISTANCE.getDesc()
,"【"+AdminThreadLocal.get("username")+"】已修改抢单范围。原本抢单范围为:" +
model.getOrderDistance() + "公里,已修改抢单范围为:" + model.getOrderDistance() + "公里。");
model.getOrderDistance() + "公里已修改抢单范围为:" + model.getOrderDistance() + "公里。");
}
}else{

View File

@ -16,6 +16,7 @@ import com.hcy.admin.vo.client.EquipmentListVo;
import com.hcy.admin.vo.order.OrderSparePartListVo;
import com.hcy.admin.vo.order.RepairOrderListVo;
import com.hcy.admin.vo.order.RepairOrderDetailVo;
import com.hcy.admin.vo.order.RepairOrderStepDataVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.core.PageResult;
@ -25,10 +26,7 @@ import com.hcy.common.entity.address.UserAddress;
import com.hcy.common.entity.client.Client;
import com.hcy.common.entity.client.Equipment;
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.RepairOrder;
import com.hcy.common.entity.order.RoutingInspectionOrder;
import com.hcy.common.entity.order.*;
import com.hcy.common.entity.plant.Plant;
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
import com.hcy.common.entity.system.SystemAuthAdmin;
@ -44,9 +42,7 @@ import com.hcy.common.mapper.address.UserAddressMapper;
import com.hcy.common.mapper.client.ClientMapper;
import com.hcy.common.mapper.client.EquipmentMapper;
import com.hcy.common.mapper.fault.FaultMapper;
import com.hcy.common.mapper.order.OrderOperateRecordMapper;
import com.hcy.common.mapper.order.OrderSparePartMapper;
import com.hcy.common.mapper.order.RepairOrderMapper;
import com.hcy.common.mapper.order.*;
import com.hcy.common.mapper.plant.PlantMapper;
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
@ -114,6 +110,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
@Resource
OrderOperateRecordMapper orderOperateRecordMapper;
@Resource
RepairOrderStepDataMapper repairOrderStepDataMapper;
@Resource
OrderPartCodeMapper orderPartCodeMapper;
/**
*
*
@ -179,6 +181,11 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
}
//配件编码
List<OrderPartCode> orderPartCodes = orderPartCodeMapper.selectList(new LambdaQueryWrapper<OrderPartCode>()
.eq(OrderPartCode::getRepairOrderId, vo.getId()));
vo.setOrderPartCodeList(orderPartCodes);
vo.setCreateTime(item.getCreateTime());
vo.setUpdateTime(item.getUpdateTime());
list.add(vo);
@ -334,11 +341,39 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
vo.setFamiliarFaultName(familiarFaultName.getName());
}
//设置订单操作记录
/*//设置订单操作记录
LambdaQueryWrapper<OrderOperateRecord> queryWrapper = new LambdaQueryWrapper<OrderOperateRecord>()
.eq(OrderOperateRecord::getOrderType, OrderOperateRecordEnum.REPAIR.getStatus())
.eq(OrderOperateRecord::getOrderId, model.getId());
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;*/
//维修单步骤
List<RepairOrderStepData> repairOrderStepData = repairOrderStepDataMapper.selectList(new LambdaQueryWrapper<RepairOrderStepData>()
.eq(RepairOrderStepData::getRepairOrderId, vo.getId())
.orderByDesc(RepairOrderStepData::getId));
if(repairOrderStepData != null){
List<RepairOrderStepDataVo> stepDataVoList = new ArrayList<>();
for (RepairOrderStepData repairOrderStepDatum : repairOrderStepData) {
RepairOrderStepDataVo repairOrderStepDataVo = new RepairOrderStepDataVo();
BeanUtils.copyProperties(repairOrderStepDatum,repairOrderStepDataVo);
//创建人名称
User user1 = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getId, repairOrderStepDataVo.getCreatorId()));
if(user1 != null){
repairOrderStepDataVo.setCreatorName(user1.getUsername());
}
//当前维修员是否是学徒
SystemAuthAdmin isApprentice = systemAuthAdminMapper.selectOne(
new QueryWrapper<SystemAuthAdmin>()
.eq("user_id", repairOrderStepDataVo.getCreatorId()));
if(isApprentice != null){
repairOrderStepDataVo.setIsApprentice(isApprentice.getIsApprentice());
}
stepDataVoList.add(repairOrderStepDataVo);
}
vo.setOrderOperateRecords(stepDataVoList);
}
return vo;
}
@ -359,21 +394,18 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
Assert.notNull(model, "数据不存在!");
model.setClientId(repairOrderParam.getClientId()); // 客户id
model.setEquipmentId(repairOrderParam.getEquipmentId()); // 设备id
model.setModuleNumber(repairOrderParam.getModuleNumber()); // 模块号
model.setBrand(repairOrderParam.getBrand()); // 品牌
model.setLogisticsMode(repairOrderParam.getLogisticsMode()); // 物流方式 0-物流快递 1=自领带回
model.setExpressName(repairOrderParam.getExpressName()); // 快递名称
model.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄0=是 1=否)
model.setReceiverId(repairOrderParam.getReceiverId()); // 接单人id
model.setOrderDistance(repairOrderParam.getOrderDistance()); // 自动抢单最大距离
model.setFaultDescription(repairOrderParam.getFaultDescription()); // 故障描述
model.setRemark(repairOrderParam.getRemark()); // 备注
model.setAddressId(repairOrderParam.getAddressId()); // 回寄地址
if(model.getOrderStatus() != RepairOrderStatusEnum.PENDING_ORDER.getStatus()){
throw new OperateException("当前工单状态,无法进行编辑!");
}
RepairOrder repairOrder = new RepairOrder();
BeanUtils.copyProperties(model, repairOrder);
//priority; // 优先级0=普通1=加急)
repairOrder.setPriority(repairOrderParam.getPriority());
//重新指派员工
if(repairOrderParam.getReceiverId() != null && repairOrderParam.getId() != null){
model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
/*if(repairOrderParam.getReceiverId() != null && repairOrderParam.getId() != null){
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
User user = userMapper.selectById(repairOrderParam.getReceiverId());
if(user != null){
@ -382,8 +414,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
, OrderOperateRecordEnum.APPOINT.getDesc()
,"【"+AdminThreadLocal.get("username")+"】重新分配工单给检修员【"+user.getUsername()+"】");
}
}
repairOrderMapper.updateById(model);
}*/
repairOrderMapper.updateById(repairOrder);
}
/**

View File

@ -95,12 +95,16 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
inspectionOrderDto.setClientName(StringUtils.isEmpty(params.get("clientName")) ? null : params.get("clientName"));
inspectionOrderDto.setEquipmentName(StringUtils.isEmpty(params.get("equipmentName")) ? null : params.get("equipmentName"));
inspectionOrderDto.setReceiverName(StringUtils.isEmpty(params.get("receiverName")) ? null : params.get("receiverName"));
if(StringUtils.isNotEmpty(params.get("orderSource"))){
inspectionOrderDto.setOrderSource(Long.valueOf(params.get("orderSource")));
}
if(StringUtils.isNotEmpty(params.get("orderStatus"))){
inspectionOrderDto.setOrderStatus(Long.valueOf(params.get("orderStatus")));
}
if(StringUtils.isNotEmpty(params.get("clientId"))){
inspectionOrderDto.setClientId(Long.valueOf(params.get("clientId")));
}
Page<RoutingInspectionOrderDto> iPage = routingInspectionOrderMapper.pageList(page, inspectionOrderDto);

View File

@ -223,7 +223,7 @@ public class SparePartServiceImpl implements ISparePartService {
model.setWarehouseId(sparePartParam.getWarehouseId());
model.setSpecificationsModel(sparePartParam.getSpecificationsModel());
model.setUnit(sparePartParam.getUnit());
model.setQuantity(sparePartParam.getQuantity());
/*model.setQuantity(sparePartParam.getQuantity());// 库存数量*/
model.setUnitPrice(sparePartParam.getUnitPrice());
model.setUpdateTime(System.currentTimeMillis() / 1000);//更新时间
sparePartMapper.updateById(model);

View File

@ -32,6 +32,7 @@ import com.hcy.common.enums.SparePartStockAuditEnum;
import com.hcy.common.enums.audit.AuditStateEnum;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
import com.hcy.common.enums.order.OrderOperateRecordEnum;
import com.hcy.common.enums.order.RepairOrderStatusEnum;
import com.hcy.common.enums.order.RepairOrderStopEnum;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
@ -218,7 +219,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
orderSparePartListVoList.add(orderSparePartListVo);
number += orderSparePart.getQuantity();
number += orderSparePart.getCount();
}
vo.setOrderSparePartListVoList(orderSparePartListVoList);
vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
@ -231,7 +232,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
vo.setRecipientPhone(user.getMobile());
}
} else if (item.getOrderType() != null && item.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
RepairOrder repairOrder = maintenanceOrderMapper.findRepairOrderById(item.getOrderId());
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(item.getOrderId());
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByRepairOrderId(item.getOrderId());
@ -240,7 +241,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
orderSparePartListVoList.add(orderSparePartListVo);
number += orderSparePart.getQuantity();
number += orderSparePart.getCount();
}
vo.setOrderSparePartListVoList(orderSparePartListVoList);
@ -881,6 +882,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
if(repairOrder != null){
repairOrder.setReturnCause(sparePartStockAuditParam.getPurchaseIdea());
repairOrder.setRepairNextStep(RepairOrderStopEnum.RECOLLAR_FITTING.getStatus());//维修单审核不通过步骤为重领配件
repairOrder.setUpdateTime(new Date()); // 更新时间
repairOrderMapper.updateById(repairOrder);
}
@ -889,6 +891,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
repairOrderStepData.setRepairOrderId(model.getOrderId());// 维修单id
repairOrderStepData.setRemark("仓管员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getPurchaseIdea());// 备注
repairOrderStepData.setTitle("仓库员进行审核"); // 标题
repairOrderStepData.setAuditStatus(AuditStateEnum.NOT_PASS_STATE.getStatus()); //审核不通过
repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人
repairOrderStepData.setCreateTime(new Date()); // 创建时间
repairOrderStepDataMapper.insert(repairOrderStepData);
@ -896,25 +899,25 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
//获取待审核备件信息
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
new QueryWrapper<SparePartAudit>()
.eq("stock_audit_id", model.getId())
List<OrderSparePart> orderSpareParts = orderSparePartMapper.selectList(
new QueryWrapper<OrderSparePart>()
.eq("repair_order_id", model.getOrderId())
.eq("is_delete", 0)
);
if (model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
&& model.getReceiveStatus() == AuditStateEnum.UNCLAIMED.getStatus()) {
// 通过审核的出库单
//获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) {
for (OrderSparePart orderSparePart : orderSpareParts) {
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("id", sparePartAudit.getSparePartsId())
.eq("id", orderSparePart.getSparePartsId())
.eq("is_delete", 0)
.last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
if (sparePart.getQuantity() >= orderSparePart.getCount()) {
/*model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());*/
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
sparePart.setQuantity(sparePart.getQuantity() - orderSparePart.getCount());
} else {
throw new OperateException("备件库存数量不足,请联系客服人员!");
}
@ -924,7 +927,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
//新增检修单操作记录
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT.getDesc()
,OrderOperateRecordEnum.AUDIT.getStatus()
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核。");
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
@ -933,11 +936,19 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
,OrderOperateRecordEnum.AUDIT.getStatus()
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核");*/
//仓管员维修单审核通过
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(model.getOrderId());
if(repairOrder != null){
repairOrder.setUpdateTime(new Date()); // 更新时间
repairOrderMapper.updateById(repairOrder);
}
//新增维修单操作记录
RepairOrderStepData repairOrderStepData = new RepairOrderStepData();
repairOrderStepData.setRepairOrderId(model.getOrderId());// 维修单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);
@ -1147,11 +1158,16 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
sparePartStockAuditMapper.updateById(model);
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
//新增检修单操作记录
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
, "仓管员上传确认照片"
,OrderOperateRecordEnum.SPARE_PARTS_AUDIT.getStatus()
,"仓管员【"+AdminThreadLocal.get("username")+"】上传确认照片。");
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
RepairOrder repairOrder = repairOrderMapper.selectOne(new LambdaQueryWrapper<RepairOrder>()
.eq(RepairOrder::getId, model.getOrderId()));
repairOrder.setOrderStatus(AuditStateEnum.TO_BE_CONFIRMED.getStatus());// 维修工单状态 3=待确认
repairOrder.setUpdateTime(new Date()); // 更新时间
repairOrderMapper.updateById(repairOrder);
//新增维修单操作记录

View File

@ -104,5 +104,5 @@ public class RepairOrderParam implements Serializable {
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer timeoutOrNot; // 是否超时0=是1=否)
}

View File

@ -68,4 +68,6 @@ public class MaintenanceOrderDetailVo implements Serializable {
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
private SparePartStockAuditDetailVo sparePartStockAuditDetailVo; //备件领用申请
private List<OrderOperateRecord> orderOperateRecords; //订单操作记录
private Date quotationTime; //报价时间
}

View File

@ -22,7 +22,8 @@ public class OrderSparePartListVo implements Serializable {
private String specificationsModel; // 规格型号
private String unit; // 单位
private BigDecimal unitPrice; // 价格
private Integer quantity; // 数量
private Integer quantity; // 库存数量
private Integer count; // 出入库数量
private BigDecimal totalPrice; // 总价
private String warehouseName; //仓库名称

View File

@ -9,6 +9,7 @@ import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.entity.address.UserAddress;
import com.hcy.common.entity.client.Equipment;
import com.hcy.common.entity.order.OrderOperateRecord;
import com.hcy.common.entity.order.OrderPartCode;
import lombok.Data;
import java.io.Serializable;
@ -97,7 +98,7 @@ public class RepairOrderDetailVo implements Serializable {
private Long clientScrapAddressId; // 客户报废收货地址id
private UserAddressListVo clientScrapAddress; //客户报废收货地址
private Long scrapConfirmation; // 报废确认0=是1=否)
private Integer scrapConfirmation; // 报废确认0=是1=否)
private Integer warehouseType; // 仓库类型 0-我的仓库 1-公共仓库
private Long repairId; // 返修id
@ -108,7 +109,9 @@ public class RepairOrderDetailVo implements Serializable {
private Long userId; // 送修人
private Integer maintainType; // 客户维修类型 模块维修类型 0-全包 1-半包
/*
private List<OrderOperateRecord> orderOperateRecords; //订单操作记录
*/
private Integer priority; // 优先级0=加急1=普通)
private Integer isReassignment; // 是否在改派中0=是1=否)
@ -123,5 +126,7 @@ public class RepairOrderDetailVo implements Serializable {
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private List<OrderPartCode> orderPartCodeList; // 配件编码列表
private List<RepairOrderStepDataVo> orderOperateRecords; // 维修单步骤数据列表 //repairOrderStepDataList
private Integer timeoutOrNot; // 是否超时0=是1=否)
}

View File

@ -1,10 +1,12 @@
package com.hcy.admin.vo.order;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.entity.order.OrderPartCode;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* RepairOrderVo
@ -86,5 +88,6 @@ public class RepairOrderListVo implements Serializable {
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private List<OrderPartCode> orderPartCodeList; // 配件编码列表
private Integer timeoutOrNot; // 是否超时0=是1=否)
}

View File

@ -0,0 +1,22 @@
package com.hcy.admin.vo.order;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class RepairOrderStepDataVo implements Serializable {
private Long id; // 主键id
private Long repairOrderId; // 维修单id
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private String remark; // 备注
private String img; // 照片
private String title; // 标题
private Integer dscType; // 描述类型0=配件领用
private Integer auditStatus; // 审核状态0=通过1=不通过)
private Long creatorId; // 创建人id
private Date createTime; // 创建时间
private String creatorName; // 创建人名称
private Integer isApprentice; //是否学徒0=否 1=是
}

View File

@ -26,7 +26,8 @@ public class OrderSparePart implements Serializable {
private String specificationsModel; // 规格型号
private String unit; // 单位
private BigDecimal unitPrice; // 价格
private Integer quantity; // 数量
private Integer quantity; // 库存数量
private Integer count; // 出入库数量
private BigDecimal totalPrice; // 总价
private Integer isDelete; // 是否删除 0-未删除 1-删除

View File

@ -87,5 +87,5 @@ public class RepairOrderDto implements Serializable {
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer timeoutOrNot; // 是否超时0=是1=否)
}

View File

@ -38,6 +38,7 @@ public class MaintenanceOrder implements Serializable {
@TableField(value = "receiver_id",updateStrategy = FieldStrategy.IGNORED)
private Long receiverId; // 接单人id
private Long repairId; // 返修id
@TableField(value = "receiver_time",updateStrategy = FieldStrategy.IGNORED)
private Date receiverTime; // 接单时间
private Date quotationTime; //报价时间
private Date cancelOrderTime; // 取消订单时间

View File

@ -89,4 +89,6 @@ public class RepairOrder implements Serializable {
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer timeoutOrNot; // 是否超时0=是1=否)
}

View File

@ -28,6 +28,7 @@ public enum OrderOperateRecordEnum {
RETURN_TECHNICIAN(10, "退回检修员"),
UPLOADING_IN_MAINTENANCE(6, "上传维修中照片"),
UPLOADING_AFTER_REPAIR(7, "上传维修后照片"),
SPARE_PARTS_AUDIT(5,"备件领用审核"),
SPARE_PARTS_AUDIT_ONE(5,"备件领用一级审核"),
SPARE_PARTS_AUDIT_TWO(6,"备件领用二级审核"),
DELIVER_GOODS(7,"发货"),

View File

@ -31,16 +31,6 @@ public interface MaintenanceOrderMapper extends IBaseMapper<MaintenanceOrder> {
@Select("select * from la_maintenance_order where is_delete = 0 and order_no like concat('%',#{time},'%') order by order_no desc limit 1")
MaintenanceOrder findLastMaintenanceOrderByTime(@Param("time") String time);
/**
* id
* @return MaintenanceOrder
*/
@Select("select * from la_repair_order where is_delete = 0 and id = #{id}")
RepairOrder findRepairOrderById(@Param("id") Long id);
@Select("select * from la_repair_order where is_delete = 0 and order_no like concat('%',#{time},'%') order by order_no desc limit 1")
RepairOrder findRepairOrderByTime(@Param("time") String time);
/**
*
* @return

View File

@ -50,6 +50,9 @@ public interface RepairOrderMapper extends IBaseMapper<RepairOrder> {
@Select("select * from la_repair_order where is_delete = 0 and module_code = #{moduleCode}")
RepairOrder findRepairOrderByModuleCode(@Param("moduleCode") String moduleCode);
@Select("select * from la_repair_order where is_delete = 0 and order_no like concat('%',#{time},'%') order by order_no desc limit 1")
RepairOrder findRepairOrderByTime(@Param("time") String time);
/**
*
* @return

View File

@ -25,4 +25,11 @@ public interface WarehouseMapper extends IBaseMapper<Warehouse> {
*/
@Select("select * from la_warehouse where is_delete = 0 and pid IN ( SELECT id FROM la_warehouse WHERE warehouse_coding = 'topWarehouse' OR warehouse_coding = 'areaWarehouse') or id = #{id}")
List<Warehouse> findPublicWarehouseList(@Param("id") Long id);
/**
*
* @return List<Warehouse>
*/
@Select("select * from la_warehouse where is_delete = 0 and pid IN ( SELECT id FROM la_warehouse WHERE warehouse_coding = 'topWarehouse' OR warehouse_coding = 'areaWarehouse')")
List<Warehouse> findPublicWarehouseList();
}

View File

@ -41,6 +41,9 @@
<if test="form.orderStatus != null">
and i.order_status = #{form.orderStatus}
</if>
<if test="form.clientId != null">
and i.client_id = #{form.clientId}
</if>
ORDER BY create_time DESC
</select>

View File

@ -8,7 +8,7 @@
lw.warehouse_name as warehouseName
FROM
la_spare_part AS lsp
LEFT JOIN la_warehouse AS lw ON lw.id = lsp.warehouse_id
LEFT JOIN la_warehouse AS lw ON lw.id = lsp.warehouse_id and lw.is_delete = 0
<where>
lsp.is_delete = 0
and lsp.quantity > 0

View File

@ -122,6 +122,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
vo.setProvince(regionMap.get(vo.getProvinceId()));
vo.setCity(regionMap.get(vo.getCityId()));
vo.setDistrict(regionMap.get(vo.getDistrictId()));
//是否学徒 isApprentice; //是否学徒0=否 1=是
vo.setIsApprentice(authAdmin.getIsApprentice());
//设置客户id
ClientContacts clientContacts = clientContactsMapper.selectOne(new LambdaQueryWrapper<ClientContacts>()
.eq(ClientContacts::getIsDelete, GlobalConstant.NOT_DELETE)

View File

@ -99,7 +99,7 @@ public interface IMaintenanceOrderService {
void oldModuleRepair(MaintenanceOrderParam maintenanceOrderParam);
/**
*
*
* @param maintenanceOrderParam
*/
void confirmReceipt(MaintenanceOrderParam maintenanceOrderParam);

View File

@ -4,7 +4,6 @@ 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;
import com.hcy.front.vo.order.MaintenanceOrderListVo;
import com.hcy.front.vo.order.OrderStatusCountVo;
import com.hcy.front.vo.order.RepairOrderDetailVo;
import com.hcy.front.vo.order.RepairOrderListVo;
@ -30,7 +29,6 @@ public interface IRepairOrderService {
*
*
* @author hcy
* @param repairOrderParam
* @return RepairOrder
*/
RepairOrderDetailVo detail(RepairOrderParam repairOrderParam);
@ -45,98 +43,82 @@ public interface IRepairOrderService {
/**
*
* @param repairOrderParam
*/
void grabTheOrder(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void receivingOrder(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void sweep(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void faultDetect(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
* @return
*/
List<RepairOrderListVo> list(RepairOrderParam repairOrderParam);
/**
*
* @return
*/
OrderStatusCountVo orderStatusCount(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void confirmServiceOfferPrice(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void confirmedScrap(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void scrapForm(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void fillInReceipt(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void sparePartsRequisition(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void confirmReceipt(RepairOrderParam repairOrderParam);
/**
*
*/
void sweep(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void dismantle(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void applyForReassignment(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void auditReassignment(RepairOrderParam repairOrderParam);
/**
*
* @param repairOrderParam
*/
void maintenanceProcedure(RepairOrderParam repairOrderParam);
}

View File

@ -22,9 +22,7 @@ import com.hcy.common.enums.ClientStatusEnum;
import com.hcy.common.enums.SparePartStockAuditEnum;
import com.hcy.common.enums.audit.AuditStateEnum;
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.enums.order.*;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.address.UserAddressMapper;
import com.hcy.common.mapper.client.ClientContactsMapper;
@ -397,6 +395,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
if(maintenanceOrder.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAITING_LIST.getStatus());
maintenanceOrder.setReceiverId(null);
maintenanceOrder.setReceiverTime(null);
}else{
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHARGEBACK.getStatus());
}
@ -457,7 +456,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
vo.setCreatorName(systemAuthAdmin.getNickname());
}
}*/
//设置创建人姓名
User userName = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getId, maintenanceOrder.getCreatorId()));
if(userName != null){
@ -531,6 +530,15 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
}
//全包工单报价为0半包正常显示 actualAmount; // 实际金额 clientType; // 桩点维修类型 0-全包 1-半包
Client clientType = clientMapper.findClientById(vo.getClientId());
if(clientType != null){
if(clientType.getClientType() == ClientStatusEnum.PLIE_POINT_ALL_WRAPPED.getStatus()){
vo.setTotalAmount(BigDecimal.valueOf(0));
vo.setActualAmount(BigDecimal.valueOf(0));
}
}
return vo;
}
@ -590,22 +598,22 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
orderSparePartMapper.deleteById(orderSparePart);
}
for (SparePartParam item : maintenanceOrderParam.getSparePartParams()) {
for (OrderSparePartVo item : maintenanceOrderParam.getSparePartParams()) {
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
OrderSparePart orderSparePart = new OrderSparePart();
BeanUtils.copyProperties(sparePart, orderSparePart);
orderSparePart.setId(null);
orderSparePart.setMaintenanceOrderId(maintenanceOrder.getId());
orderSparePart.setSparePartsId(item.getId());
orderSparePart.setWarehouseId(sparePart.getWarehouseId());
orderSparePart.setQuantity(item.getQuantity());
orderSparePart.setMaintenanceOrderId(maintenanceOrder.getId()); //检修单id
orderSparePart.setSparePartsId(item.getId()); // 备件id
orderSparePart.setWarehouseId(sparePart.getWarehouseId()); // 所属仓库id
orderSparePart.setCount(item.getCount()); // 出入库数量
//设置订单实际价格
BigDecimal practicalPrice = sparePart.getUnitPrice().multiply(client.getPointMaintainDivisor());
orderSparePart.setUnitPrice(practicalPrice);
BigDecimal totalPrice = practicalPrice.multiply(BigDecimal.valueOf(item.getQuantity()));
BigDecimal totalPrice = practicalPrice.multiply(BigDecimal.valueOf(item.getCount()));
actualAmount = actualAmount.add(totalPrice);
orderSparePart.setTotalPrice(totalPrice);
@ -687,9 +695,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
for (OrderSparePart item : orderSpareParts) {
//获取备件信息
SparePart sparePart = sparePartMapper.findSparePartById(item.getSparePartsId());
if(sparePart.getQuantity() >= item.getQuantity()){
if(sparePart.getQuantity() >= item.getCount()){
//扣除对应的数量
sparePart.setQuantity(sparePart.getQuantity() - item.getQuantity());
sparePart.setQuantity(sparePart.getQuantity() - item.getCount());
sparePartMapper.updateById(sparePart);
}else{
throw new OperateException("仓库中【" + sparePart.getSparePartsName() + "】备件数量不足" + item.getQuantity() + sparePart.getUnit() + ",配件领用失败");
@ -705,21 +713,24 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
,"【"+FrontThreadLocal.get("username")+"】创建了【配件领用】单。选择仓库:自身仓库。");
//我的仓库也要新增配件领用记录 并且状态是已完成
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
sparePartStockAuditMapper.insert(sparePartStockAudit);*/
SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
/*sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());*/
sparePartStockAudit.setReceiveStatus(AuditStateEnum.FINISHED.getStatus());
sparePartStockAuditMapper.insert(sparePartStockAudit);
}else{
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId()
,SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
if(resultSps != null){
//已有领取记录但被拒绝则重新审核
resultSps.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
/*resultSps.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());*/
resultSps.setReceiveStatus(AuditStateEnum.UNREVIEWED.getStatus());
resultSps.setCreateTime(new Date());
sparePartStockAuditMapper.updateById(resultSps);
}else{
//没领过配件则创建新的领用单
SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
/*sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());*/
sparePartStockAudit.setReceiveStatus(AuditStateEnum.UNREVIEWED.getStatus());
sparePartStockAuditMapper.insert(sparePartStockAudit);
//新增检修单操作记录
@ -729,6 +740,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
,"【"+FrontThreadLocal.get("username")+"】创建了配件领用申请单。");
}
}
}
/**
@ -772,9 +785,10 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
Assert.notNull(maintenanceOrderParam.getFamiliarFaultId(), "结论类型不可为空");
Assert.notNull(maintenanceOrderParam.getFamiliarFaultDescription(), "结论描述不可为空");
//只有维修中和填写回单状态才可以填写回单
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus() &&
maintenanceOrder.getIsConfirmReceipt() == MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus()){
//只有维修中和填写回单状态才可以填写回单 检测中的工单也支持填写回单
if((maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus() &&
maintenanceOrder.getIsConfirmReceipt() == MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus()) ||
maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.CHECKING.getStatus()){
maintenanceOrder.setFamiliarFaultId(maintenanceOrderParam.getFamiliarFaultId());
maintenanceOrder.setFamiliarFaultDescription(maintenanceOrderParam.getFamiliarFaultDescription());
@ -862,13 +876,13 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId()
,SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
if(resultSps != null){
if(resultSps.getPurchaseStatus() == AuditStateEnum.WAIT_FOR_RECEIVING.getStatus()){
if(resultSps.getReceiveStatus() == AuditStateEnum.TO_BE_CONFIRMED.getStatus()){
//确认收货后可进行填写回单操作
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
maintenanceOrderMapper.updateById(maintenanceOrder);
//将对应的配件领用订单改成已完成
resultSps.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
resultSps.setReceiveStatus(AuditStateEnum.FINISHED.getStatus());// 已完成
sparePartStockAuditMapper.updateById(resultSps);
//新增检修单操作记录

View File

@ -207,32 +207,64 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
RepairOrderDto repairOrderDto = new RepairOrderDto();
BeanUtils.copyProperties(repairOrderParam,repairOrderDto);
if(repairOrderParam.getIsClient() == MaintenanceOrderStatusEnum.REPAIRER.getStatus()){
if(repairOrderParam.getIsClient() == RepairOrderStatusEnum.REPAIRER.getStatus()){
repairOrderDto.setReceiverId(FrontThreadLocal.getUserId().longValue()); //接单人
}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{
repairOrderDto.setClientId(repairOrderDto.getClientId()); // 客户id
throw new OperateException("isClient不可为空");
}
// 待接单数量
Integer pendingOrderCount = orderStatusCount(RepairOrderStatusEnum.PENDING_ORDER.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer pendingOrderCount = orderStatusCount(
RepairOrderStatusEnum.PENDING_ORDER.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
// 待维修数量
Integer waitingRepairCount = orderStatusCount(RepairOrderStatusEnum.AWAITING_REPAIR.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer waitingRepairCount = orderStatusCount(
RepairOrderStatusEnum.AWAITING_REPAIR.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
// 排查中数量
Integer underInvestigationCount = orderStatusCount(RepairOrderStatusEnum.UNDER_INVESTIGATION.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer underInvestigationCount = orderStatusCount(
RepairOrderStatusEnum.UNDER_INVESTIGATION.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
// 待确认数量
Integer toBeConfirmedCount = orderStatusCount(RepairOrderStatusEnum.TO_BE_CONFIRMED.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer toBeConfirmedCount = orderStatusCount(
RepairOrderStatusEnum.TO_BE_CONFIRMED.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
// 维修中数量
Integer inMaintenanceCount = orderStatusCount(RepairOrderStatusEnum.IN_MAINTENANCE.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer inMaintenanceCount = orderStatusCount(
RepairOrderStatusEnum.IN_MAINTENANCE.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
// 测试中数量
Integer testInProcessCount = orderStatusCount(RepairOrderStatusEnum.TEST_IN_PROCESS.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer testInProcessCount = orderStatusCount(
RepairOrderStatusEnum.TEST_IN_PROCESS.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
// 已完成数量
Integer completedCount = orderStatusCount(RepairOrderStatusEnum.FINISHED.getStatus(),repairOrderDto.getClientId(),repairOrderDto.getReceiverId());
Integer completedCount = orderStatusCount(
RepairOrderStatusEnum.FINISHED.getStatus(),
repairOrderDto.getClientId(),
repairOrderDto.getReceiverId(),
repairOrderDto.getCreatorId());
OrderStatusCountVo orderStatusCountVo = new OrderStatusCountVo();
orderStatusCountVo.setPendingOrderCount(pendingOrderCount);
@ -252,13 +284,14 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
* @param receiverId
* @return
*/
public Integer orderStatusCount(Integer orderStatus,Long clientId,Long receiverId){
public Integer orderStatusCount(Integer orderStatus,Long clientId,Long receiverId,Long creatorId){
Integer count = repairOrderMapper.selectCount(
new LambdaQueryWrapper<RepairOrder>()
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
.eq(RepairOrder:: getOrderStatus, orderStatus)
.eq(clientId != null, RepairOrder::getClientId, clientId)
.eq(receiverId != null, RepairOrder::getReceiverId, receiverId));
.eq(receiverId != null, RepairOrder::getReceiverId, receiverId)
.eq(creatorId != null, RepairOrder::getCreatorId, creatorId));
return count;
}
@ -549,6 +582,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
vo.setClientName(clientName.getClientName());
vo.setDirector(clientName.getDirector());
vo.setPhone(clientName.getPhone());
vo.setMaintainType(clientName.getMaintainType());
}
//创建人名称
@ -615,6 +649,11 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getId, item.getWarehouseId()));
orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName());
//配件库存数量
SparePart sparePart = sparePartMapper.selectOne(new LambdaQueryWrapper<SparePart>()
.eq(SparePart::getId, item.getSparePartsId()));
orderSparePartListVo.setQuantity(sparePart.getQuantity());
orderSparePartListVos.add(orderSparePartListVo);
}
vo.setSparePartList(orderSparePartListVos);
@ -650,11 +689,21 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
if(user1 != null){
repairOrderStepDataVo.setCreatorName(user1.getUsername());
}
//当前维修员是否是学徒 返回角色
SystemAuthAdmin isApprentice = systemAuthAdminMapper.selectOne(
new QueryWrapper<SystemAuthAdmin>()
.eq("user_id", repairOrderStepDataVo.getCreatorId()));
if(isApprentice != null){
repairOrderStepDataVo.setIsApprentice(isApprentice.getIsApprentice());
repairOrderStepDataVo.setRole(isApprentice.getRole());
}
stepDataVoList.add(repairOrderStepDataVo);
}
vo.setRepairOrderStepDataList(stepDataVoList);
}
return vo;
}
@ -677,6 +726,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
model.setModuleCode(repairOrderParam.getModuleCode()); // 模块代码
model.setPriority(repairOrderParam.getPriority()); // 优先级
Integer count = repairOrderMapper.selectCount(new LambdaQueryWrapper<RepairOrder>()
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
.eq(RepairOrder::getModuleCode, repairOrderParam.getModuleCode()));
if(count > 0){
throw new OperateException("模块代码不可重复!");
}
// 获取当前的用户
model.setCreatorId(FrontThreadLocal.getUserId().longValue()); // 创建人id
Date currentTime = new Date();
@ -770,6 +826,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
if(repairOrder.getRepairNextStep() == null){
repairOrder.setRepairNextStep(RepairOrderStopEnum.DISMANTLE.getStatus()); // 下个步骤
}
repairOrder.setUpdateTime(new Date()); // 更新时间
repairOrderMapper.updateById(repairOrder);
//新增维修单操作记录
@ -805,6 +862,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
repairOrder.setCancelCause(repairOrderParam.getCancelCause()); // 申请改派原因
repairOrder.setIsReassignment(RepairOrderStatusEnum.YES.getStatus());// 是否在改派中0=是1=否)
repairOrder.setReassignmentAgreeOrNot(null); // 再次申请改派时reassignmentAgreeOrNot字段设为null
repairOrder.setUpdateTime(new Date()); // 更新时间
repairOrderMapper.updateById(repairOrder);
//新增维修单操作记录
@ -845,6 +903,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
}
//审核改派时不管同不同意都把isReassignment字段设置回null
repairOrder.setIsReassignment(null);
repairOrder.setUpdateTime(new Date()); // 更新时间
repairOrderMapper.updateById(repairOrder);
//新增维修单操作记录
@ -872,6 +931,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
if(repairOrderParam.getRepairStep() == RepairOrderStopEnum.DISMANTLE.getStatus()){
repairOrder.setRepairStep(repairOrderParam.getRepairStep());// 当前步骤
repairOrder.setRepairNextStep(RepairOrderStopEnum.RINSE.getStatus()); // 下个步骤
repairOrder.setUpdateTime(new Date()); // 更新时间
//批量添加配件编码
List<OrderPartCode> orderPartCodeList = repairOrderParam.getOrderPartCodeList();
@ -912,6 +972,22 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
throw new OperateException("当前步骤不可为空!");
}
repairOrder.setRepairStep(repairOrderParam.getRepairStep());// 当前步骤
repairOrder.setUpdateTime(new Date()); // 更新时间
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
new QueryWrapper<SystemAuthAdmin>()
.eq("user_id", FrontThreadLocal.getUserId().longValue()));
//判断当前维修员是否是学徒,学徒不可操作以下步骤:配件领用、确认签名、上传维修前中后照片
if(authAdmin.getIsApprentice() == StatusEnum.YES.getCode()){
if(repairOrderParam.getRepairStep() == RepairOrderStopEnum.TROUBLESHOOTING.getStatus()
|| repairOrderParam.getRepairStep() == RepairOrderStopEnum.CONFIRMATION_SIGNATURE.getStatus()
|| repairOrderParam.getRepairStep() == RepairOrderStopEnum.RECOLLAR_FITTING.getStatus()
|| repairOrderParam.getRepairStep() == RepairOrderStopEnum.PRE_MAINTENANCE_IMG.getStatus()
|| repairOrderParam.getRepairStep() == RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()
|| repairOrderParam.getRepairStep() == RepairOrderStopEnum.AFTER_REPAIR_IMG.getStatus()){
throw new OperateException("学徒不可操作当前步骤!");
}
}
//查看当前步骤是否有记录
RepairOrderStepData repairOrderStepData1 = repairOrderStepDataMapper.selectOne(
@ -925,7 +1001,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
repairOrder.setOrderStatus(RepairOrderStatusEnum.UNDER_INVESTIGATION.getStatus()); //清洗完工单状态变为排查中
}else if(repairOrderParam.getRepairStep() == RepairOrderStopEnum.TROUBLESHOOTING.getStatus()){
//故障排查
repairOrder.setRepairStep(repairOrderParam.getRepairStep());// 当前步骤
repairOrder.setScrapOrNot(repairOrderParam.getScrapOrNot());// 是否报废0=是1=否)
//判断是否报废
if(repairOrderParam.getScrapOrNot() == RepairOrderStatusEnum.YES.getStatus()){
@ -975,7 +1050,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
//故障排查完,如果有申请配件,变成待确认
repairOrder.setOrderStatus(RepairOrderStatusEnum.TO_BE_CONFIRMED.getStatus());
for (SparePartParam item : repairOrderParam.getSparePartParams()) {
for (OrderSparePartVo item : repairOrderParam.getSparePartParams()) {
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
Assert.notNull(sparePart, "配件数据不存在");
@ -986,7 +1061,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
orderSparePart.setRepairOrderId(repairOrder.getId()); //维修单id
orderSparePart.setSparePartsId(item.getId()); // 备件id
orderSparePart.setWarehouseId(sparePart.getWarehouseId()); // 所属仓库id
orderSparePart.setQuantity(item.getQuantity()); // 数量
orderSparePart.setCount(item.getCount()); // 出入库数量
orderSparePartMapper.insert(orderSparePart);
}
@ -1074,7 +1149,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
//故障排查完,如果有申请配件,变成待确认
repairOrder.setOrderStatus(RepairOrderStatusEnum.TO_BE_CONFIRMED.getStatus());
for (SparePartParam item : repairOrderParam.getSparePartParams()) {
for (OrderSparePartVo item : repairOrderParam.getSparePartParams()) {
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
Assert.notNull(sparePart, "配件数据不存在");
@ -1085,7 +1160,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
orderSparePart.setRepairOrderId(repairOrder.getId()); //维修单id
orderSparePart.setSparePartsId(item.getId()); // 备件id
orderSparePart.setWarehouseId(sparePart.getWarehouseId()); // 所属仓库id
orderSparePart.setQuantity(item.getQuantity()); // 数量
orderSparePart.setCount(item.getCount()); // 出入库数量
orderSparePartMapper.insert(orderSparePart);
}
@ -1200,6 +1275,14 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
}else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.FUNCTIONAL_TEST.getStatus()) {
// 功能测试
// 更新不更新步骤
repairOrder.setFunctionalTestPassed(repairOrderParam.getFunctionalTestPassed()); // 功能测试是否通过0=是1=否)
if(repairOrderParam.getFunctionalTestPassed() == RepairOrderStatusEnum.YES.getStatus()){
repairOrder.setRepairNextStep(RepairOrderStopEnum.AGING_TEST.getStatus()); // 下个步骤
}else{
repairOrder.setRepairNextStep(RepairOrderStopEnum.FUNCTIONAL_TEST.getStatus()); // 下个步骤
}
repairOrderMapper.updateById(repairOrder); // 更新维修单
if(repairOrderStepData1 != null){
//维修单步骤数据
repairOrderStepDataMapper.updateById(new RepairOrderStepData(
@ -1213,14 +1296,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
FrontThreadLocal.getUserId().longValue(),
new Date()));
}else{
repairOrder.setRepairStep(repairOrderParam.getRepairStep());// 当前步骤
repairOrder.setFunctionalTestPassed(repairOrderParam.getFunctionalTestPassed()); // 功能测试是否通过0=是1=否)
if(repairOrderParam.getFunctionalTestPassed() == RepairOrderStatusEnum.YES.getStatus()){
repairOrder.setRepairNextStep(RepairOrderStopEnum.AGING_TEST.getStatus()); // 下个步骤
}else{
repairOrder.setRepairNextStep(RepairOrderStopEnum.FUNCTIONAL_TEST.getStatus()); // 下个步骤
}
repairOrderMapper.updateById(repairOrder); // 更新维修单
//维修单步骤数据
repairOrderStepDataMapper.insert(new RepairOrderStepData(repairOrderParam.getId(),
repairOrder.getRepairStep(),
@ -1230,10 +1305,19 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
repairOrderParam.getFunctionalTestPassed(),
FrontThreadLocal.getUserId().longValue()));
}
return;
}else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.AGING_TEST.getStatus()) {
// 老化测试
// 更新不更新步骤
repairOrder.setAgingTestPassed(repairOrderParam.getAgingTestPassed()); // 老化测试是否通过0=是1=否)
if(repairOrderParam.getAgingTestPassed() == RepairOrderStatusEnum.YES.getStatus()){
repairOrder.setRepairNextStep(RepairOrderStopEnum.PACKAGE_AND_SHIP.getStatus()); // 下个步骤
}else{
repairOrder.setRepairNextStep(RepairOrderStopEnum.AGING_TEST.getStatus()); // 下个步骤
}
repairOrderMapper.updateById(repairOrder); // 更新维修单
if(repairOrderStepData1 != null){
//维修单步骤数据
repairOrderStepDataMapper.updateById(new RepairOrderStepData(
@ -1247,14 +1331,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
FrontThreadLocal.getUserId().longValue(),
new Date()));
}else{
repairOrder.setRepairStep(repairOrderParam.getRepairStep());// 当前步骤
repairOrder.setAgingTestPassed(repairOrderParam.getAgingTestPassed()); // 老化测试是否通过0=是1=否)
if(repairOrderParam.getAgingTestPassed() == RepairOrderStatusEnum.YES.getStatus()){
repairOrder.setRepairNextStep(RepairOrderStopEnum.PACKAGE_AND_SHIP.getStatus()); // 下个步骤
}else{
repairOrder.setRepairNextStep(RepairOrderStopEnum.AGING_TEST.getStatus()); // 下个步骤
}
repairOrderMapper.updateById(repairOrder); // 更新维修单
//维修单步骤数据
repairOrderStepDataMapper.insert(new RepairOrderStepData(repairOrderParam.getId(),
repairOrder.getRepairStep(),
@ -1449,7 +1525,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
//确认报废不用填配件数据
if(repairOrderParam.getScrapOrNot() == RepairOrderStatusEnum.NO.getStatus()){
for (SparePartParam item : repairOrderParam.getSparePartParams()) {
for (OrderSparePartVo item : repairOrderParam.getSparePartParams()) {
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
Assert.notNull(sparePart, "配件数据不存在");
@ -1460,7 +1536,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
orderSparePart.setRepairOrderId(repairOrder.getId()); //维修单id
orderSparePart.setSparePartsId(item.getId()); // 备件id
orderSparePart.setWarehouseId(sparePart.getWarehouseId()); // 所属仓库id
orderSparePart.setQuantity(item.getQuantity()); // 数量
orderSparePart.setQuantity(item.getQuantity()); // 库存数量
orderSparePart.setCount(item.getCount()); // 出入库数量
//设置订单实际价格 = 单价 * 配件维修价格因子
BigDecimal practicalPrice = sparePart.getUnitPrice().multiply(client.getPartMaintainDivisor());

View File

@ -292,6 +292,11 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
maintenanceOrder.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单
maintenanceOrderMapper.insert(maintenanceOrder);
//新增检修单操作记录
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
, OrderOperateRecordEnum.NEW_CREATE.getDesc()
,"检修员【"+FrontThreadLocal.get("username")+"】创建了检修工单");
//新增巡检单操作记录
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()

View File

@ -12,8 +12,11 @@ import com.hcy.common.entity.client.ClientContacts;
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.ClientStatusEnum;
import com.hcy.common.enums.OrderStatusEnum;
import com.hcy.common.enums.SparePartStockAuditEnum;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
import com.hcy.common.enums.order.OrderStateEnum;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.client.ClientContactsMapper;
import com.hcy.common.mapper.client.ClientMapper;
@ -79,18 +82,27 @@ public class SparePartServiceImpl implements ISparePartService {
//判断仓库类型
User user = userMapper.selectById(FrontThreadLocal.getUserId().longValue());
if(param.getWarehouseType() == MaintenanceOrderStatusEnum.MY_WAREHOUSE.getStatus()){
sparePartDto.setWarehouseIds(user.getWarehouseId().toString());
}else{
}else if(param.getWarehouseType() == MaintenanceOrderStatusEnum.PUBLIC_WAREHOUSE.getStatus() &&
param.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
List<Warehouse> warehouseList = warehouseMapper.findPublicWarehouseList(user.getWarehouseId());
String warehouseIds = warehouseList.stream().map(Warehouse::getId).map(String::valueOf).collect(Collectors.joining(","));
sparePartDto.setWarehouseIds(warehouseIds);
}else if(param.getWarehouseType() == MaintenanceOrderStatusEnum.PUBLIC_WAREHOUSE.getStatus() &&
param.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()){
//维修员只查公共仓库
List<Warehouse> warehouseList = warehouseMapper.findPublicWarehouseList();
String warehouseIds = warehouseList.stream().map(Warehouse::getId).map(String::valueOf).collect(Collectors.joining(","));
sparePartDto.setWarehouseIds(warehouseIds);
}
Client client = clientMapper.findClientById(param.getClientId());
Map<Long,String> warehouseMap = new HashMap<>();
List<SparePartListVo> sparePartList = new ArrayList<>();
IPage<SparePartDto> iPage = sparePartMapper.pageList(new Page<>(page, limit),sparePartDto);
for (SparePartDto item : iPage.getRecords()) {
SparePartListVo sparePartListVo = new SparePartListVo();
@ -105,10 +117,18 @@ public class SparePartServiceImpl implements ISparePartService {
}
sparePartListVo.setUnitPrice(practicalPrice);
//如果该工单是全包工单实际价格为0半包正常显示 clientType; // 桩点维修类型 0-全包 1-半包
if(client.getClientType() == ClientStatusEnum.PLIE_POINT_ALL_WRAPPED.getStatus() &&
param.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
sparePartListVo.setUnitPrice(BigDecimal.valueOf(0));
}
if(warehouseMap.get(item.getWarehouseId()) == null){
Warehouse warehouse = warehouseMapper.findWarehouseById(item.getWarehouseId());
if(warehouse != null){
sparePartListVo.setWarehouseName(warehouse.getWarehouseName());
warehouseMap.put(warehouse.getId(),warehouse.getWarehouseName());
}
}else{
sparePartListVo.setWarehouseName(warehouseMap.get(item.getWarehouseId()));
}

View File

@ -1,6 +1,7 @@
package com.hcy.front.validate.order;
import com.hcy.front.validate.warehouse.SparePartParam;
import com.hcy.front.vo.order.OrderSparePartVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -105,7 +106,7 @@ public class MaintenanceOrderParam implements Serializable {
private String orderStatusIds; //订单状态ids
//服务报价列表
private List<SparePartParam> sparePartParams;
private List<OrderSparePartVo> sparePartParams;
private Integer isClient; //是否客户 0-客户端 1-检修员端
private Integer isMaintain; //是否维修 0-维修 1-不维修
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库

View File

@ -1,7 +1,9 @@
package com.hcy.front.validate.order;
import com.hcy.common.dto.order.OrderSparePart;
import com.hcy.common.entity.order.OrderPartCode;
import com.hcy.front.validate.warehouse.SparePartParam;
import com.hcy.front.vo.order.OrderSparePartVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -96,7 +98,7 @@ public class RepairOrderParam implements Serializable {
private String cancelCause; // 改派原因
//配件领用列表
private List<SparePartParam> sparePartParams;
private List<OrderSparePartVo> sparePartParams; //配件领用列表
private Integer isClient; //是否客户 0-客户端 1-维修员端 2-维修主管端
private Integer isMaintain; //是否维修 0-维修 1-不维修

View File

@ -49,7 +49,7 @@ public class SparePartParam implements Serializable {
@Length(max = 11, message = "unit参数不能超出11个字符", groups = {create.class, update.class})
private String unit;
private Integer quantity;
private Integer quantity; // 库存数量
private BigDecimal unitPrice;
@ -59,4 +59,5 @@ public class SparePartParam implements Serializable {
private Long clientId; //客户id
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
private Integer orderType; //订单类型 0-检修单 1-维修单
private Integer count; // 出入库数量
}

View File

@ -21,7 +21,8 @@ public class OrderSparePartDetailVo implements Serializable {
private String specificationsModel; // 规格型号
private String unit; // 单位
private BigDecimal price; // 价格
private Long quantity; // 数量
private Long quantity; // 库存数量
private Integer count; // 出入库数量
private BigDecimal totalPrice; // 总价
}

View File

@ -24,7 +24,8 @@ public class OrderSparePartListVo implements Serializable {
private String specificationsModel; // 规格型号
private String unit; // 单位
private BigDecimal unitPrice; // 价格
private Integer quantity; // 数量
private Integer quantity; // 库存数量
private Integer count; // 出入库数量
private BigDecimal totalPrice; // 总价
}

View File

@ -0,0 +1,31 @@
package com.hcy.front.vo.order;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
*
*/
@Data
public class OrderSparePartVo implements Serializable {
private Long id;
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long warehouseId; // 所属仓库id
private String specificationsModel; // 规格型号
private String unit;// 单位
private Integer quantity; // 库存数量
private Integer count; // 出入库数量
private BigDecimal unitPrice; // 价格
private List<Integer> ids; //批量删除
private String keywords; //关键字
private Long clientId; //客户id
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
private Integer orderType; //订单类型 0-检修单 1-维修单
}

View File

@ -109,4 +109,7 @@ public class RepairOrderDetailVo implements Serializable {
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private List<OrderPartCode> orderPartCodeList; // 配件编码列表
private List<RepairOrderStepDataVo> repairOrderStepDataList; // 维修单步骤数据列表
private Integer timeoutOrNot; // 是否超时0=是1=否)
private Integer maintainType; // 模块维修类型 0-全包 1-半包
}

View File

@ -88,5 +88,6 @@ public class RepairOrderListVo implements Serializable {
private Integer repairStep; // 当前步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private Integer repairNextStep; // 下个步骤0=拆机1=清洗2=故障排查3=确认签名4=重领配件5=上传维修前图片6=上传维修中图片7=上传维修后图片8=补强三防漆9=补强点胶10=DC&PFC组装11=补强三防漆和点胶12=模块装配13=功能测试14=老化测试15=包装出货16=填写回单)
private List<OrderPartCode> orderPartCodeList; // 配件编码列表
private Integer timeoutOrNot; // 是否超时0=是1=否)
}

View File

@ -18,4 +18,7 @@ public class RepairOrderStepDataVo implements Serializable {
private Long creatorId; // 创建人id
private Date createTime; // 创建时间
private String creatorName; // 创建人名称
private Integer isApprentice; //是否学徒0=否 1=是
private String role; // 角色主键
}

View File

@ -34,5 +34,5 @@ public class UserCenterVo implements Serializable {
private Long warehouseId; // 仓库id
private String clientName; // 客户名称
private String plantName; // 管辖工厂名称
private Integer isApprentice; //是否学徒0=否 1=是
}