【admin&front】新增&修复# 1、优化小程序维修单故障检测 2、优化维修单列表、详情 、确认报废 3、新增维修单配件领用、确认收货
parent
119f12ceda
commit
30a2c159c6
|
@ -23,4 +23,21 @@ public interface IOrderOperateRecordService {
|
|||
* @param description 内容
|
||||
*/
|
||||
void addMaintenanceOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
|
||||
/**
|
||||
* 新增操作维修单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRepairOrder(Long orderId,String titleDsc,String description);
|
||||
|
||||
/**
|
||||
* 新增操作维修单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param dscType 内容类型
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRepairOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
}
|
||||
|
|
|
@ -39,4 +39,25 @@ public class OrderOperateRecordServiceImpl implements IOrderOperateRecordService
|
|||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRepairOrder(Long orderId,String titleDsc,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRepairOrder(Long orderId,String titleDsc,Integer dscType,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDscType(dscType);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,20 +13,27 @@ import com.hcy.admin.validate.order.RepairOrderParam;
|
|||
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
||||
import com.hcy.admin.vo.address.UserAddressListVo;
|
||||
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.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.hcy.common.constant.GlobalConstant;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.dto.order.OrderSparePart;
|
||||
import com.hcy.common.dto.order.RepairOrderDto;
|
||||
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.RepairOrder;
|
||||
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||
import com.hcy.common.entity.plant.Plant;
|
||||
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.order.MaintenanceOrderStatusEnum;
|
||||
import com.hcy.common.enums.order.OrderStateEnum;
|
||||
import com.hcy.common.enums.order.RepairOrderStatusEnum;
|
||||
|
@ -34,10 +41,14 @@ import com.hcy.common.exception.OperateException;
|
|||
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.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||
import com.hcy.common.mapper.plant.PlantMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
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;
|
||||
|
@ -75,12 +86,24 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
@Resource
|
||||
UserAddressMapper userAddressMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
@Resource
|
||||
FaultMapper faultMapper;
|
||||
|
||||
@Resource
|
||||
EquipmentMapper equipmentMapper;
|
||||
|
||||
@Resource
|
||||
private IDevRegionService regionService;
|
||||
|
||||
@Resource
|
||||
OrderSparePartMapper orderSparePartMapper;
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
/**
|
||||
* 维修订单列表
|
||||
*
|
||||
|
@ -129,6 +152,22 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
if(equipment != null){
|
||||
vo.setEquipmentName(equipment.getName());
|
||||
}
|
||||
//故障类型名称
|
||||
Fault faultName = faultMapper.selectOne(
|
||||
new LambdaQueryWrapper<Fault>()
|
||||
.eq(Fault::getId, vo.getFaultId()));
|
||||
if(faultName != null){
|
||||
vo.setFaultName(faultName.getName());
|
||||
}
|
||||
|
||||
//设置备件领用信息
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(item.getId()
|
||||
, SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
if(sparePartStockAudit != null){
|
||||
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
|
||||
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
|
||||
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
|
||||
}
|
||||
|
||||
vo.setCreateTime(item.getCreateTime());
|
||||
vo.setUpdateTime(item.getUpdateTime());
|
||||
|
@ -158,12 +197,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
RepairOrderDetailVo vo = new RepairOrderDetailVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
vo.setUpdateTime(model.getUpdateTime());
|
||||
//客户名称
|
||||
//客户名称 负责人 联系电话
|
||||
Client clientName = clientMapper.selectOne(
|
||||
new QueryWrapper<Client>()
|
||||
.eq("id", model.getClientId()));
|
||||
if(clientName != null){
|
||||
vo.setClientName(clientName.getClientName());
|
||||
vo.setDirector(clientName.getDirector());
|
||||
vo.setPhone(clientName.getPhone());
|
||||
vo.setMaintainType(clientName.getMaintainType());
|
||||
}
|
||||
//创建人名称
|
||||
User creatorName = userMapper.selectOne(
|
||||
|
@ -172,12 +214,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
if(creatorName != null){
|
||||
vo.setCreatorName(creatorName.getUsername());
|
||||
}
|
||||
//接单人名称
|
||||
//接单人名称 接单人联系电话
|
||||
User user = userMapper.selectOne(
|
||||
new QueryWrapper<User>()
|
||||
.eq("id", model.getReceiverId()));
|
||||
if(user != null){
|
||||
vo.setReceiverName(user.getUsername());
|
||||
vo.setReceiverPhone(user.getMobile());
|
||||
}
|
||||
//管辖工厂
|
||||
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||
|
@ -196,39 +239,90 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
UserAddress userAddress = userAddressMapper.selectOne(
|
||||
new QueryWrapper<UserAddress>()
|
||||
.eq("id", model.getAddressId()));
|
||||
UserAddressListVo userAddressListVo = new UserAddressListVo();
|
||||
BeanUtils.copyProperties(userAddress, userAddressListVo);
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
userAddressListVo.setProvince(regionMap.get(userAddressListVo.getProvinceId()));
|
||||
userAddressListVo.setCity(regionMap.get(userAddressListVo.getCityId()));
|
||||
userAddressListVo.setDistrict(regionMap.get(userAddressListVo.getDistrictId()));
|
||||
if(userAddress != null){
|
||||
UserAddressListVo userAddressListVo = new UserAddressListVo();
|
||||
BeanUtils.copyProperties(userAddress, userAddressListVo);
|
||||
userAddressListVo.setProvince(regionMap.get(userAddressListVo.getProvinceId()));
|
||||
userAddressListVo.setCity(regionMap.get(userAddressListVo.getCityId()));
|
||||
userAddressListVo.setDistrict(regionMap.get(userAddressListVo.getDistrictId()));
|
||||
vo.setAddress(userAddressListVo);
|
||||
}
|
||||
//报废地址
|
||||
UserAddress scrapAddress = userAddressMapper.selectOne(
|
||||
new QueryWrapper<UserAddress>()
|
||||
.eq("id", model.getScrapAddressId()));
|
||||
UserAddressListVo scrapAddressListVo = new UserAddressListVo();
|
||||
BeanUtils.copyProperties(scrapAddress, scrapAddressListVo);
|
||||
scrapAddressListVo.setProvince(regionMap.get(scrapAddressListVo.getProvinceId()));
|
||||
scrapAddressListVo.setCity(regionMap.get(scrapAddressListVo.getCityId()));
|
||||
scrapAddressListVo.setDistrict(regionMap.get(scrapAddressListVo.getDistrictId()));
|
||||
if(scrapAddress != null){
|
||||
UserAddressListVo scrapAddressListVo = new UserAddressListVo();
|
||||
BeanUtils.copyProperties(scrapAddress, scrapAddressListVo);
|
||||
scrapAddressListVo.setProvince(regionMap.get(scrapAddressListVo.getProvinceId()));
|
||||
scrapAddressListVo.setCity(regionMap.get(scrapAddressListVo.getCityId()));
|
||||
scrapAddressListVo.setDistrict(regionMap.get(scrapAddressListVo.getDistrictId()));
|
||||
vo.setScrapAddress(scrapAddressListVo);
|
||||
}
|
||||
//设备信息
|
||||
Equipment equipment = equipmentMapper.selectOne(
|
||||
new QueryWrapper<Equipment>()
|
||||
.eq("id", model.getEquipmentId()));
|
||||
EquipmentListVo equipmentListVo = new EquipmentListVo();
|
||||
equipmentListVo.setProvince(regionMap.get(equipment.getProvinceId()));
|
||||
equipmentListVo.setCity(regionMap.get(equipment.getCityId()));
|
||||
equipmentListVo.setDistrict(regionMap.get(equipment.getDistrictId()));
|
||||
BeanUtils.copyProperties(equipment, equipmentListVo);
|
||||
if(equipment != null){
|
||||
EquipmentListVo equipmentListVo = new EquipmentListVo();
|
||||
equipmentListVo.setProvince(regionMap.get(equipment.getProvinceId()));
|
||||
equipmentListVo.setCity(regionMap.get(equipment.getCityId()));
|
||||
equipmentListVo.setDistrict(regionMap.get(equipment.getDistrictId()));
|
||||
BeanUtils.copyProperties(equipment, equipmentListVo);
|
||||
vo.setEquipment(equipmentListVo);
|
||||
}
|
||||
|
||||
//故障类型名称
|
||||
Fault faultName = faultMapper.selectOne(
|
||||
new LambdaQueryWrapper<Fault>()
|
||||
.eq(Fault::getId, vo.getFaultId()));
|
||||
if(faultName != null){
|
||||
vo.setFaultName(faultName.getName());
|
||||
}
|
||||
//设置配件清单
|
||||
List<OrderSparePart> orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper<OrderSparePart>()
|
||||
.eq(OrderSparePart::getRepairOrderId, model.getId()));
|
||||
List<OrderSparePartListVo> orderSparePartListVos = new ArrayList<>();
|
||||
for (OrderSparePart item : orderSpareParts) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(item, orderSparePartListVo);
|
||||
//仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper<Warehouse>()
|
||||
.eq(Warehouse::getId, item.getWarehouseId()));
|
||||
orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName());
|
||||
orderSparePartListVos.add(orderSparePartListVo);
|
||||
}
|
||||
vo.setSparePartList(orderSparePartListVos);
|
||||
//确认报废 收件地址
|
||||
UserAddress clientScrapAddress = userAddressMapper.selectOne(
|
||||
new QueryWrapper<UserAddress>()
|
||||
.eq("id", model.getClientScrapAddressId()));
|
||||
if(clientScrapAddress != null){
|
||||
UserAddressListVo clientScrapAddressVo = new UserAddressListVo();
|
||||
BeanUtils.copyProperties(clientScrapAddress, clientScrapAddressVo);
|
||||
clientScrapAddressVo.setProvince(regionMap.get(clientScrapAddressVo.getProvinceId()));
|
||||
clientScrapAddressVo.setCity(regionMap.get(clientScrapAddressVo.getCityId()));
|
||||
clientScrapAddressVo.setDistrict(regionMap.get(clientScrapAddressVo.getDistrictId()));
|
||||
vo.setClientScrapAddress(clientScrapAddressVo);
|
||||
}
|
||||
|
||||
//设置备件领用信息
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(model.getId()
|
||||
, SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
if(sparePartStockAudit != null){
|
||||
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
|
||||
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
|
||||
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
|
||||
}
|
||||
|
||||
//常见维修结论名称
|
||||
Fault familiarFaultName = faultMapper.selectOne(
|
||||
new LambdaQueryWrapper<Fault>()
|
||||
.eq(Fault::getId, vo.getFamiliarFaultId()));
|
||||
if(familiarFaultName != null){
|
||||
vo.setFamiliarFaultName(familiarFaultName.getName());
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
@ -434,7 +528,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void updateServiceOfferPrice(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder model = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder model = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
Assert.notNull(repairOrderParam.getActualAmount(),"服务报价不能为空");
|
||||
|
||||
|
@ -455,7 +549,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void returnRepair(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder model = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder model = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
Assert.notNull(repairOrderParam.getReturnCause(),"退回原因不可为空");
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hcy.admin.service.plant.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
@ -27,6 +28,7 @@ import com.hcy.common.utils.UrlUtil;
|
|||
import com.hcy.common.config.GlobalConfig;
|
||||
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;
|
||||
|
@ -75,23 +77,22 @@ public class PlantServiceImpl implements IPlantService {
|
|||
PlantListVo vo = new PlantListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||
if(item.getAuthAdminId() != null){
|
||||
//字符串拆分获取用户id
|
||||
String[] userid = item.getAuthAdminId().split(",");
|
||||
List<SystemAuthAdmin> authAdminList = new ArrayList<>();
|
||||
for (String uid : userid) {
|
||||
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||
new QueryWrapper<SystemAuthAdmin>()
|
||||
.eq("id", uid)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
if(authAdmin != null){
|
||||
authAdmin.setAvatar(UrlUtil.toAbsoluteUrl(authAdmin.getAvatar()));
|
||||
authAdminList.add(authAdmin);
|
||||
}
|
||||
//获取当前工厂的管理员
|
||||
List<SystemAuthAdmin> systemAuthAdmins = systemAuthAdminMapper.selectList(new LambdaQueryWrapper<SystemAuthAdmin>()
|
||||
.eq(SystemAuthAdmin::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(SystemAuthAdmin::getPlantId, item.getId()));
|
||||
if(systemAuthAdmins != null){
|
||||
//转换头像路径
|
||||
for (SystemAuthAdmin systemAuthAdmin : systemAuthAdmins) {
|
||||
systemAuthAdmin.setAvatar(UrlUtil.toAbsoluteUrl(systemAuthAdmin.getAvatar()));
|
||||
}
|
||||
vo.setAuthAdminList(authAdminList);
|
||||
vo.setAuthAdminList(systemAuthAdmins);
|
||||
}
|
||||
//获取当前工厂管理员数量
|
||||
Integer numberUsers = systemAuthAdminMapper.selectCount(new LambdaQueryWrapper<SystemAuthAdmin>()
|
||||
.eq(SystemAuthAdmin::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(SystemAuthAdmin::getPlantId, item.getId()));
|
||||
vo.setNumberUsers(numberUsers);// 管理员人数
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
|
@ -124,21 +125,25 @@ public class PlantServiceImpl implements IPlantService {
|
|||
vo.setProvince(regionMap.get(model.getProvinceId()));
|
||||
vo.setCity(regionMap.get(model.getCityId()));
|
||||
vo.setDistrict(regionMap.get(model.getDistrictId()));
|
||||
if(model.getAuthAdminId() != null){
|
||||
//字符串拆分获取用户id
|
||||
String[] userid = model.getAuthAdminId().split(",");
|
||||
List<SystemAuthAdmin> authAdminList = new ArrayList<>();
|
||||
for (String uid : userid) {
|
||||
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||
new QueryWrapper<SystemAuthAdmin>()
|
||||
.eq("id", uid)
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
authAdmin.setAvatar(UrlUtil.toAbsoluteUrl(authAdmin.getAvatar()));
|
||||
authAdminList.add(authAdmin);
|
||||
|
||||
//获取当前工厂的管理员
|
||||
List<SystemAuthAdmin> systemAuthAdmins = systemAuthAdminMapper.selectList(
|
||||
new LambdaQueryWrapper<SystemAuthAdmin>()
|
||||
.eq(SystemAuthAdmin::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(SystemAuthAdmin::getPlantId, model.getId()));
|
||||
if(systemAuthAdmins != null){
|
||||
//转换头像路径
|
||||
for (SystemAuthAdmin systemAuthAdmin : systemAuthAdmins) {
|
||||
systemAuthAdmin.setAvatar(UrlUtil.toAbsoluteUrl(systemAuthAdmin.getAvatar()));
|
||||
}
|
||||
vo.setAuthAdminList(authAdminList);
|
||||
vo.setAuthAdminList(systemAuthAdmins);
|
||||
}
|
||||
//获取当前工厂管理员数量
|
||||
Integer numberUsers = systemAuthAdminMapper.selectCount(
|
||||
new LambdaQueryWrapper<SystemAuthAdmin>()
|
||||
.eq(SystemAuthAdmin::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(SystemAuthAdmin::getPlantId, model.getId()));
|
||||
vo.setNumberUsers(numberUsers);// 管理员人数
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
@ -227,6 +232,7 @@ public class PlantServiceImpl implements IPlantService {
|
|||
* @param plantParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void boundUser(PlantParam plantParam) {
|
||||
Plant model = plantMapper.selectOne(
|
||||
new QueryWrapper<Plant>()
|
||||
|
@ -238,19 +244,10 @@ public class PlantServiceImpl implements IPlantService {
|
|||
|
||||
List<SystemAuthAdmin> authAdminList = plantParam.getAuthAdminList();
|
||||
if(authAdminList != null){
|
||||
int userNumber = 0;
|
||||
// 使用StringBuilder来拼接id值
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (SystemAuthAdmin authAdmin : authAdminList) {
|
||||
sb.append(authAdmin.getId()).append(",");
|
||||
userNumber = userNumber + 1;
|
||||
authAdmin.setPlantId(Math.toIntExact(model.getId()));
|
||||
systemAuthAdminMapper.updateById(authAdmin);
|
||||
}
|
||||
model.setNumberUsers((long) userNumber);
|
||||
sb.deleteCharAt(sb.length() - 1); // 删除最后一个逗号
|
||||
model.setAuthAdminId(String.valueOf(sb));// 备件审核id
|
||||
}else{
|
||||
model.setNumberUsers(null);
|
||||
model.setAuthAdminId(null);// 备件审核id
|
||||
}
|
||||
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
|
@ -263,6 +260,7 @@ public class PlantServiceImpl implements IPlantService {
|
|||
* @param plantParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void plantUnbound(PlantParam plantParam) {
|
||||
Plant model = plantMapper.selectOne(
|
||||
new QueryWrapper<Plant>()
|
||||
|
@ -274,18 +272,10 @@ public class PlantServiceImpl implements IPlantService {
|
|||
|
||||
List<SystemAuthAdmin> authAdminList = plantParam.getAuthAdminList();
|
||||
if(authAdminList != null){
|
||||
int userNumber = 0;
|
||||
// 使用StringBuilder来拼接id值
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (SystemAuthAdmin authAdmin : authAdminList) {
|
||||
sb.append(authAdmin.getId()).append(",");
|
||||
userNumber = userNumber + 1;
|
||||
authAdmin.setPlantId(null);
|
||||
systemAuthAdminMapper.updateById(authAdmin);
|
||||
}
|
||||
model.setNumberUsers((long) userNumber);
|
||||
sb.deleteCharAt(sb.length() - 1); // 删除最后一个逗号
|
||||
model.setAuthAdminId(String.valueOf(sb));// 备件审核id
|
||||
|
||||
|
||||
}
|
||||
|
||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
|
|
|
@ -18,6 +18,7 @@ import com.hcy.common.core.PageResult;
|
|||
import com.hcy.common.dto.order.OrderSparePart;
|
||||
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||
import com.hcy.common.entity.order.RepairOrder;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
|
@ -32,6 +33,7 @@ import com.hcy.common.exception.OperateException;
|
|||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||
import com.hcy.common.mapper.order.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
|
@ -69,6 +71,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
@Resource
|
||||
MaintenanceOrderMapper maintenanceOrderMapper;
|
||||
|
||||
@Resource
|
||||
RepairOrderMapper repairOrderMapper;
|
||||
|
||||
@Resource
|
||||
UserMapper userMapper;
|
||||
|
||||
|
@ -180,6 +185,29 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
vo.setRecipient(user.getUsername());
|
||||
vo.setRecipientPhone(user.getMobile());
|
||||
}
|
||||
} else if (item.getOrderType() != null && item.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
|
||||
RepairOrder repairOrder = maintenanceOrderMapper.findRepairOrderById(item.getOrderId());
|
||||
|
||||
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
|
||||
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByRepairOrderId(item.getOrderId());
|
||||
for (OrderSparePart orderSparePart : orderSparePartList) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
|
||||
orderSparePartListVoList.add(orderSparePartListVo);
|
||||
|
||||
number += orderSparePart.getQuantity();
|
||||
}
|
||||
|
||||
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
||||
vo.setWorkOrderNo(repairOrder.getOrderNo());
|
||||
vo.setOrderId(repairOrder.getId());
|
||||
vo.setRecipientNumber(number);
|
||||
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
if(user != null){
|
||||
vo.setRecipient(user.getUsername());
|
||||
vo.setRecipientPhone(user.getMobile());
|
||||
}
|
||||
} else {
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||
|
@ -267,12 +295,35 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
for (OrderSparePart orderSparePart : orderSparePartList) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
|
||||
//配件清单仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper<Warehouse>()
|
||||
.eq(Warehouse::getId, orderSparePartListVo.getWarehouseId()));
|
||||
orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName());
|
||||
orderSparePartListVoList.add(orderSparePartListVo);
|
||||
}
|
||||
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
||||
vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
|
||||
vo.setRecipient(user.getUsername());
|
||||
vo.setRecipientPhone(user.getMobile());
|
||||
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
|
||||
RepairOrder repairOrder = maintenanceOrderMapper.findRepairOrderById(model.getOrderId());
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
|
||||
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
|
||||
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByRepairOrderId(model.getOrderId());
|
||||
for (OrderSparePart orderSparePart : orderSparePartList) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
|
||||
//配件清单仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper<Warehouse>()
|
||||
.eq(Warehouse::getId, orderSparePartListVo.getWarehouseId()));
|
||||
orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName());
|
||||
orderSparePartListVoList.add(orderSparePartListVo);
|
||||
}
|
||||
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
||||
vo.setWorkOrderNo(repairOrder.getOrderNo());
|
||||
vo.setRecipient(user.getUsername());
|
||||
vo.setRecipientPhone(user.getMobile());
|
||||
} else {
|
||||
//获取待审核备件信息
|
||||
List<SparePartAudit> sparePartAuditList = sparePartAuditMapper.findSparePartAuditByStockAuditId(model.getId());
|
||||
|
@ -503,6 +554,12 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_TWO.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"管理员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过。");
|
||||
} else if (model.getOrderId() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getOrderId()
|
||||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_TWO.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"管理员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过。");
|
||||
}
|
||||
} else if (model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()
|
||||
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()) {
|
||||
|
@ -570,6 +627,26 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
}
|
||||
model.setAuditResult(null); // 审核结果(0=已通过,1=未通过)
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus() &&
|
||||
sparePartStockAuditParam.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()) {
|
||||
//管理员维修单审核不通过
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(model.getOrderId());
|
||||
if(repairOrder != null){
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
|
||||
repairOrder.setReturnCause(sparePartStockAuditParam.getAuditIdea());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
if(user != null){
|
||||
//新增检修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getOrderId()
|
||||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_TWO.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getAuditIdea()+"。系统会自动退回到检修员【"+user.getUsername()+"】重新报价。");
|
||||
}
|
||||
}
|
||||
model.setAuditResult(null); // 审核结果(0=已通过,1=未通过)
|
||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
}
|
||||
|
||||
sparePartStockAuditMapper.updateById(model);
|
||||
|
@ -633,6 +710,24 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
,"仓管员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getPurchaseIdea()+"。系统会自动退回到检修员【"+user.getUsername()+"】重新报价。");
|
||||
}
|
||||
}
|
||||
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus() &&
|
||||
sparePartStockAuditParam.getPurchaseStatus() == AuditStateEnum.NOT_PASS_STATE.getStatus()) {
|
||||
//仓管员维修单审核不通过
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(model.getOrderId());
|
||||
if(repairOrder != null){
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
|
||||
repairOrder.setReturnCause(sparePartStockAuditParam.getPurchaseIdea());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
if(user != null){
|
||||
//新增检修单操作记录
|
||||
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"仓管员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getPurchaseIdea()+"。系统会自动退回到检修员【"+user.getUsername()+"】重新报价。");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||
|
@ -667,6 +762,12 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核。");
|
||||
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getOrderId()
|
||||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -808,6 +909,13 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
, OrderOperateRecordEnum.DELIVER_GOODS.getDesc()
|
||||
,OrderOperateRecordEnum.DELIVER_GOODS_TYPE.getStatus()
|
||||
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成发货。配送方式:"+ LogisticsModeEnum.getMsgByStatus(model.getDeliveryMethod())+"。");
|
||||
|
||||
} else if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.REPAIR_ORDER.getStatus()) {
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||
, OrderOperateRecordEnum.DELIVER_GOODS.getDesc()
|
||||
,OrderOperateRecordEnum.DELIVER_GOODS_TYPE.getStatus()
|
||||
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成发货。配送方式:"+ LogisticsModeEnum.getMsgByStatus(model.getDeliveryMethod())+"。");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -166,41 +166,9 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
|
|||
vo.setReceiveOrderStatus(user.getReceiveOrderStatus());
|
||||
}
|
||||
|
||||
//只查询没有被该工厂绑定的用户
|
||||
if(param.getPlantId() != null){
|
||||
Plant model = plantMapper.selectOne(
|
||||
new QueryWrapper<Plant>()
|
||||
.eq("id", param.getPlantId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
if(model.getAuthAdminId() != null){
|
||||
//字符串拆分获取用户id
|
||||
String[] userid = model.getAuthAdminId().split(",");
|
||||
// 查询没有被任何工厂绑定的用户
|
||||
QueryWrapper<SystemAuthAdmin> userQueryWrapper = new QueryWrapper<>();
|
||||
userQueryWrapper.notIn("id", userid);
|
||||
List<SystemAuthAdmin> systemAuthAdmins = systemAuthAdminMapper.selectList(userQueryWrapper);
|
||||
for (SystemAuthAdmin systemAuthAdmin : systemAuthAdmins) {
|
||||
if(item.getId() == systemAuthAdmin.getId()){
|
||||
list.add(vo);
|
||||
total = total + 1;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
list.add(vo);
|
||||
total = total + 1;
|
||||
}
|
||||
|
||||
}else {
|
||||
list.add(vo);
|
||||
total = total + 1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(total, iPage.getCurrent(), iPage.getSize(), list);
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,7 +18,7 @@ public class OrderSparePartListVo implements Serializable {
|
|||
private Long sparePartsId; // 备件id
|
||||
private String sparePartsCode; // 备件编码
|
||||
private String sparePartsName; // 备件名称
|
||||
private Long warehouseId; // 所属仓库名称
|
||||
private Long warehouseId; // 所属仓库id
|
||||
private String specificationsModel; // 规格型号
|
||||
private String unit; // 单位
|
||||
private BigDecimal unitPrice; // 价格
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package com.hcy.admin.vo.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.hcy.admin.vo.address.UserAddressListVo;
|
||||
import com.hcy.admin.vo.client.EquipmentListVo;
|
||||
import com.hcy.admin.vo.client.EquipmentModelDetailVo;
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.hcy.common.entity.address.UserAddress;
|
||||
import com.hcy.common.entity.client.Equipment;
|
||||
import lombok.Data;
|
||||
|
@ -9,6 +13,7 @@ import lombok.Data;
|
|||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* RepairOrderVo
|
||||
|
@ -28,6 +33,7 @@ public class RepairOrderDetailVo implements Serializable {
|
|||
private String clientContacts; // 客户联系人
|
||||
private String clientPhone; // 客户联系电话
|
||||
private Long faultId; // 故障id
|
||||
private String faultCode; // 故障代码
|
||||
private String faultDescription; // 故障描述
|
||||
private String moduleNumber; // 模块号
|
||||
private String brand; // 品牌
|
||||
|
@ -43,22 +49,68 @@ public class RepairOrderDetailVo implements Serializable {
|
|||
private Integer priorityId; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||
private Long addressId; // 回寄地址
|
||||
private String siteImg; // 现场照片
|
||||
private Long plantId; // 管辖工厂
|
||||
private Long plantId; // 管辖工厂
|
||||
private String plantName; //管辖工厂名
|
||||
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||
private BigDecimal orderDistance; // 订单距离
|
||||
private Integer repairWorkOrderFlow; // 工单去向 0=工单池 1=检修员
|
||||
private UserAddressListVo address; //地址信息
|
||||
private EquipmentListVo equipment; //设备信息
|
||||
private Integer scrapAddressId; // 报废地址
|
||||
private Long scrapAddressId; // 报废地址
|
||||
private UserAddressListVo scrapAddress; //报废地址信息
|
||||
private String returnCause; //退回原因
|
||||
private Integer deliveryMethod; // 收件方式(0=物流快递 1-上门取件 2-送货上门)
|
||||
private Long consigneeAddressId; // 收件地址
|
||||
private UserAddressListVo consigneeAddress; //收件地址
|
||||
|
||||
private String clientScrapRemark; // 客户报废备注
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
private String completeImg; // 完工照片
|
||||
|
||||
private String faultName; //故障名称
|
||||
private Integer scrapOrNot; // 是否报废(0=是,1=否)
|
||||
private String preMaintenanceImg; // 维修前照片
|
||||
private String faultPointImg; // 故障点照片
|
||||
private String inMaintenanceImg; // 维修中照片
|
||||
private String afterRepairImg; // 维修后照片
|
||||
private Date orderAccomplishTime; // 订单完成时间
|
||||
private Date quotationTime; // 报价时间
|
||||
private Date cancelOrderTime; // 取消订单时间
|
||||
private String cancelCause; // 取消原因
|
||||
private String refuseMaintenanceCause; // 拒绝维修原因
|
||||
|
||||
private BigDecimal totalAmount; // 总金额
|
||||
private BigDecimal actualAmount; // 实际金额
|
||||
|
||||
private List<OrderSparePartListVo> sparePartList; // 备件清单
|
||||
private EquipmentModelDetailVo equipmentModel; //设备模块信息
|
||||
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
|
||||
|
||||
private String director; // 负责人
|
||||
private String phone; // 联系电话
|
||||
private String receiverPhone; // 接单人联系电话
|
||||
|
||||
private Long scrapFaultId; // 报废类型id
|
||||
private String scrapExplain; // 报废说明
|
||||
|
||||
private Long clientScrapAddressId; // 客户报废收货地址id
|
||||
private UserAddressListVo clientScrapAddress; //客户报废收货地址
|
||||
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
private Integer warehouseType; // 仓库类型 0-我的仓库 1-公共仓库
|
||||
|
||||
private Long repairId; // 返修id
|
||||
private Long familiarFaultId; // 常见维修结论id
|
||||
private String familiarFaultName; // 常见维修结论名称
|
||||
private String familiarFaultDescription; // 常见维修结论描述
|
||||
private Integer isMaintain; // 是否维修 0-维修 1-不维修
|
||||
private Long userId; // 送修人
|
||||
|
||||
private Integer maintainType; // 客户维修类型 模块维修类型 0-全包 1-半包
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hcy.admin.vo.order;
|
||||
|
||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -50,4 +51,28 @@ public class RepairOrderListVo implements Serializable {
|
|||
private Integer scrapAddressId; // 报废地址
|
||||
private String returnCause; //退回原因
|
||||
|
||||
private String faultName; //故障名称
|
||||
private String equipmentNo; //设备编号
|
||||
private String detailedAddress; //设备详情地址
|
||||
private Integer deliveryMethod; // 收件方式(0=物流快递 1-上门取件 2-送货上门)
|
||||
private Long consigneeAddressId; // 收件地址
|
||||
private String clientScrapRemark; // 客户报废备注
|
||||
private String completeImg; // 完工照片
|
||||
private Integer scrapOrNot; // 是否报废(0=是,1=否)
|
||||
private String preMaintenanceImg; // 维修前照片
|
||||
private String faultPointImg; // 故障点照片
|
||||
private String inMaintenanceImg; // 维修中照片
|
||||
private String afterRepairImg; // 维修后照片
|
||||
private Date orderAccomplishTime; // 订单完成时间
|
||||
|
||||
private Date quotationTime; // 报价时间
|
||||
private Date cancelOrderTime; // 取消订单时间
|
||||
private String cancelCause; // 取消原因
|
||||
private String refuseMaintenanceCause; // 拒绝维修原因
|
||||
|
||||
private Long clientScrapAddressId; // 客户报废收货地址id
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
|
||||
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.hcy.admin.vo.plant;
|
|||
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
import com.hcy.common.entity.user.User;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -16,9 +17,8 @@ public class PlantDetailVo implements Serializable {
|
|||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String authAdminId; // 用户id
|
||||
private String name; // 工厂名称
|
||||
private Long numberUsers; // 管理员人数
|
||||
private Integer numberUsers; // 管理员人数
|
||||
private Long sort; // 排序
|
||||
private String remark; // 备注
|
||||
private String longitude; // 经度
|
||||
|
|
|
@ -16,9 +16,8 @@ public class PlantListVo implements Serializable {
|
|||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id; // 主键id
|
||||
private String authAdminId; // 用户id
|
||||
private String name; // 工厂名称
|
||||
private Long numberUsers; // 管理员人数
|
||||
private Integer numberUsers; // 管理员人数
|
||||
private Long sort; // 排序
|
||||
private String remark; // 备注
|
||||
private String createTime; // 创建时间
|
||||
|
|
|
@ -67,5 +67,20 @@ public class RepairOrderDto implements Serializable {
|
|||
private String returnCause; //退回原因
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
private String completeImg; // 完工照片
|
||||
private Integer scrapOrNot; // 是否报废(0=是,1=否)
|
||||
private String inMaintenanceImg; // 维修中照片
|
||||
private String afterRepairImg; // 维修后照片
|
||||
private String preMaintenanceImg; // 维修前照片
|
||||
private String faultPointImg; // 故障点照片
|
||||
private Date orderAccomplishTime; // 订单完成时间
|
||||
private Date quotationTime; // 报价时间
|
||||
private Date cancelOrderTime; // 取消订单时间
|
||||
private String cancelCause; // 取消原因
|
||||
private String refuseMaintenanceCause; // 拒绝维修原因
|
||||
private BigDecimal totalAmount; // 总金额
|
||||
private BigDecimal actualAmount; // 实际金额
|
||||
|
||||
private Long clientScrapAddressId; // 客户报废收货地址
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
|
||||
}
|
||||
|
|
|
@ -81,4 +81,6 @@ public class RepairOrder implements Serializable {
|
|||
private String clientScrapRemark; // 客户报废备注
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
private String completeImg; // 完工照片
|
||||
private Long clientScrapAddressId; // 客户报废收货地址
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
}
|
|
@ -19,11 +19,7 @@ public class Plant implements Serializable {
|
|||
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
private Long id; // 主键id
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private String authAdminId; // 管理员id
|
||||
private String name; // 工厂名称
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private Long numberUsers; // 管理员人数
|
||||
private Long sort; // 排序
|
||||
private String remark; // 备注
|
||||
private String longitude; // 经度
|
||||
|
|
|
@ -28,6 +28,7 @@ public class SystemAuthAdmin implements Serializable {
|
|||
private String role; // 角色主键
|
||||
private Integer sort; // 排序编号
|
||||
private String phone; // 联系电话
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private Integer plantId; // 管辖工厂
|
||||
private Long provinceId; //省id
|
||||
private Long cityId; //市id
|
||||
|
|
|
@ -6,8 +6,11 @@ public enum ClientStatusEnum {
|
|||
* 桩点维修类型 0-全包 1-半包
|
||||
*/
|
||||
PLIE_POINT_ALL_WRAPPED(0, "桩点全包"),
|
||||
PLIE_POINT_HALF_BALE(1,"桩点半包");
|
||||
PLIE_POINT_HALF_BALE(1,"桩点半包"),
|
||||
|
||||
// 模块维修类型 0-全包 1-半包
|
||||
MODULE_MAINTENANCE_ALL_WRAPPED(0, "模块维修全包"),
|
||||
MODULE_MAINTENANCE_HALF_BALE(1, "模块维修半包");
|
||||
/**
|
||||
* 构造方法
|
||||
*/
|
||||
|
|
|
@ -31,7 +31,11 @@ public enum RepairOrderStatusEnum {
|
|||
NOT_MAINTAIN(1,"不维修"),
|
||||
|
||||
MY_WAREHOUSE(0,"我的仓库"),
|
||||
PUBLIC_WAREHOUSE(1,"全部仓库"),;
|
||||
PUBLIC_WAREHOUSE(1,"全部仓库"),
|
||||
|
||||
// 是否报废(0=是,1=否)
|
||||
YES(0,"是"),
|
||||
NO(1, "否");
|
||||
|
||||
private final int status;
|
||||
private final String desc;
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||
import com.hcy.common.core.basics.IBaseMapper;
|
||||
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||
import com.hcy.common.entity.order.RepairOrder;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
@ -30,6 +31,16 @@ 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
|
||||
|
|
|
@ -41,7 +41,7 @@ public interface RepairOrderMapper extends IBaseMapper<RepairOrder> {
|
|||
* @return MaintenanceOrder
|
||||
*/
|
||||
@Select("select * from la_repair_order where is_delete = 0 and id = #{id}")
|
||||
RepairOrder findMaintenanceOrderById(@Param("id") Long id);
|
||||
RepairOrder findRepairOrderById(@Param("id") Long id);
|
||||
|
||||
/**
|
||||
* 获取待接单工单状态数量
|
||||
|
|
|
@ -3,11 +3,17 @@ package com.hcy.common.mapper.plant;
|
|||
|
||||
import com.hcy.common.core.basics.IBaseMapper;
|
||||
import com.hcy.common.entity.plant.Plant;
|
||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 工厂管理Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface PlantMapper extends IBaseMapper<Plant> {
|
||||
|
||||
@Select("select * from la_plant where is_delete = 0 and id = #{adminId}")
|
||||
Plant findPlantByAdminId(@Param("adminId") Integer adminId);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,9 @@
|
|||
<if test="param.nickname != null and param.nickname != ''">
|
||||
and t.nickname like concat('%',#{param.nickname},'%')
|
||||
</if>
|
||||
<if test="param.plantId != null">
|
||||
and t.plant_id IS NULL
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
t.id DESC,
|
||||
|
|
|
@ -186,4 +186,26 @@ public class RepairOrderController {
|
|||
iRepairOrderService.fillInReceipt(repairOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用申请
|
||||
* @param repairOrderParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@PostMapping("/sparePartsRequisition")
|
||||
public Object sparePartsRequisition(@RequestBody RepairOrderParam repairOrderParam) {
|
||||
iRepairOrderService.sparePartsRequisition(repairOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认收货
|
||||
* @param repairOrderParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@PostMapping("/confirmReceipt")
|
||||
public Object confirmReceipt(@RequestBody RepairOrderParam repairOrderParam) {
|
||||
iRepairOrderService.confirmReceipt(repairOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -109,4 +109,16 @@ public interface IRepairOrderService {
|
|||
* @param repairOrderParam
|
||||
*/
|
||||
void fillInReceipt(RepairOrderParam repairOrderParam);
|
||||
|
||||
/**
|
||||
* 备件领用申请
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
void sparePartsRequisition(RepairOrderParam repairOrderParam);
|
||||
|
||||
/**
|
||||
* 确认收货
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
void confirmReceipt(RepairOrderParam repairOrderParam);
|
||||
}
|
||||
|
|
|
@ -12,26 +12,37 @@ import com.hcy.common.dto.order.RepairOrderDto;
|
|||
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.RepairOrder;
|
||||
import com.hcy.common.entity.plant.Plant;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
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.audit.AuditStateEnum;
|
||||
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.RepairOrderStatusEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
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.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||
import com.hcy.common.mapper.plant.PlantMapper;
|
||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||
import com.hcy.common.utils.OrderUtil;
|
||||
import com.hcy.common.utils.TimeUtil;
|
||||
import com.hcy.common.utils.ToolsUtil;
|
||||
import com.hcy.front.FrontThreadLocal;
|
||||
import com.hcy.front.service.order.IRepairOrderService;
|
||||
|
@ -42,14 +53,13 @@ import com.hcy.front.validate.order.RepairOrderParam;
|
|||
import com.hcy.front.validate.warehouse.SparePartParam;
|
||||
import com.hcy.front.vo.address.UserAddressListVo;
|
||||
import com.hcy.front.vo.client.EquipmentListVo;
|
||||
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;
|
||||
import com.hcy.front.vo.order.*;
|
||||
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.sun.xml.internal.ws.resources.AddressingMessages;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
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;
|
||||
|
@ -80,6 +90,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
@Resource
|
||||
ClientMapper clientMapper;
|
||||
|
||||
@Resource
|
||||
FaultMapper faultMapper;
|
||||
|
||||
@Resource
|
||||
private IDevRegionService regionService;
|
||||
|
||||
|
@ -95,6 +108,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
@Resource
|
||||
OrderSparePartMapper orderSparePartMapper;
|
||||
|
||||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
WarehouseMapper warehouseMapper;
|
||||
|
||||
@Resource
|
||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||
|
||||
private final DecimalFormat df = new DecimalFormat ("#.#");
|
||||
|
||||
/**
|
||||
|
@ -111,6 +133,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
List<RepairOrderDto> repairOrderDtoList = repairOrderMapper.list(repairOrderDto);
|
||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminByUserId(FrontThreadLocal.getUserId());
|
||||
//获取工厂
|
||||
Plant plant = plantMapper.findPlantByAdminId(systemAuthAdmin.getPlantId());
|
||||
|
||||
List<RepairOrderListVo> returnData = new LinkedList<>();
|
||||
for (RepairOrderDto item : repairOrderDtoList) {
|
||||
|
@ -121,10 +145,20 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
, repairOrderParam.getLongitude(), repairOrderParam.getLatitude());
|
||||
|
||||
if(item.getReceiverType() == OrderStateEnum.REGIONAL_DISPATCH.getStatus()){
|
||||
if(item.getEquipmentProvinceId().equals(systemAuthAdmin.getProvinceId()) &&
|
||||
/*if(item.getEquipmentProvinceId().equals(systemAuthAdmin.getProvinceId()) &&
|
||||
item.getEquipmentCityId().equals(systemAuthAdmin.getCityId()) &&
|
||||
item.getEquipmentDistrictId().equals(systemAuthAdmin.getDistrictId()) ){
|
||||
|
||||
// 计算距离
|
||||
RepairOrderListVo vo = new RepairOrderListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
vo.setDistance(distance);
|
||||
returnData.add(vo);
|
||||
}*/
|
||||
if(item.getEquipmentProvinceId().equals(plant.getProvinceId()) &&
|
||||
item.getEquipmentCityId().equals(plant.getCityId()) &&
|
||||
item.getEquipmentDistrictId().equals(plant.getDistrictId()) ){
|
||||
|
||||
// 计算距离
|
||||
RepairOrderListVo vo = new RepairOrderListVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
|
@ -242,7 +276,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void confirmServiceOfferPrice(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
Assert.isTrue(repairOrder.getOrderStatus() == MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus(), "订单状态错误");
|
||||
|
||||
|
@ -266,15 +300,17 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void confirmedScrap(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
repairOrder.setScrapOrNot(repairOrderParam.getScrapOrNot()); // 是否报废(0=是,1=否)
|
||||
repairOrder.setScrapConfirmation(repairOrderParam.getScrapConfirmation()); // 报废确认(0=是,1=否)
|
||||
repairOrder.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄(0=是 1=否)
|
||||
repairOrder.setDeliveryMethod(repairOrderParam.getDeliveryMethod()); // 收件方式(0=物流快递 1-上门取件 2-送货上门)
|
||||
repairOrder.setConsigneeAddressId(repairOrderParam.getConsigneeAddressId()); // 收件地址
|
||||
repairOrder.setClientScrapAddressId(repairOrderParam.getClientScrapAddressId()); // 客户报废收件地址
|
||||
repairOrder.setClientScrapRemark(repairOrderParam.getClientScrapRemark()); // 客户报废备注
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
||||
repairOrder.setOrderAccomplishTime(new Date()); //订单完成时间
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
}
|
||||
|
||||
|
@ -285,7 +321,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void uploadPictures(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
if(repairOrderParam.getInMaintenanceImg() != null){
|
||||
repairOrder.setInMaintenanceImg(repairOrderParam.getInMaintenanceImg()); // 维修中照片
|
||||
|
@ -302,11 +338,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void scrapForm(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
repairOrder.setScrapOrNot(repairOrderParam.getScrapOrNot()); // 是否报废(0=是,1=否)
|
||||
repairOrder.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄(0=是 1=否)
|
||||
repairOrder.setExpressName(repairOrderParam.getExpressName()); // 快递名称
|
||||
repairOrder.setExpressNo(repairOrderParam.getExpressNo()); // 快递单号
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
@ -319,7 +353,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void fillInReceipt(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
Assert.notNull(repairOrderParam.getFamiliarFaultId(), "结论类型不可为空");
|
||||
Assert.notNull(repairOrderParam.getFamiliarFaultDescription(), "结论描述不可为空");
|
||||
|
@ -341,6 +375,128 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 备件领用申请
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void sparePartsRequisition(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
//我的仓库领用
|
||||
if(repairOrder.getWarehouseType() == MaintenanceOrderStatusEnum.MY_WAREHOUSE.getStatus()){
|
||||
//获取领用备件列表
|
||||
List<OrderSparePart> orderSpareParts = orderSparePartMapper.findOrderSparePartByRepairOrderId(repairOrder.getId());
|
||||
for (OrderSparePart item : orderSpareParts) {
|
||||
//获取备件信息
|
||||
SparePart sparePart = sparePartMapper.findSparePartById(item.getSparePartsId());
|
||||
if(sparePart.getQuantity() >= item.getQuantity()){
|
||||
//扣除对应的数量
|
||||
sparePart.setQuantity(sparePart.getQuantity() - item.getQuantity());
|
||||
sparePartMapper.updateById(sparePart);
|
||||
}else{
|
||||
throw new OperateException("仓库中【" + sparePart.getSparePartsName() + "】备件数量不足" + item.getQuantity() + sparePart.getUnit() + ",配件领用失败");
|
||||
}
|
||||
}
|
||||
repairOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||
repairOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//我的仓库也要新增配件领用记录 并且状态是已完成
|
||||
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||
sparePartStockAuditMapper.insert(sparePartStockAudit);*/
|
||||
}else{
|
||||
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(repairOrder.getId()
|
||||
, SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
if(resultSps != null){
|
||||
//已有领取记录但被拒绝则重新审核
|
||||
resultSps.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
resultSps.setCreateTime(new Date());
|
||||
sparePartStockAuditMapper.updateById(resultSps);
|
||||
}else{
|
||||
//没领过配件则创建新的领用单
|
||||
SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(repairOrderParam);
|
||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
sparePartStockAuditMapper.insert(sparePartStockAudit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认收货
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void confirmReceipt(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(repairOrder.getId()
|
||||
,SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
if(resultSps != null){
|
||||
if(resultSps.getPurchaseStatus() == AuditStateEnum.WAIT_FOR_RECEIVING.getStatus()){
|
||||
//确认收货后可进行填写回单操作
|
||||
repairOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//将对应的配件领用订单改成已完成
|
||||
resultSps.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||
sparePartStockAuditMapper.updateById(resultSps);
|
||||
|
||||
//新增检修单操作记录
|
||||
orderOperateRecordService.addMaintenanceOrder(repairOrder.getId()
|
||||
, OrderOperateRecordEnum.RECEIVE_GOODS.getDesc()
|
||||
,"检修员【"+FrontThreadLocal.get("username")+"】已确认收货");
|
||||
orderOperateRecordService.addMaintenanceOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已完成配件领用");
|
||||
}else{
|
||||
throw new OperateException("当前订单状态无法进行确认收货");
|
||||
}
|
||||
}else{
|
||||
throw new OperateException("配件领用订单未生成,不可进行确认收货");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增配件领用记录
|
||||
* @param repairOrderParam 参数
|
||||
* @return SparePartStockAudit
|
||||
*/
|
||||
private SparePartStockAudit getSparePartStockAudit(RepairOrderParam repairOrderParam) {
|
||||
User user = userMapper.selectById(FrontThreadLocal.getUserId());
|
||||
//没领过配件则创建新的领用单
|
||||
SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||
SparePartStockAudit sparePartStockAudit = new SparePartStockAudit();
|
||||
sparePartStockAudit.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit == null ? "" :lastSparePartStockAudit.getReceiptNumber()));
|
||||
sparePartStockAudit.setOrderId(repairOrderParam.getId());
|
||||
sparePartStockAudit.setOrderType(SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
sparePartStockAudit.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
|
||||
sparePartStockAudit.setOutInWarehouseType(AuditStateEnum.STAFF_MATERIALS.getStatus());
|
||||
sparePartStockAudit.setConsignee(user.getUsername());
|
||||
sparePartStockAudit.setPhone(user.getMobile());
|
||||
sparePartStockAudit.setCreatorId(FrontThreadLocal.getUserId());
|
||||
|
||||
//获取维修员选择地址
|
||||
if(repairOrderParam.getAddressId() != null){
|
||||
UserAddress userAddress = userAddressMapper.findUserAddressById(Math.toIntExact(repairOrderParam.getAddressId()));
|
||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||
sparePartStockAudit.setShippingAddress(regionMap.get(userAddress.getProvinceId()) +
|
||||
regionMap.get(userAddress.getCityId()) +
|
||||
regionMap.get(userAddress.getDistrictId()) +
|
||||
userAddress.getAddress());
|
||||
}
|
||||
sparePartStockAudit.setDeliveryMethod(repairOrderParam.getDeliveryMethod());
|
||||
sparePartStockAudit.setRemark(repairOrderParam.getRemark());
|
||||
return sparePartStockAudit;
|
||||
}
|
||||
|
||||
/**
|
||||
* 维修订单列表
|
||||
*
|
||||
|
@ -388,7 +544,22 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
vo.setPlantName(plant.getName());
|
||||
}
|
||||
}
|
||||
//故障类型名称
|
||||
Fault faultName = faultMapper.selectOne(
|
||||
new LambdaQueryWrapper<Fault>()
|
||||
.eq(Fault::getId, vo.getFaultId()));
|
||||
if(faultName != null){
|
||||
vo.setFaultName(faultName.getName());
|
||||
}
|
||||
|
||||
//设置备件领用信息
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(item.getId()
|
||||
,SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
if(sparePartStockAudit != null){
|
||||
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
|
||||
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
|
||||
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
|
||||
}
|
||||
vo.setCreateTime(item.getCreateTime());
|
||||
vo.setUpdateTime(item.getUpdateTime());
|
||||
list.add(vo);
|
||||
|
@ -417,13 +588,16 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
RepairOrderDetailVo vo = new RepairOrderDetailVo();
|
||||
BeanUtils.copyProperties(model, vo);
|
||||
vo.setUpdateTime(model.getUpdateTime());
|
||||
//客户名称
|
||||
//客户名称 负责人 联系电话
|
||||
Client clientName = clientMapper.selectOne(
|
||||
new QueryWrapper<Client>()
|
||||
.eq("id", model.getClientId()));
|
||||
if(clientName != null){
|
||||
vo.setClientName(clientName.getClientName());
|
||||
vo.setDirector(clientName.getDirector());
|
||||
vo.setPhone(clientName.getPhone());
|
||||
}
|
||||
|
||||
//创建人名称
|
||||
User creatorName = userMapper.selectOne(
|
||||
new QueryWrapper<User>()
|
||||
|
@ -431,13 +605,16 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
if(creatorName != null){
|
||||
vo.setCreatorName(creatorName.getUsername());
|
||||
}
|
||||
//接单人名称
|
||||
|
||||
//接单人名称 接单人联系电话
|
||||
User user = userMapper.selectOne(
|
||||
new QueryWrapper<User>()
|
||||
.eq("id", model.getReceiverId()));
|
||||
if(user != null){
|
||||
vo.setReceiverName(user.getUsername());
|
||||
vo.setReceiverPhone(user.getMobile());
|
||||
}
|
||||
|
||||
//管辖工厂
|
||||
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||
new QueryWrapper<SystemAuthAdmin>()
|
||||
|
@ -451,6 +628,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
vo.setPlantName(plant.getName());
|
||||
}
|
||||
}
|
||||
|
||||
//回寄地址
|
||||
UserAddress userAddress = userAddressMapper.selectOne(
|
||||
new QueryWrapper<UserAddress>()
|
||||
|
@ -464,6 +642,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
userAddressListVo.setDistrict(regionMap.get(userAddressListVo.getDistrictId()));
|
||||
vo.setAddress(userAddressListVo);
|
||||
}
|
||||
|
||||
//报废地址
|
||||
UserAddress scrapAddress = userAddressMapper.selectOne(
|
||||
new QueryWrapper<UserAddress>()
|
||||
|
@ -476,6 +655,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
scrapAddressListVo.setDistrict(regionMap.get(scrapAddressListVo.getDistrictId()));
|
||||
vo.setScrapAddress(scrapAddressListVo);
|
||||
}
|
||||
|
||||
//设备信息
|
||||
Equipment equipment = equipmentMapper.selectOne(
|
||||
new QueryWrapper<Equipment>()
|
||||
|
@ -488,6 +668,51 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
BeanUtils.copyProperties(equipment, equipmentListVo);
|
||||
vo.setEquipment(equipmentListVo);
|
||||
}
|
||||
|
||||
//故障类型名称
|
||||
Fault faultName = faultMapper.selectOne(
|
||||
new LambdaQueryWrapper<Fault>()
|
||||
.eq(Fault::getId, vo.getFaultId()));
|
||||
if(faultName != null){
|
||||
vo.setFaultName(faultName.getName());
|
||||
}
|
||||
|
||||
//设置配件清单
|
||||
List<OrderSparePart> orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper<OrderSparePart>()
|
||||
.eq(OrderSparePart::getRepairOrderId, model.getId()));
|
||||
List<OrderSparePartListVo> orderSparePartListVos = new ArrayList<>();
|
||||
for (OrderSparePart item : orderSpareParts) {
|
||||
OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo();
|
||||
BeanUtils.copyProperties(item, orderSparePartListVo);
|
||||
//仓库名称
|
||||
Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper<Warehouse>()
|
||||
.eq(Warehouse::getId, item.getWarehouseId()));
|
||||
orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName());
|
||||
orderSparePartListVos.add(orderSparePartListVo);
|
||||
}
|
||||
vo.setSparePartList(orderSparePartListVos);
|
||||
|
||||
//确认报废 收件地址
|
||||
UserAddress clientScrapAddress = userAddressMapper.selectOne(
|
||||
new QueryWrapper<UserAddress>()
|
||||
.eq("id", model.getClientScrapAddressId()));
|
||||
if(clientScrapAddress != null){
|
||||
UserAddressListVo clientScrapAddressVo = new UserAddressListVo();
|
||||
BeanUtils.copyProperties(clientScrapAddress, clientScrapAddressVo);
|
||||
clientScrapAddressVo.setProvince(regionMap.get(clientScrapAddressVo.getProvinceId()));
|
||||
clientScrapAddressVo.setCity(regionMap.get(clientScrapAddressVo.getCityId()));
|
||||
clientScrapAddressVo.setDistrict(regionMap.get(clientScrapAddressVo.getDistrictId()));
|
||||
vo.setClientScrapAddress(clientScrapAddressVo);
|
||||
}
|
||||
|
||||
//设置备件领用信息
|
||||
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(model.getId()
|
||||
,SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
if(sparePartStockAudit != null){
|
||||
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
|
||||
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
|
||||
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
@ -535,7 +760,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void grabTheOrder(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
if(repairOrder.getOrderStatus() == MaintenanceOrderStatusEnum.WAITING_LIST.getStatus()
|
||||
|
@ -555,7 +780,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
*/
|
||||
@Override
|
||||
public void receivingOrder(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
if(repairOrder.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
|
||||
|
@ -572,8 +797,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void refundOrder(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
Assert.notNull(repairOrderParam.getCancelCause(), "退单原因不可为空");
|
||||
|
||||
|
@ -613,8 +839,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void faultDetect(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findMaintenanceOrderById(repairOrderParam.getId());
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
||||
repairOrder.setWarehouseType(repairOrderParam.getWarehouseType()); // 仓库类型 0-我的仓库 1-公共仓库
|
||||
|
@ -622,8 +849,10 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
Client client = clientMapper.findClientById(repairOrder.getClientId());
|
||||
//判断当前客户是全包还是半包
|
||||
if(client.getClientType() == ClientStatusEnum.PLIE_POINT_ALL_WRAPPED.getStatus()){
|
||||
if(client.getMaintainType() == ClientStatusEnum.MODULE_MAINTENANCE_ALL_WRAPPED.getStatus()){
|
||||
//全包直接变成维修中状态,需要更改是否维修状态为是
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
||||
repairOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||
}else{
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus());
|
||||
}
|
||||
|
@ -637,33 +866,36 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
orderSparePartMapper.deleteById(orderSparePart);
|
||||
}
|
||||
|
||||
for (SparePartParam item : repairOrderParam.getSparePartParams()) {
|
||||
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
|
||||
//确认报废不用填配件数据
|
||||
if(repairOrderParam.getScrapOrNot() == RepairOrderStatusEnum.NO.getStatus()){
|
||||
for (SparePartParam item : repairOrderParam.getSparePartParams()) {
|
||||
SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
|
||||
Assert.notNull(sparePart, "配件数据不存在");
|
||||
|
||||
OrderSparePart orderSparePart = new OrderSparePart();
|
||||
BeanUtils.copyProperties(sparePart, orderSparePart);
|
||||
OrderSparePart orderSparePart = new OrderSparePart();
|
||||
BeanUtils.copyProperties(sparePart, orderSparePart);
|
||||
|
||||
orderSparePart.setId(null);
|
||||
orderSparePart.setRepairOrderId(repairOrder.getId()); //维修单id
|
||||
orderSparePart.setSparePartsId(item.getId()); // 备件id
|
||||
orderSparePart.setWarehouseId(sparePart.getWarehouseId()); // 所属仓库id
|
||||
orderSparePart.setQuantity(item.getQuantity()); // 数量
|
||||
orderSparePart.setId(null);
|
||||
orderSparePart.setRepairOrderId(repairOrder.getId()); //维修单id
|
||||
orderSparePart.setSparePartsId(item.getId()); // 备件id
|
||||
orderSparePart.setWarehouseId(sparePart.getWarehouseId()); // 所属仓库id
|
||||
orderSparePart.setQuantity(item.getQuantity()); // 数量
|
||||
|
||||
//设置订单实际价格
|
||||
BigDecimal practicalPrice = sparePart.getUnitPrice().multiply(client.getPurchaseDivisor());
|
||||
orderSparePart.setUnitPrice(practicalPrice); // 价格
|
||||
//设置订单实际价格 = 单价 * 配件维修价格因子
|
||||
BigDecimal practicalPrice = sparePart.getUnitPrice().multiply(client.getPartMaintainDivisor());
|
||||
orderSparePart.setUnitPrice(practicalPrice); // 价格
|
||||
// 总价 = 订单实际价格 * 数量
|
||||
BigDecimal totalPrice = practicalPrice.multiply(BigDecimal.valueOf(item.getQuantity()));
|
||||
actualAmount = actualAmount.add(totalPrice);
|
||||
|
||||
BigDecimal totalPrice = practicalPrice.multiply(BigDecimal.valueOf(item.getQuantity()));
|
||||
actualAmount = actualAmount.add(totalPrice);
|
||||
orderSparePart.setTotalPrice(totalPrice); // 总价
|
||||
|
||||
orderSparePart.setTotalPrice(totalPrice); // 总价
|
||||
|
||||
orderSparePartMapper.insert(orderSparePart);
|
||||
orderSparePartMapper.insert(orderSparePart);
|
||||
}
|
||||
repairOrder.setTotalAmount(actualAmount); // 总金额
|
||||
repairOrder.setActualAmount(actualAmount); // 实际金额
|
||||
}
|
||||
|
||||
repairOrder.setTotalAmount(actualAmount); // 总金额
|
||||
repairOrder.setActualAmount(actualAmount); // 实际金额
|
||||
|
||||
repairOrder.setFaultId(repairOrderParam.getFaultId()); //故障原因id
|
||||
repairOrder.setFaultCode(repairOrderParam.getFaultCode()); //故障代码
|
||||
repairOrder.setPreMaintenanceImg(repairOrderParam.getPreMaintenanceImg()); // 维修前图片
|
||||
|
|
|
@ -101,7 +101,7 @@ public class SparePartServiceImpl implements ISparePartService {
|
|||
if(param.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
|
||||
practicalPrice = item.getUnitPrice().multiply(client.getPointMaintainDivisor());
|
||||
}else{
|
||||
practicalPrice = item.getUnitPrice().multiply(client.getPurchaseDivisor());
|
||||
practicalPrice = item.getUnitPrice().multiply(client.getPartMaintainDivisor());
|
||||
}
|
||||
sparePartListVo.setUnitPrice(practicalPrice);
|
||||
|
||||
|
|
|
@ -133,6 +133,7 @@ public class RepairOrderParam implements Serializable {
|
|||
private String familiarFaultDescription; // 常见维修结论描述
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
private String completeImg; // 完工照片
|
||||
|
||||
private Long clientScrapAddressId; // 客户报废收货地址
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
|
||||
}
|
||||
|
|
|
@ -19,7 +19,8 @@ public class OrderSparePartListVo implements Serializable {
|
|||
private Long sparePartsId; // 备件id
|
||||
private String sparePartsCode; // 备件编码
|
||||
private String sparePartsName; // 备件名称
|
||||
private Long warehouseId; // 所属仓库名称
|
||||
private Long warehouseId; // 所属仓库名id
|
||||
private String warehouseName; // 所属仓库名称
|
||||
private String specificationsModel; // 规格型号
|
||||
private String unit; // 单位
|
||||
private BigDecimal unitPrice; // 价格
|
||||
|
|
|
@ -4,11 +4,14 @@ import com.hcy.common.entity.address.UserAddress;
|
|||
import com.hcy.common.entity.client.Equipment;
|
||||
import com.hcy.front.vo.address.UserAddressListVo;
|
||||
import com.hcy.front.vo.client.EquipmentListVo;
|
||||
import com.hcy.front.vo.client.EquipmentModelDetailVo;
|
||||
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* RepairOrderVo
|
||||
|
@ -44,6 +47,7 @@ public class RepairOrderDetailVo implements Serializable {
|
|||
private Integer priorityId; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||
private String expressName; // 快递名称
|
||||
private String expressNo; // 快递单号
|
||||
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||
private Long addressId; // 回寄地址
|
||||
private String siteImg; // 现场照片
|
||||
|
@ -54,13 +58,47 @@ public class RepairOrderDetailVo implements Serializable {
|
|||
private Integer repairWorkOrderFlow; // 工单去向 0=工单池 1=检修员
|
||||
private UserAddressListVo address; //地址信息
|
||||
private EquipmentListVo equipment; //设备信息
|
||||
private Integer scrapAddressId; // 报废地址
|
||||
private Long scrapAddressId; // 报废地址
|
||||
private UserAddressListVo scrapAddress; //报废地址信息
|
||||
private String returnCause; //退回原因
|
||||
private Integer deliveryMethod; // 收件方式(0=物流快递 1-上门取件 2-送货上门)
|
||||
private Long consigneeAddressId; // 收件地址
|
||||
private UserAddressListVo consigneeAddress; //收件地址
|
||||
|
||||
private String clientScrapRemark; // 客户报废备注
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
private String completeImg; // 完工照片
|
||||
|
||||
private String faultName; //故障名称
|
||||
private Integer scrapOrNot; // 是否报废(0=是,1=否)
|
||||
private String preMaintenanceImg; // 维修前照片
|
||||
private String faultPointImg; // 故障点照片
|
||||
private String inMaintenanceImg; // 维修中照片
|
||||
private String afterRepairImg; // 维修后照片
|
||||
private Date orderAccomplishTime; // 订单完成时间
|
||||
private Date quotationTime; // 报价时间
|
||||
private Date cancelOrderTime; // 取消订单时间
|
||||
private String cancelCause; // 取消原因
|
||||
private String refuseMaintenanceCause; // 拒绝维修原因
|
||||
|
||||
private BigDecimal totalAmount; // 总金额
|
||||
private BigDecimal actualAmount; // 实际金额
|
||||
|
||||
private List<OrderSparePartListVo> sparePartList; // 备件清单
|
||||
private EquipmentModelDetailVo equipmentModel; //设备模块信息
|
||||
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
|
||||
|
||||
private String director; // 负责人
|
||||
private String phone; // 联系电话
|
||||
private String receiverPhone; // 接单人联系电话
|
||||
|
||||
private Long scrapFaultId; // 报废类型id
|
||||
private String scrapExplain; // 报废说明
|
||||
|
||||
private Long clientScrapAddressId; // 客户报废收货地址id
|
||||
private UserAddressListVo clientScrapAddress; //客户报废收货地址
|
||||
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
private Integer warehouseType; // 仓库类型 0-我的仓库 1-公共仓库
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.hcy.front.vo.order;
|
||||
|
||||
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
@ -36,7 +38,7 @@ public class RepairOrderListVo implements Serializable {
|
|||
private Date createTime; // 创建时间
|
||||
private Date updateTime; // 更新时间
|
||||
private Long maintenanceOrderId; // 检修单id
|
||||
private Long priorityId; // 优先级 0-普通 1-加急
|
||||
private Integer priorityId; // 优先级 0-普通 1-加急
|
||||
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||
private String expressName; // 快递名称
|
||||
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||
|
@ -53,6 +55,12 @@ public class RepairOrderListVo implements Serializable {
|
|||
|
||||
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
|
||||
|
||||
private Date quotationTime; // 报价时间
|
||||
private Date cancelOrderTime; // 取消订单时间
|
||||
private String cancelCause; // 取消原因
|
||||
private String refuseMaintenanceCause; // 拒绝维修原因
|
||||
private String returnCause; //退回原因
|
||||
|
||||
private String faultName; //故障名称
|
||||
private String equipmentNo; //设备编号
|
||||
private String equipmentName; //设备名称
|
||||
|
@ -62,5 +70,15 @@ public class RepairOrderListVo implements Serializable {
|
|||
private Long consigneeAddressId; // 收件地址
|
||||
private String clientScrapRemark; // 客户报废备注
|
||||
private String completeImg; // 完工照片
|
||||
private Integer scrapOrNot; // 是否报废(0=是,1=否)
|
||||
private String inMaintenanceImg; // 维修中照片
|
||||
private String afterRepairImg; // 维修后照片
|
||||
private Date orderAccomplishTime; // 订单完成时间
|
||||
private BigDecimal totalAmount; // 总金额
|
||||
private BigDecimal actualAmount; // 实际金额
|
||||
|
||||
private Long clientScrapAddressId; // 客户报废收货地址
|
||||
private Long scrapConfirmation; // 报废确认(0=是,1=否)
|
||||
|
||||
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue