【admin】新增&优化# 1.新增检修单配件领用 2.优化出入库单查询

dev
dabin 2024-08-29 10:46:47 +08:00
parent 9144e704de
commit f68344087c
20 changed files with 522 additions and 137 deletions

View File

@ -121,6 +121,18 @@ public class SparePartStockAuditController {
return AjaxResult.success(); return AjaxResult.success();
} }
/**
*
* @param sparePartStockAuditParam
* @return
*/
@Log(title = "备件采购审核")
@PostMapping("/purchaseAudit")
public Object purchaseAudit(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartStockAuditService.purchaseAudit(sparePartStockAuditParam);
return AjaxResult.success();
}
/** /**
* *
* @param id * @param id

View File

@ -15,6 +15,7 @@ import com.hcy.admin.vo.order.MaintenanceOrderListVo;
import com.hcy.admin.vo.order.MaintenanceOrderDetailVo; import com.hcy.admin.vo.order.MaintenanceOrderDetailVo;
import com.hcy.admin.vo.order.OrderSparePartListVo; import com.hcy.admin.vo.order.OrderSparePartListVo;
import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo; import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.constant.GlobalConstant; import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.core.PageResult; import com.hcy.common.core.PageResult;
import com.hcy.common.dto.order.MaintenanceOrderDto; import com.hcy.common.dto.order.MaintenanceOrderDto;
@ -27,6 +28,7 @@ import com.hcy.common.entity.client.EquipmentModel;
import com.hcy.common.entity.fault.Fault; import com.hcy.common.entity.fault.Fault;
import com.hcy.common.entity.order.MaintenanceOrder; import com.hcy.common.entity.order.MaintenanceOrder;
import com.hcy.common.entity.order.repair.MaintenanceRepair; import com.hcy.common.entity.order.repair.MaintenanceRepair;
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.system.SystemAuthAdmin;
import com.hcy.common.entity.user.User; import com.hcy.common.entity.user.User;
import com.hcy.common.entity.warehouse.Warehouse; import com.hcy.common.entity.warehouse.Warehouse;
@ -43,6 +45,7 @@ import com.hcy.common.mapper.fault.FaultMapper;
import com.hcy.common.mapper.order.MaintenanceOrderMapper; import com.hcy.common.mapper.order.MaintenanceOrderMapper;
import com.hcy.common.mapper.order.OrderSparePartMapper; import com.hcy.common.mapper.order.OrderSparePartMapper;
import com.hcy.common.mapper.order.repair.MaintenanceRepairMapper; import com.hcy.common.mapper.order.repair.MaintenanceRepairMapper;
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
import com.hcy.common.mapper.system.SystemAuthAdminMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper;
import com.hcy.common.mapper.user.UserMapper; import com.hcy.common.mapper.user.UserMapper;
import com.hcy.common.mapper.warehouse.WarehouseMapper; import com.hcy.common.mapper.warehouse.WarehouseMapper;
@ -102,6 +105,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
@Resource @Resource
WarehouseMapper warehouseMapper; WarehouseMapper warehouseMapper;
@Resource
SparePartStockAuditMapper sparePartStockAuditMapper;
/** /**
* *
* *
@ -222,6 +228,20 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
vo.setFaultName(fault.getName()); vo.setFaultName(fault.getName());
} }
//设置常见维修结论
Fault familiarFault = faultMapper.findFaultById(model.getFamiliarFaultId());
if(familiarFault != null){
vo.setFamiliarFaultName(familiarFault.getName());
}
//设置配件领用明细
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(model.getId());
if(sparePartStockAudit != null){
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
vo.setSparePartStockAuditDetailVo(sparePartStockAuditDetailVo);
}
//设置配件清单 //设置配件清单
List<OrderSparePart> orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper<OrderSparePart>() List<OrderSparePart> orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper<OrderSparePart>()
.eq(OrderSparePart::getMaintenanceOrderId, model.getId())); .eq(OrderSparePart::getMaintenanceOrderId, model.getId()));
@ -286,7 +306,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
} }
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD()); MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
model.setOrderNo(OrderUtil.getOrderNo(maintenanceOrder.getOrderNo())); model.setOrderNo(OrderUtil.getOrderNo(maintenanceOrder == null ? "" :maintenanceOrder.getOrderNo()));
model.setCreatorId(AdminThreadLocal.getAdminId().longValue()); model.setCreatorId(AdminThreadLocal.getAdminId().longValue());
maintenanceOrderMapper.insert(model); maintenanceOrderMapper.insert(model);

View File

@ -70,6 +70,12 @@ public interface ISparePartStockAuditService {
*/ */
void cancelAudit(Integer id); void cancelAudit(Integer id);
/**
*
* @param sparePartStockAuditParam
*/
void purchaseAudit(SparePartStockAuditParam sparePartStockAuditParam);
/** /**
* *
* @param id * @param id

View File

@ -24,6 +24,7 @@ import com.hcy.common.entity.user.User;
import com.hcy.common.entity.warehouse.Warehouse; import com.hcy.common.entity.warehouse.Warehouse;
import com.hcy.common.enums.SparePartStockAuditEnum; import com.hcy.common.enums.SparePartStockAuditEnum;
import com.hcy.common.enums.audit.AuditStateEnum; import com.hcy.common.enums.audit.AuditStateEnum;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
import com.hcy.common.exception.OperateException; import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper; import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
import com.hcy.common.mapper.order.MaintenanceOrderMapper; import com.hcy.common.mapper.order.MaintenanceOrderMapper;
@ -49,7 +50,7 @@ import java.util.*;
*/ */
@Service @Service
public class SparePartStockAuditServiceImpl implements ISparePartStockAuditService { public class SparePartStockAuditServiceImpl implements ISparePartStockAuditService {
@Resource @Resource
SparePartStockAuditMapper sparePartStockAuditMapper; SparePartStockAuditMapper sparePartStockAuditMapper;
@ -77,48 +78,79 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
/** /**
* *
* *
* @author hcy
* @param pageParam * @param pageParam
* @param params * @param params
* @return PageResult<SparePartStockAuditListVo> * @return PageResult<SparePartStockAuditListVo>
* @author hcy
*/ */
@Override @Override
public PageResult<SparePartStockAuditListVo> list(PageParam pageParam, SparePartStockAuditParam params) { public PageResult<SparePartStockAuditListVo> list(PageParam pageParam, SparePartStockAuditParam params) {
Integer page = pageParam.getPageNo(); Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize(); Integer limit = pageParam.getPageSize();
LambdaQueryWrapper<SparePartStockAudit> queryWrapper = new LambdaQueryWrapper<SparePartStockAudit>() LambdaQueryWrapper<SparePartStockAudit> queryWrapper = new LambdaQueryWrapper<SparePartStockAudit>()
.eq(SparePartStockAudit::getIsDelete, GlobalConstant.NOT_DELETE) .eq(SparePartStockAudit::getIsDelete, GlobalConstant.NOT_DELETE)
.eq(params.getReceiptType() != null, SparePartStockAudit::getReceiptType, params.getReceiptType()) .eq(params.getReceiptType() != null, SparePartStockAudit::getReceiptType, params.getReceiptType())
.eq(params.getOutInWarehouseType() != null, SparePartStockAudit::getOutInWarehouseType, params.getOutInWarehouseType()) .eq(params.getOutInWarehouseType() != null, SparePartStockAudit::getOutInWarehouseType, params.getOutInWarehouseType())
.eq(StringUtils.isNotEmpty(params.getReceiptNumber()), SparePartStockAudit::getReceiptNumber, params.getReceiptNumber()) .like(StringUtils.isNotEmpty(params.getReceiptNumber()), SparePartStockAudit::getReceiptNumber, params.getReceiptNumber())
.eq(params.getAuditState() != null, SparePartStockAudit::getAuditState, params.getAuditState()) .eq(params.getAuditState() != null, SparePartStockAudit::getAuditState, params.getAuditState())
.eq(params.getWarehouseId() != null,SparePartStockAudit::getWarehouseId,params.getWarehouseId()) .eq(params.getWarehouseId() != null, SparePartStockAudit::getWarehouseId, params.getWarehouseId())
.eq(params.getDeliveryMethod() != null, SparePartStockAudit::getDeliveryMethod, params.getDeliveryMethod())
.eq(params.getPurchaseStatus() != null, SparePartStockAudit::getPurchaseStatus, params.getPurchaseStatus())
.ge(StringUtils.isNotEmpty(params.getCreateTimeStart()), SparePartStockAudit::getCreateTime, params.getCreateTimeStart())
.le(StringUtils.isNotEmpty(params.getCreateTimeEnd()), SparePartStockAudit::getCreateTime, params.getCreateTimeEnd())
.orderByDesc(SparePartStockAudit::getCreateTime); .orderByDesc(SparePartStockAudit::getCreateTime);
if(params.getOrderType() == null){
//如果当前不是配件采购则将配件采购出入库单排除
if (params.getOutInWarehouseType() == null) {
if (params.getReceiptType() == null) {
queryWrapper.isNull(SparePartStockAudit::getPurchaseStatus)
.or(orQuery -> orQuery.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.UNREVIEWED.getStatus())
.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.AUDITED.getStatus())
.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.CANCELED_AUDIT.getStatus())
.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.FILLING_OUT.getStatus()));
} else {
queryWrapper.isNull(SparePartStockAudit::getPurchaseStatus);
}
}else{
if(StringUtils.isEmpty(params.getConsignee())){
queryWrapper.and(query -> query.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.FILLING_OUT.getStatus())
.ne(SparePartStockAudit::getPurchaseStatus,AuditStateEnum.CANCELED_AUDIT.getStatus()));
}else{
queryWrapper.isNotNull(SparePartStockAudit::getPurchaseStatus);
}
}
}
//领用时间范围,配送方式查询 //领用时间范围,配送方式查询
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper); IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<SparePartStockAuditListVo> list = new ArrayList<>(); List<SparePartStockAuditListVo> list = new ArrayList<>();
for(SparePartStockAudit item : iPage.getRecords()) { for (SparePartStockAudit item : iPage.getRecords()) {
SparePartStockAuditListVo vo = new SparePartStockAuditListVo(); SparePartStockAuditListVo vo = new SparePartStockAuditListVo();
BeanUtils.copyProperties(item, vo); BeanUtils.copyProperties(item, vo);
vo.setRecipientAndPhone(item.getRecipient() + "/" + item.getRecipientPhone()); //领料员工/联系电话 vo.setSupplierPhone(item.getSupplier() + "/" + item.getPhone()); //供应商/电话
vo.setSupplierPhone(item.getSupplier() + "/" + item.getPhone()); //领料员工/联系电话
if(item.getOrderType() != null){ if (item.getOrderType() != null) {
User user = userMapper.selectById(item.getCreatorId()); User user = userMapper.selectById(item.getCreatorId());
vo.setCreator(user.getUsername()); vo.setCreator(user.getUsername());
}else{ item.setConsignee(user.getUsername());
vo.setConsignerPhone(user.getUsername() + "/" + item.getPhone());
vo.setRecipientAndPhone(user.getUsername() + "/" + item.getPhone()); //领料员工/联系电话
} else {
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(item.getCreatorId()); SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(item.getCreatorId());
if(systemAuthAdmin != null){ if (systemAuthAdmin != null) {
vo.setCreator(systemAuthAdmin.getUsername()); vo.setCreator(systemAuthAdmin.getUsername());
item.setConsignee(systemAuthAdmin.getUsername());
vo.setConsignerPhone(systemAuthAdmin.getUsername() + "/" + item.getPhone());
vo.setRecipientAndPhone(systemAuthAdmin.getUsername() + "/" + item.getPhone()); //领料员工/联系电话
} }
} }
int number = 0; //领用数量 int number = 0; //领用数量
if(item.getOrderType() != null && item.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){ if (item.getOrderType() != null && item.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()) {
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(item.getOrderId()); MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(item.getOrderId());
User user = userMapper.selectById(maintenanceOrder.getReceiverId()); User user = userMapper.selectById(maintenanceOrder.getReceiverId());
@ -129,7 +161,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
BeanUtils.copyProperties(orderSparePart, orderSparePartListVo); BeanUtils.copyProperties(orderSparePart, orderSparePartListVo);
orderSparePartListVoList.add(orderSparePartListVo); orderSparePartListVoList.add(orderSparePartListVo);
number += orderSparePart.getQuantity(); number += orderSparePart.getQuantity();
} }
vo.setOrderSparePartListVoList(orderSparePartListVoList); vo.setOrderSparePartListVoList(orderSparePartListVoList);
@ -137,7 +169,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
vo.setRecipient(user.getUsername()); vo.setRecipient(user.getUsername());
vo.setRecipientPhone(user.getMobile()); vo.setRecipientPhone(user.getMobile());
vo.setRecipientNumber(number); vo.setRecipientNumber(number);
}else{ } else {
//获取待审核备件信息 //获取待审核备件信息
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList( List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
new QueryWrapper<SparePartAudit>() new QueryWrapper<SparePartAudit>()
@ -158,27 +190,27 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
} }
//设置仓库名称 //设置仓库名称
if(AuditStateEnum.ALLOT.getStatus() == item.getOutInWarehouseType()){ if (AuditStateEnum.ALLOT.getStatus() == item.getReceiptType()) {
// 调入仓库名 // 调入仓库名
Warehouse importWarehouseName = warehouseMapper.findWarehouseById(item.getImportWarehouse()); Warehouse importWarehouseName = warehouseMapper.findWarehouseById(item.getImportWarehouse());
if(importWarehouseName != null){ if (importWarehouseName != null) {
vo.setImportWarehouseName(importWarehouseName.getWarehouseName()); vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
} }
// 调出仓库名 // 调出仓库名
Warehouse exportWarehouseName = warehouseMapper.findWarehouseById(item.getExportWarehouse()); Warehouse exportWarehouseName = warehouseMapper.findWarehouseById(item.getExportWarehouse());
if(exportWarehouseName != null){ if (exportWarehouseName != null) {
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName()); vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
} }
}else{ } else {
Long warehouseId = item.getWarehouseId(); Long warehouseId = item.getWarehouseId();
if(item.getImportWarehouse() != null){ if (item.getImportWarehouse() != null) {
warehouseId = item.getImportWarehouse(); warehouseId = item.getImportWarehouse();
}else{ } else {
warehouseId = item.getExportWarehouse(); warehouseId = item.getExportWarehouse();
} }
Warehouse warehouse = warehouseMapper.findWarehouseById(warehouseId); Warehouse warehouse = warehouseMapper.findWarehouseById(warehouseId);
if(warehouse != null){ if (warehouse != null) {
vo.setWarehouseName(warehouse.getWarehouseName()); vo.setWarehouseName(warehouse.getWarehouseName());
} }
} }
@ -192,9 +224,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
/** /**
* *
* *
* @author hcy
* @param id * @param id
* @return SparePartStockAudit * @return SparePartStockAudit
* @author hcy
*/ */
@Override @Override
public SparePartStockAuditDetailVo detail(Long id) { public SparePartStockAuditDetailVo detail(Long id) {
@ -204,8 +236,18 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
SparePartStockAuditDetailVo vo = new SparePartStockAuditDetailVo(); SparePartStockAuditDetailVo vo = new SparePartStockAuditDetailVo();
BeanUtils.copyProperties(model, vo); BeanUtils.copyProperties(model, vo);
if (model.getOrderType() != null) {
User user = userMapper.selectById(model.getCreatorId());
vo.setCreator(user.getUsername());
} else {
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(model.getCreatorId());
if (systemAuthAdmin != null) {
vo.setCreator(systemAuthAdmin.getUsername());
}
}
//获取待审核备件信息 //获取待审核备件信息
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){ if (model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()) {
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(model.getOrderId()); MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(model.getOrderId());
User user = userMapper.selectById(maintenanceOrder.getReceiverId()); User user = userMapper.selectById(maintenanceOrder.getReceiverId());
@ -220,7 +262,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
vo.setWorkOrderNo(maintenanceOrder.getOrderNo()); vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
vo.setRecipient(user.getUsername()); vo.setRecipient(user.getUsername());
vo.setRecipientPhone(user.getMobile()); vo.setRecipientPhone(user.getMobile());
}else{ } else {
//获取待审核备件信息 //获取待审核备件信息
List<SparePartAudit> sparePartAuditList = sparePartAuditMapper.findSparePartAuditByStockAuditId(model.getId()); List<SparePartAudit> sparePartAuditList = sparePartAuditMapper.findSparePartAuditByStockAuditId(model.getId());
//获取备件信息 //获取备件信息
@ -228,34 +270,33 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
for (SparePartAudit sparePartAudit : sparePartAuditList) { for (SparePartAudit sparePartAudit : sparePartAuditList) {
SparePartAuditListVo sparePartAuditListVo = new SparePartAuditListVo(); SparePartAuditListVo sparePartAuditListVo = new SparePartAuditListVo();
BeanUtils.copyProperties(sparePartAudit, sparePartAuditListVo); BeanUtils.copyProperties(sparePartAudit, sparePartAuditListVo);
listVo.add(sparePartAuditListVo); listVo.add(sparePartAuditListVo);
} }
vo.setSparePartAuditList(listVo); vo.setSparePartAuditList(listVo);
} }
//设置仓库名称 //设置仓库名称
if(AuditStateEnum.ALLOT.getStatus() == model.getOutInWarehouseType()){ if (AuditStateEnum.ALLOT.getStatus() == model.getReceiptType()) {
// 调入仓库名 // 调入仓库名
Warehouse importWarehouseName = warehouseMapper.findWarehouseById(model.getImportWarehouse()); Warehouse importWarehouseName = warehouseMapper.findWarehouseById(model.getImportWarehouse());
if(importWarehouseName != null){ if (importWarehouseName != null) {
vo.setImportWarehouseName(importWarehouseName.getWarehouseName()); vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
} }
// 调出仓库名 // 调出仓库名
Warehouse exportWarehouseName = warehouseMapper.findWarehouseById(model.getExportWarehouse()); Warehouse exportWarehouseName = warehouseMapper.findWarehouseById(model.getExportWarehouse());
if(exportWarehouseName != null){ if (exportWarehouseName != null) {
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName()); vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
} }
}else{ } else {
Long warehouseId = model.getWarehouseId(); Long warehouseId;
if(model.getImportWarehouse() != null){ if (model.getImportWarehouse() != null) {
warehouseId = model.getImportWarehouse(); warehouseId = model.getImportWarehouse();
}else{ } else {
warehouseId = model.getExportWarehouse(); warehouseId = model.getExportWarehouse();
} }
Warehouse warehouse = warehouseMapper.findWarehouseById(warehouseId); Warehouse warehouse = warehouseMapper.findWarehouseById(warehouseId);
if(warehouse != null){ if (warehouse != null) {
vo.setWarehouseName(warehouse.getWarehouseName()); vo.setWarehouseName(warehouse.getWarehouseName());
} }
} }
@ -266,8 +307,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
/** /**
* *
* *
* @author hcy
* @param sparePartStockAuditParam * @param sparePartStockAuditParam
* @author hcy
*/ */
@Override @Override
@Transactional @Transactional
@ -281,15 +322,6 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
// 获取当前的用户 // 获取当前的用户
model.setCreatorId(AdminThreadLocal.getAdminId()); model.setCreatorId(AdminThreadLocal.getAdminId());
if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()){
model.setExportWarehouse(sparePartStockAuditParam.getWarehouseId());
}else if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.IN_WAREHOUSE.getStatus()){
model.setImportWarehouse(sparePartStockAuditParam.getWarehouseId());
}else if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.ALLOT.getStatus()){
model.setExportWarehouse(sparePartStockAuditParam.getWarehouseId());
model.setImportWarehouse(sparePartStockAuditParam.getWarehouseId());
}
sparePartStockAuditMapper.insert(model); sparePartStockAuditMapper.insert(model);
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList(); List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
@ -297,8 +329,10 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
SparePart sparePart = sparePartMapper.findSparePartById(item.getId()); SparePart sparePart = sparePartMapper.findSparePartById(item.getId());
SparePartAudit sparePartAudit = new SparePartAudit(); SparePartAudit sparePartAudit = new SparePartAudit();
BeanUtils.copyProperties(sparePart, sparePartAudit); BeanUtils.copyProperties(sparePart, sparePartAudit);
sparePartAudit.setId(null); sparePartAudit.setId(null);
sparePartAudit.setStockAuditId(model.getId()); sparePartAudit.setStockAuditId(model.getId());
sparePartAudit.setSparePartsId(sparePart.getId());
sparePartAudit.setCount(item.getCount()); sparePartAudit.setCount(item.getCount());
sparePartAuditMapper.insert(sparePartAudit);//插入备件审核信息 sparePartAuditMapper.insert(sparePartAudit);//插入备件审核信息
} }
@ -307,49 +341,73 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
/** /**
* *
* *
* @author hcy
* @param sparePartStockAuditParam * @param sparePartStockAuditParam
* @author hcy
*/ */
@Override @Override
@Transactional
public void edit(SparePartStockAuditParam sparePartStockAuditParam) { public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.findSparePartStockAuditById(sparePartStockAuditParam.getId()); SparePartStockAudit orlModel = sparePartStockAuditMapper.findSparePartStockAuditById(sparePartStockAuditParam.getId());
Assert.notNull(model, "数据不存在!"); Assert.notNull(orlModel, "数据不存在!");
SparePartStockAudit model = new SparePartStockAudit();
BeanUtils.copyProperties(sparePartStockAuditParam, model);
//删除已保存的备件信息 //删除已保存的备件信息
List<SparePartAudit> sparePartAudits = sparePartAuditMapper.findSparePartAuditByStockAuditId(model.getId()); List<SparePartAudit> sparePartAudits = sparePartAuditMapper.findSparePartAuditByStockAuditId(orlModel.getId());
for (SparePartAudit sparePartAudit : sparePartAudits) { for (SparePartAudit sparePartAudit : sparePartAudits) {
sparePartAudit.setIsDelete(GlobalConstant.DELETE); sparePartAudit.setIsDelete(GlobalConstant.DELETE);
sparePartAuditMapper.updateById(sparePartAudit); sparePartAuditMapper.updateById(sparePartAudit);
} }
//新增新编辑备件信息 //新增出入库审核备件信息
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList(); List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
for (SparePartAudit sparePartAudit : sparePartAuditList) { for (SparePartAudit item : sparePartAuditList) {
sparePartAudit.setStockAuditId(model.getId()); SparePart sparePart;
sparePartAuditMapper.insert(sparePartAudit); if (item.getSparePartsId() != null) {
} sparePart = sparePartMapper.findSparePartById(item.getSparePartsId());
} else {
sparePart = sparePartMapper.findSparePartById(item.getId());
}
SparePartAudit sparePartAudit = new SparePartAudit();
BeanUtils.copyProperties(sparePart, sparePartAudit);
BeanUtils.copyProperties(model,sparePartStockAuditParam); sparePartAudit.setId(null);
sparePartAudit.setStockAuditId(orlModel.getId());
sparePartAudit.setSparePartsId(sparePart.getId());
sparePartAudit.setCount(item.getCount());
sparePartAuditMapper.insert(sparePartAudit);//插入备件审核信息
}
//如果是已取消状态编辑改成未审核 //如果是已取消状态编辑改成未审核
if(model.getAuditState() == AuditStateEnum.CANCELED.getStatus()){ if (orlModel.getAuditState() == AuditStateEnum.CANCELED.getStatus()) {
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus()); model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
} }
if (orlModel.getPurchaseStatus() != null && orlModel.getPurchaseStatus() == AuditStateEnum.CANCELED_AUDIT.getStatus()) {
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
}
//已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空 //已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空
if(model.getAuditState() == AuditStateEnum.AUDITED.getStatus() if (orlModel.getAuditState() == AuditStateEnum.AUDITED.getStatus()
&& model.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){ && orlModel.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()) {
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus()); model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
model.setAuditResult(null); model.setAuditResult(null);
} }
if (orlModel.getPurchaseStatus() != null && orlModel.getPurchaseStatus() == AuditStateEnum.AUDITED.getStatus()) {
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
model.setAuditResult(null);
}
sparePartStockAuditMapper.updateById(model); sparePartStockAuditMapper.updateById(model);
} }
/** /**
* *
* *
* @author hcy
* @param id ID * @param id ID
* @author hcy
*/ */
@Override @Override
public void del(Long id) { public void del(Long id) {
@ -364,14 +422,15 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
/** /**
* *
* *
* @author hcy
* @param sparePartStockAuditParam * @param sparePartStockAuditParam
* @author hcy
*/ */
@Override @Override
@Transactional
public void audit(SparePartStockAuditParam sparePartStockAuditParam) { public void audit(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne( SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>() new QueryWrapper<SparePartStockAudit>()
.eq("id", sparePartStockAuditParam.getId()) .eq("id", sparePartStockAuditParam.getId())
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
@ -379,11 +438,11 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
model.setId(sparePartStockAuditParam.getId()); model.setId(sparePartStockAuditParam.getId());
model.setAuditResult(sparePartStockAuditParam.getAuditResult()); // 审核结果0=已通过1=未通过) model.setAuditResult(sparePartStockAuditParam.getAuditResult()); // 审核结果0=已通过1=未通过)
if(sparePartStockAuditParam.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){ if (model.getPurchaseStatus() != null && sparePartStockAuditParam.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()) {
model.setPurchaseStatus(AuditStateEnum.NOTPASSSTATE.getStatus()); //审核未通过 model.setPurchaseStatus(AuditStateEnum.NOT_PASS_STATE.getStatus()); //审核未通过
} }
model.setAuditState(AuditStateEnum.AUDITED.getStatus()); // 审核状态0=未审核1=已审核2=已取消) model.setAuditState(AuditStateEnum.AUDITED.getStatus()); // 审核状态0=未审核1=已审核2=已取消)
model.setAuditTime(System.currentTimeMillis() / 1000); // 审核时间 model.setAuditTime(new Date()); // 审核时间
model.setAuditIdea(sparePartStockAuditParam.getAuditIdea()); // 审核意见 model.setAuditIdea(sparePartStockAuditParam.getAuditIdea()); // 审核意见
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足 // 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
@ -393,8 +452,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("stock_audit_id", model.getId()) .eq("stock_audit_id", model.getId())
.eq("is_delete", 0) .eq("is_delete", 0)
); );
if(model.getReceiptType() == AuditStateEnum.IN_WAREHOUSE.getStatus() if (model.getReceiptType() == AuditStateEnum.IN_WAREHOUSE.getStatus()
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()){ && model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()) {
//已通过审核的入库单 //已通过审核的入库单
//获取备件信息 //获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) { for (SparePartAudit sparePartAudit : stockAuditId) {
@ -406,8 +465,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
sparePart.setQuantity(sparePart.getQuantity() + sparePartAudit.getCount()); sparePart.setQuantity(sparePart.getQuantity() + sparePartAudit.getCount());
sparePartMapper.updateById(sparePart); sparePartMapper.updateById(sparePart);
} }
}else if(model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus() } else if (model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()){ && model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()) {
// 通过审核的出库单 // 通过审核的出库单
//获取备件信息 //获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) { for (SparePartAudit sparePartAudit : stockAuditId) {
@ -417,19 +476,18 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足 // 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if(sparePart.getQuantity() >= sparePartAudit.getCount()){ if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount()); sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
if(model.getPurchaseStatus() != null && model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){ } else {
model.setPurchaseStatus(AuditStateEnum.WAITDELIVER.getStatus()); //审核通过改成待发货
}
}else{
throw new OperateException("备件库存数量不足,请联系客服人员!"); throw new OperateException("备件库存数量不足,请联系客服人员!");
} }
sparePartMapper.updateById(sparePart); sparePartMapper.updateById(sparePart);
} }
if (model.getPurchaseStatus() != null && model.getPurchaseStatus() == AuditStateEnum.CHECK_PENDING.getStatus()) {
}else if(model.getReceiptType() == AuditStateEnum.ALLOT.getStatus() model.setPurchaseStatus(AuditStateEnum.WAITDELIVER.getStatus()); //审核通过改成待发货
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()){ }
} else if (model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()) {
//通过审核的调拨单 //通过审核的调拨单
//获取备件信息 //获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) { for (SparePartAudit sparePartAudit : stockAuditId) {
@ -441,9 +499,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足 // 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if(sparePart.getQuantity() >= sparePartAudit.getCount()){ if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount()); sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
}else{ } else {
throw new OperateException("备件库存数量不足,请联系客服人员!"); throw new OperateException("备件库存数量不足,请联系客服人员!");
} }
sparePartMapper.updateById(sparePart); sparePartMapper.updateById(sparePart);
@ -456,10 +514,10 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
//入库时判断入库仓库是否有该备件,没有就新增新的配件 //入库时判断入库仓库是否有该备件,没有就新增新的配件
if(inSparePart != null){ if (inSparePart != null) {
inSparePart.setQuantity(inSparePart.getQuantity() + sparePartAudit.getCount()); inSparePart.setQuantity(inSparePart.getQuantity() + sparePartAudit.getCount());
sparePartMapper.updateById(inSparePart); sparePartMapper.updateById(inSparePart);
}else{ } else {
SparePart addSparePart = new SparePart(); SparePart addSparePart = new SparePart();
addSparePart.setSparePartsCode(sparePart.getSparePartsCode());//备件编码 addSparePart.setSparePartsCode(sparePart.getSparePartsCode());//备件编码
addSparePart.setSparePartsName(sparePart.getSparePartsName());//备件名称 addSparePart.setSparePartsName(sparePart.getSparePartsName());//备件名称
@ -472,7 +530,19 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
} }
} }
}
//管理员检修单审核不通过
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus() &&
sparePartStockAuditParam.getAuditResult() == AuditStateEnum.NOT_PASS.getStatus()){
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(model.getOrderId());
if(maintenanceOrder != null){
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
maintenanceOrder.setReturnCause(sparePartStockAuditParam.getAuditIdea());
maintenanceOrderMapper.updateById(maintenanceOrder);
}
model.setAuditResult(null); // 审核结果0=已通过1=未通过)
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
} }
sparePartStockAuditMapper.updateById(model); sparePartStockAuditMapper.updateById(model);
@ -481,8 +551,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
/** /**
* *
* *
* @author hcy
* @param id ID * @param id ID
* @author hcy
*/ */
@Override @Override
public void cancelAudit(Integer id) { public void cancelAudit(Integer id) {
@ -493,16 +563,79 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.last("limit 1")); .last("limit 1"));
Assert.notNull(model, "数据不存在!"); Assert.notNull(model, "数据不存在!");
model.setAuditState(AuditStateEnum.CANCELED.getStatus()); //取消审核
if (model.getPurchaseStatus() != null) {
model.setPurchaseStatus(AuditStateEnum.CANCELED_AUDIT.getStatus()); //取消审核
} else {
model.setAuditState(AuditStateEnum.CANCELED.getStatus()); //取消审核
}
sparePartStockAuditMapper.updateById(model);
}
@Override
@Transactional
public void purchaseAudit(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", sparePartStockAuditParam.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
// 配件领用状态 1=未通过2=待管理员审核
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus());
model.setPurchaseIdea(sparePartStockAuditParam.getPurchaseIdea()); // 采购意见
//仓管员检修单审核不通过
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus() &&
sparePartStockAuditParam.getPurchaseStatus() == AuditStateEnum.NOT_PASS_STATE.getStatus()){
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(model.getOrderId());
if(maintenanceOrder != null){
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
maintenanceOrder.setReturnCause(sparePartStockAuditParam.getPurchaseIdea());
maintenanceOrderMapper.updateById(maintenanceOrder);
}
}
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
//获取待审核备件信息
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
new QueryWrapper<SparePartAudit>()
.eq("stock_audit_id", model.getId())
.eq("is_delete", 0)
);
if (model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
&& model.getPurchaseStatus() == AuditStateEnum.CHECK_PENDING.getStatus()) {
// 通过审核的出库单
//获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) {
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("id", sparePartAudit.getSparePartsId())
.eq("is_delete", 0)
.last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
} else {
throw new OperateException("备件库存数量不足,请联系客服人员!");
}
sparePartMapper.updateById(sparePart);
}
}
sparePartStockAuditMapper.updateById(model); sparePartStockAuditMapper.updateById(model);
} }
//库存比对接口,就是每次出入库审核的时候前端都要请求,如果库存不够就不审核了 //库存比对接口,就是每次出入库审核的时候前端都要请求,如果库存不够就不审核了
public void inventoryComparison(Integer id){ @Override
public void inventoryComparison(Integer id) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne( SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>() new QueryWrapper<SparePartStockAudit>()
.eq("id", id) .eq("id", id)
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
@ -515,7 +648,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("stock_audit_id", model.getId()) .eq("stock_audit_id", model.getId())
.eq("is_delete", 0) .eq("is_delete", 0)
); );
if(model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()){ if (model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()) {
// 通过审核的出库单 // 通过审核的出库单
//获取备件信息 //获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) { for (SparePartAudit sparePartAudit : stockAuditId) {
@ -525,13 +658,13 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足 // 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if(sparePart.getQuantity() >= sparePartAudit.getCount()){ if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
}else{ } else {
throw new OperateException(sparePart.getSparePartsName() + "备件库存数量不足,请联系客服人员!"); throw new OperateException(sparePart.getSparePartsName() + "备件库存数量不足,请联系客服人员!");
} }
} }
}else if(model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()){ } else if (model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()) {
//通过审核的调拨单 //通过审核的调拨单
//获取备件信息 //获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) { for (SparePartAudit sparePartAudit : stockAuditId) {
@ -543,8 +676,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足 // 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if(sparePart.getQuantity() >= sparePartAudit.getCount()){ if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
}else{ } else {
throw new OperateException(sparePart.getSparePartsName() + "备件库存数量不足,请联系客服人员!"); throw new OperateException(sparePart.getSparePartsName() + "备件库存数量不足,请联系客服人员!");
} }
@ -577,8 +710,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
); );
if(model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus() if (model.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()
&& model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){ && model.getPurchaseStatus() == AuditStateEnum.CHECK_PENDING.getStatus()) {
// 通过审核的出库单 // 通过审核的出库单
//获取备件信息 //获取备件信息
for (SparePartAudit sparePartAudit : stockAuditId) { for (SparePartAudit sparePartAudit : stockAuditId) {
@ -588,9 +721,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足 // 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
if(sparePart.getQuantity() >= sparePartAudit.getCount()){ if (sparePart.getQuantity() >= sparePartAudit.getCount()) {
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus()); model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
}else{ } else {
throw new OperateException("备件库存数量不足,请联系客服人员!"); throw new OperateException("备件库存数量不足,请联系客服人员!");
} }
sparePartMapper.updateById(sparePart); sparePartMapper.updateById(sparePart);
@ -609,7 +742,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) { public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne( SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>() new QueryWrapper<SparePartStockAudit>()
.eq("id", sparePartStockAuditParam.getId()) .eq("id", sparePartStockAuditParam.getId())
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));
@ -634,7 +767,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
public void receiving(SparePartStockAuditParam sparePartStockAuditParam) { public void receiving(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne( SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>() new QueryWrapper<SparePartStockAudit>()
.eq("id", sparePartStockAuditParam.getId()) .eq("id", sparePartStockAuditParam.getId())
.eq("is_delete", 0) .eq("is_delete", 0)
.last("limit 1")); .last("limit 1"));

View File

@ -56,8 +56,6 @@ public class SparePartStockAuditParam implements Serializable {
// @NotNull(message = "handlingTime参数缺失", groups = {create.class, update.class}) // @NotNull(message = "handlingTime参数缺失", groups = {create.class, update.class})
private Date handlingTime; private Date handlingTime;
//@NotNull(message = "consignee参数缺失", groups = {create.class, update.class}) //@NotNull(message = "consignee参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "consignee参数不能超出255个字符", groups = {create.class, update.class}) @Length(max = 255, message = "consignee参数不能超出255个字符", groups = {create.class, update.class})
private String consignee; private String consignee;
@ -101,4 +99,8 @@ public class SparePartStockAuditParam implements Serializable {
private Integer recipientNumber; //领用数量 private Integer recipientNumber; //领用数量
private Integer purchaseStatus; //配件领用状态0=待审核1=未通过2=待管理员审核3=待发货4=待收货5=已完成) private Integer purchaseStatus; //配件领用状态0=待审核1=未通过2=待管理员审核3=待发货4=待收货5=已完成)
private String purchaseIdea; //采购意见 private String purchaseIdea; //采购意见
private String orderType; // 0-检修工单 1-维修工单
private String createTimeStart; //创建时间
private String createTimeEnd; //创建时间
} }

View File

@ -2,6 +2,7 @@ package com.hcy.admin.vo.order;
import com.hcy.admin.vo.client.EquipmentDetailVo; import com.hcy.admin.vo.client.EquipmentDetailVo;
import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo; import com.hcy.admin.vo.order.repair.MaintenanceRepairDetailVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.entity.client.Equipment; import com.hcy.common.entity.client.Equipment;
import lombok.Data; import lombok.Data;
@ -56,6 +57,7 @@ public class MaintenanceOrderDetailVo implements Serializable {
private String clientPhone; //客户电话 private String clientPhone; //客户电话
private EquipmentDetailVo equipment; //设备信息 private EquipmentDetailVo equipment; //设备信息
private String familiarFaultName; //常见维修结论名称
private String faultName; //故障名称 private String faultName; //故障名称
private String creatorName; // 创建人姓名 private String creatorName; // 创建人姓名
private String receiverName; // 接单人姓名 private String receiverName; // 接单人姓名
@ -63,4 +65,5 @@ public class MaintenanceOrderDetailVo implements Serializable {
private Integer clientType; //维修类型 private Integer clientType; //维修类型
private List<OrderSparePartListVo> sparePartList; // 备件清单 private List<OrderSparePartListVo> sparePartList; // 备件清单
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息 private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
private SparePartStockAuditDetailVo sparePartStockAuditDetailVo; //备件领用申请
} }

View File

@ -26,17 +26,15 @@ public class SparePartStockAuditDetailVo implements Serializable {
private Long warehouseId; // 所属仓库 private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库 private Long importWarehouse; // 调入仓库
private Long exportWarehouse; // 调出仓库 private Long exportWarehouse; // 调出仓库
private Long supplier; // 供应商 private String supplier; // 供应商
private String responsiblePerson; // 经办人
private String handlingTime; // 经办时间
private String consignee; // 收货单位(人员) private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消) private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=已通过1=未通过) private Integer auditResult; // 审核结果0=已通过1=未通过)
private String auditTime; // 审核时间 private Date auditTime; // 审核时间
private String auditIdea; // 审核意见 private String auditIdea; // 审核意见
private String phone; // 联系电话 private String phone; // 联系电话
private String remark; // 备注 private String remark; // 备注
private String sparePartAuditId; // 备件审核id private Integer sparePartAuditId; // 备件审核id
private String warehouseName; // 所属仓库名 private String warehouseName; // 所属仓库名
private String importWarehouseName; // 调入仓库名 private String importWarehouseName; // 调入仓库名
private String exportWarehouseName; // 调出仓库名 private String exportWarehouseName; // 调出仓库名
@ -63,4 +61,5 @@ public class SparePartStockAuditDetailVo implements Serializable {
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件 private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
private List<OrderSparePartListVo> orderSparePartListVoList; //订单配件 private List<OrderSparePartListVo> orderSparePartListVoList; //订单配件
private String recipientAndPhone; //领用员工/联系电话 private String recipientAndPhone; //领用员工/联系电话
private String creator; // 创建人
} }

View File

@ -26,7 +26,6 @@ public class SparePartStockAuditListVo implements Serializable {
private Long exportWarehouse; // 调出仓库 private Long exportWarehouse; // 调出仓库
private String supplier; // 供应商 private String supplier; // 供应商
private String responsiblePerson; // 经办人 private String responsiblePerson; // 经办人
private String handlingTime; // 经办时间
private String consignee; // 收货单位(人员) private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消) private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=已通过1=未通过) private Integer auditResult; // 审核结果0=已通过1=未通过)
@ -41,7 +40,8 @@ public class SparePartStockAuditListVo implements Serializable {
private Integer outInWarehouseType; // 出入库类别0=采购入库1=库存调拨2=员工领料3=销售出库) private Integer outInWarehouseType; // 出入库类别0=采购入库1=库存调拨2=员工领料3=销售出库)
private String workOrderId; //工单号 private String workOrderId; //工单号
private String orderId; //订单编号 private Long orderId; //订单编号
private Integer orderType; // 0-检修工单 1-维修工单
private String shippingAddress; //收货地址 private String shippingAddress; //收货地址
private String consigner; //发货人 private String consigner; //发货人
private String consignerPhone; //发货人联系电话 private String consignerPhone; //发货人联系电话

View File

@ -36,6 +36,7 @@ public class MaintenanceOrderDto implements Serializable {
private Date cancelOrderTime; // 取消订单时间 private Date cancelOrderTime; // 取消订单时间
private String cancelCause; // 取消原因 private String cancelCause; // 取消原因
private String refuseMaintenanceCause; // 拒绝维修原因 private String refuseMaintenanceCause; // 拒绝维修原因
private String returnCause; //退回原因
private String remark; // 备注 private String remark; // 备注
private Long creatorId; // 创建人id private Long creatorId; // 创建人id
private Date orderAccomplishTime; // 订单完成时间 private Date orderAccomplishTime; // 订单完成时间

View File

@ -31,7 +31,7 @@ public class SparePartStockAudit implements Serializable {
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消) private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
@TableField(updateStrategy = FieldStrategy.IGNORED) @TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer auditResult; // 审核结果0=已通过1=未通过) private Integer auditResult; // 审核结果0=已通过1=未通过)
private Long auditTime; // 审核时间 private Date auditTime; // 审核时间
private String auditIdea; // 审核意见 private String auditIdea; // 审核意见
private String phone; // 联系电话 private String phone; // 联系电话
private String remark; // 备注 private String remark; // 备注

View File

@ -14,13 +14,16 @@ public enum AuditStateEnum {
UNREVIEWED(0, "待审核"), UNREVIEWED(0, "待审核"),
AUDITED(1, "已审核"), AUDITED(1, "已审核"),
CANCELED(2,"已取消"), CANCELED(2,"已取消"),
NOTPASSSTATE(1, "未通过"),
CHECKPENDING(2, "待管理员审核"),
NOT_PASS_STATE(1, "未通过"),
CHECK_PENDING(2, "待管理员审核"),
WAITDELIVER(3, "待发货"), WAITDELIVER(3, "待发货"),
WAITFORRECEIVING(4, "待收货"), WAITFORRECEIVING(4, "待收货"),
DONE(5, "已完成"), DONE(5, "已完成"),
FILLINGOUT(6, "填写中"), FILLING_OUT(6, "填写中"),
OVERDUE(7, "收货超期"), OVERDUE(7, "收货超期"),
CANCELED_AUDIT(8, "已取消"),
//审核结果0=已通过1=未通过) //审核结果0=已通过1=未通过)
NOT_PASS(1,"未通过"), NOT_PASS(1,"未通过"),

View File

@ -15,6 +15,9 @@ import java.util.List;
@Mapper @Mapper
public interface SparePartAuditMapper extends IBaseMapper<SparePartAudit> { public interface SparePartAuditMapper extends IBaseMapper<SparePartAudit> {
@Select("select * from la_spare_part_audit where stock_audit_id = #{id}") @Select("select * from la_spare_part_audit where is_delete = 0 and stock_audit_id = #{id}")
List<SparePartAudit> findSparePartAuditByStockAuditId(@Param("id") Long id); List<SparePartAudit> findSparePartAuditByStockAuditId(@Param("id") Long id);
@Select("select * from la_spare_part_audit where is_delete = 0 and id = #{id}")
SparePartAudit findSparePartAuditById(@Param("id") Long id);
} }

View File

@ -24,4 +24,12 @@ public interface SparePartStockAuditMapper extends IBaseMapper<SparePartStockAud
*/ */
@Select("select * from la_spare_part_stock_audit where is_delete = 0 and id = #{id}") @Select("select * from la_spare_part_stock_audit where is_delete = 0 and id = #{id}")
SparePartStockAudit findSparePartStockAuditById(@Param("id") Long id); SparePartStockAudit findSparePartStockAuditById(@Param("id") Long id);
/**
* orderId
* @param orderId id
* @return SparePartStockAudit
*/
@Select("select * from la_spare_part_stock_audit where is_delete = 0 and order_type = 0 and order_id = #{orderId}")
SparePartStockAudit findSparePartStockAuditByOrderId(@Param("orderId") Long orderId);
} }

View File

@ -170,6 +170,17 @@ public class MaintenanceOrderController {
return AjaxResult.success(); return AjaxResult.success();
} }
/**
*
* @param maintenanceOrderParam
* @return Object
*/
@PostMapping("/confirmReceipt")
public Object confirmReceipt(@RequestBody MaintenanceOrderParam maintenanceOrderParam) {
iMaintenanceOrderService.confirmReceipt(maintenanceOrderParam);
return AjaxResult.success();
}
/** /**
* *
* @return Object * @return Object

View File

@ -63,7 +63,7 @@ public interface IMaintenanceOrderService {
MaintenanceOrderDetailVo getMaintenanceOrderDetail(String modelNo); MaintenanceOrderDetailVo getMaintenanceOrderDetail(String modelNo);
/** /**
* 退 *
* @param maintenanceOrderParam * @param maintenanceOrderParam
*/ */
void serviceOfferPrice(MaintenanceOrderParam maintenanceOrderParam); void serviceOfferPrice(MaintenanceOrderParam maintenanceOrderParam);
@ -98,6 +98,12 @@ public interface IMaintenanceOrderService {
*/ */
void oldModuleRepair(MaintenanceOrderParam maintenanceOrderParam); void oldModuleRepair(MaintenanceOrderParam maintenanceOrderParam);
/**
*
* @param maintenanceOrderParam
*/
void confirmReceipt(MaintenanceOrderParam maintenanceOrderParam);
/** /**
* *
* @return * @return

View File

@ -50,6 +50,11 @@ import com.hcy.front.validate.warehouse.SparePartParam;
import com.hcy.front.vo.client.EquipmentDetailVo; import com.hcy.front.vo.client.EquipmentDetailVo;
import com.hcy.front.vo.client.EquipmentModelDetailVo; import com.hcy.front.vo.client.EquipmentModelDetailVo;
import com.hcy.front.vo.order.*; import com.hcy.front.vo.order.*;
import com.hcy.front.vo.order.MaintenanceOrderDetailVo;
import com.hcy.front.vo.order.MaintenanceOrderListVo;
import com.hcy.front.vo.order.MaintenanceRepairDetailVo;
import com.hcy.front.vo.order.OrderSparePartListVo;
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -127,7 +132,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus());
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD()); MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
model.setOrderNo(OrderUtil.getOrderNo(lastmMaintenanceOrder.getOrderNo())); model.setOrderNo(OrderUtil.getOrderNo(lastmMaintenanceOrder == null ? "" :lastmMaintenanceOrder.getOrderNo()));
model.setCreatorId(FrontThreadLocal.getUserId().longValue()); model.setCreatorId(FrontThreadLocal.getUserId().longValue());
maintenanceOrderMapper.insert(model); maintenanceOrderMapper.insert(model);
@ -249,6 +254,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
vo.setMaintenanceRepair(maintenanceRepairDetailVo); vo.setMaintenanceRepair(maintenanceRepairDetailVo);
} }
//设置备件领用信息
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(item.getId());
if(sparePartStockAudit != null){
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
}
returnData.add(vo); returnData.add(vo);
} }
@ -412,6 +425,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
vo.setMaintenanceRepair(maintenanceRepairDetailVo); vo.setMaintenanceRepair(maintenanceRepairDetailVo);
} }
//设置备件领用信息
SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId());
if(sparePartStockAudit != null){
SparePartStockAuditDetailVo sparePartStockAuditDetailVo = new SparePartStockAuditDetailVo();
BeanUtils.copyProperties(sparePartStockAudit,sparePartStockAuditDetailVo);
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
}
return vo; return vo;
} }
@ -441,6 +462,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
//判断当前客户是全包还是半包 //判断当前客户是全包还是半包
if(client.getClientType() == ClientStatusEnum.PLIE_POINT_ALL_WRAPPED.getStatus()){ if(client.getClientType() == ClientStatusEnum.PLIE_POINT_ALL_WRAPPED.getStatus()){
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus()); maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
}else{ }else{
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus()); maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus());
} }
@ -528,28 +550,39 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
maintenanceOrderMapper.updateById(maintenanceOrder); maintenanceOrderMapper.updateById(maintenanceOrder);
}else{ }else{
User user = userMapper.selectById(FrontThreadLocal.getUserId()); User user = userMapper.selectById(FrontThreadLocal.getUserId());
UserAddress userAddress = userAddressMapper.findUserAddressById(maintenanceOrderParam.getAddressId());
SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD()); SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId());
SparePartStockAudit sparePartStockAudit = new SparePartStockAudit(); if(resultSps != null){
sparePartStockAudit.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit.getReceiptNumber())); //已有领取记录但被拒绝则重新审核
sparePartStockAudit.setOrderId(maintenanceOrderParam.getId()); resultSps.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
sparePartStockAudit.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()); resultSps.setCreateTime(new Date());
sparePartStockAudit.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus()); sparePartStockAuditMapper.updateById(resultSps);
sparePartStockAudit.setOutInWarehouseType(AuditStateEnum.STAFF_MATERIALS.getStatus()); }else{
sparePartStockAudit.setConsignee(user.getUsername()); //没领过配件则创建新的领用单
sparePartStockAudit.setPhone(user.getMobile()); SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD());
sparePartStockAudit.setCreatorId(FrontThreadLocal.getUserId()); SparePartStockAudit sparePartStockAudit = new SparePartStockAudit();
//获取检修员选择地址 sparePartStockAudit.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit == null ? "" :lastSparePartStockAudit.getReceiptNumber()));
Map<Long, String> regionMap = regionService.getRegionMap(); sparePartStockAudit.setOrderId(maintenanceOrderParam.getId());
sparePartStockAudit.setShippingAddress(regionMap.get(userAddress.getProvinceId()) + sparePartStockAudit.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
regionMap.get(userAddress.getCityId()) + sparePartStockAudit.setReceiptType(AuditStateEnum.OUT_WAREHOUSE.getStatus());
regionMap.get(userAddress.getDistrictId()) + sparePartStockAudit.setOutInWarehouseType(AuditStateEnum.STAFF_MATERIALS.getStatus());
userAddress.getAddress()); sparePartStockAudit.setConsignee(user.getUsername());
sparePartStockAudit.setDeliveryMethod(maintenanceOrderParam.getDeliveryMethod()); sparePartStockAudit.setPhone(user.getMobile());
sparePartStockAudit.setRemark(maintenanceOrderParam.getRemark()); sparePartStockAudit.setCreatorId(FrontThreadLocal.getUserId());
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
sparePartStockAuditMapper.insert(sparePartStockAudit); //获取检修员选择地址
if(maintenanceOrderParam.getAddressId() != null){
UserAddress userAddress = userAddressMapper.findUserAddressById(maintenanceOrderParam.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(maintenanceOrderParam.getDeliveryMethod());
sparePartStockAudit.setRemark(maintenanceOrderParam.getRemark());
sparePartStockAuditMapper.insert(sparePartStockAudit);
}
} }
} }
@ -624,6 +657,30 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
} }
} }
@Override
@Transactional
public void confirmReceipt(MaintenanceOrderParam maintenanceOrderParam) {
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
Assert.notNull(maintenanceOrder, "数据不存在");
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId());
if(resultSps != null){
if(resultSps.getPurchaseStatus() == AuditStateEnum.WAITFORRECEIVING.getStatus()){
//确认收货后可进行填写回单操作
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
maintenanceOrderMapper.updateById(maintenanceOrder);
//将对应的配件领用订单改成已完成
resultSps.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
sparePartStockAuditMapper.updateById(resultSps);
}else{
throw new OperateException("当前订单状态无法进行确认收货");
}
}else{
throw new OperateException("配件领用订单未生成,不可进行确认收货");
}
}
/** /**
* *
* *

View File

@ -3,7 +3,9 @@ package com.hcy.front.vo.order;
import com.hcy.common.entity.client.Equipment; import com.hcy.common.entity.client.Equipment;
import com.hcy.common.entity.client.EquipmentModel; import com.hcy.common.entity.client.EquipmentModel;
import com.hcy.common.entity.order.repair.MaintenanceRepair; import com.hcy.common.entity.order.repair.MaintenanceRepair;
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
import com.hcy.front.vo.client.EquipmentModelDetailVo; import com.hcy.front.vo.client.EquipmentModelDetailVo;
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -63,6 +65,7 @@ public class MaintenanceOrderDetailVo implements Serializable {
private List<OrderSparePartListVo> sparePartList; // 备件清单 private List<OrderSparePartListVo> sparePartList; // 备件清单
private EquipmentModelDetailVo equipmentModel; //设备模块信息 private EquipmentModelDetailVo equipmentModel; //设备模块信息
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息 private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
private String completeImg; // 完工照片 private String completeImg; // 完工照片
} }

View File

@ -1,6 +1,7 @@
package com.hcy.front.vo.order; package com.hcy.front.vo.order;
import com.hcy.common.entity.order.repair.MaintenanceRepair; import com.hcy.common.entity.order.repair.MaintenanceRepair;
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -60,6 +61,7 @@ public class MaintenanceOrderListVo implements Serializable {
private String creatorName; // 创建人姓名 private String creatorName; // 创建人姓名
private String receiverName; // 接单人姓名 private String receiverName; // 接单人姓名
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息 private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
private Integer pendingOrderCount; // 待接单数量 private Integer pendingOrderCount; // 待接单数量
private Integer checkingCount; // 检测中数量 private Integer checkingCount; // 检测中数量

View File

@ -0,0 +1,59 @@
package com.hcy.front.vo.sparePartStockAudit;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* SparePartStockAuditVo
*/
@Data
public class SparePartStockAuditDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private String receiptNumber; // 单据编号
private Long orderId; //订单编
private Integer receiptType; // 单据类型0=入库单1=出库单2=仓库调拨单)
private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库
private Long exportWarehouse; // 调出仓库
private String supplier; // 供应商
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private Date auditTime; // 审核时间
private String auditIdea; // 审核意见
private String phone; // 联系电话
private String remark; // 备注
private Integer sparePartAuditId; // 备件审核id
private String warehouseName; // 所属仓库名
private String importWarehouseName; // 调入仓库名
private String exportWarehouseName; // 调出仓库名
private Integer outInWarehouseType; // 出入库类别0=采购入库1=库存调拨2=员工领料3=销售出库)
private String supplierPhone; // 供应商/电话
private String consigneePhone; // 收货单位(人员)/电话
private String workOrderId; //工单号
private String shippingAddress; //收货地址
private String consigner; //发货人
private String consignerPhone; //发货人联系电话
private String shipAddress; //发货地址
private String logisticsCompany; //物流公司
private String trackingNumber; //物流编号
private Integer deliveryMethod; //配送方式0=物流快递1=上门取件2=送货上门)
private BigDecimal salesPrice; //销售价
private String recipient; //领用员工
private String recipientPhone; //领用员工联系电话
private Integer recipientNumber; //领用数量
private Integer purchaseStatus; //配件领用状态0=待审核1=未通过2=待管理员审核3=待发货4=待收货5=已完成)
private Date createTime; // 创建时间
private Integer orderType; // 0-检修工单 1-维修工单
private String workOrderNo; //工单号
private String recipientAndPhone; //领用员工/联系电话
private String creator; // 创建人
}

View File

@ -0,0 +1,57 @@
package com.hcy.front.vo.sparePartStockAudit;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* SparePartStockAuditVo
*/
@Data
public class SparePartStockAuditListVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private String receiptNumber; // 单据编号
private Integer receiptType; // 单据类型0=入库单1=出库单2=仓库调拨单)
private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库
private Long exportWarehouse; // 调出仓库
private String supplier; // 供应商
private String responsiblePerson; // 经办人
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private Date auditTime; // 审核时间
private Date createTime; // 创建时间
private Date updateTime; // 更新时间
private String sparePartAuditId; // 备件审核id
private String consigneePhone; // 收货单位(人员)/电话
private String warehouseName; // 所属仓库名
private String importWarehouseName; // 调入仓库名
private String exportWarehouseName; // 调出仓库名
private Integer outInWarehouseType; // 出入库类别0=采购入库1=库存调拨2=员工领料3=销售出库)
private String workOrderId; //工单号
private String orderId; //订单编号
private String shippingAddress; //收货地址
private String consigner; //发货人
private String consignerPhone; //发货人联系电话
private String shipAddress; //发货地址
private String logisticsCompany; //物流公司
private String trackingNumber; //物流编号
private Integer deliveryMethod; //配送方式0=物流快递1=上门取件2=送货上门)
private BigDecimal salesPrice; //销售价
private String recipient; //领用员工
private String recipientPhone; //领用员工联系电话
private Integer recipientNumber; //领用数量
private Integer purchaseStatus; //配件领用状态0=待审核1=未通过2=待管理员审核3=待发货4=待收货5=已完成)
private String workOrderNo; //工单号
private String recipientAndPhone; //领用员工/联系电话
private String supplierPhone; // 供应商/电话
private String creator; // 创建人
}