【admin&front】新增&修复# 1.新增巡检单操作记录 2.修复admin和front若干bug
parent
086186df8d
commit
54bf366470
|
@ -293,9 +293,9 @@ public class ClientContactsServiceImpl implements IClientContactsService {
|
||||||
User user = userMapper.selectById(model.getUserId());
|
User user = userMapper.selectById(model.getUserId());
|
||||||
if(user != null){
|
if(user != null){
|
||||||
user.setIsDisable(clientContactsParam.getStatus());
|
user.setIsDisable(clientContactsParam.getStatus());
|
||||||
|
userMapper.updateById(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
userMapper.updateById(user);
|
|
||||||
systemAuthAdminMapper.updateById(systemAuthAdmin);
|
systemAuthAdminMapper.updateById(systemAuthAdmin);
|
||||||
clientContactsMapper.updateById(model);
|
clientContactsMapper.updateById(model);
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,8 +105,10 @@ public class EquipmentServiceImpl implements IEquipmentService {
|
||||||
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
||||||
|
|
||||||
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
||||||
|
if(insetallUser != null){
|
||||||
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//设置设备模块信息
|
//设置设备模块信息
|
||||||
vo.setEquipmentModel(equipmentModelDetailVo);
|
vo.setEquipmentModel(equipmentModelDetailVo);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,128 @@
|
||||||
|
package com.hcy.admin.service.crontab.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||||
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
|
import com.hcy.common.entity.configuration.SystemConfiguration;
|
||||||
|
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.sparePartStockAudit.SparePartStockAudit;
|
||||||
|
import com.hcy.common.enums.OrderStatusEnum;
|
||||||
|
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||||
|
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||||
|
import com.hcy.common.enums.order.OrderStateEnum;
|
||||||
|
import com.hcy.common.mapper.configuration.SystemConfigurationMapper;
|
||||||
|
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||||
|
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||||
|
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||||
|
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单定时任务
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service(value = "order")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public class OrderCrontab {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
MaintenanceOrderMapper maintenanceOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
SystemConfigurationMapper systemConfigurationMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RoutingInspectionOrderMapper routingInspectionOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RepairOrderMapper repairOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||||
|
|
||||||
|
private void orderTimeOut(){
|
||||||
|
SystemConfiguration systemConfiguration = systemConfigurationMapper.selectById(1);
|
||||||
|
//检修单和巡检单超时时间
|
||||||
|
Integer repairerAutoOrderTime = systemConfiguration.getRepairerAutoOrderTime();
|
||||||
|
//维修单超时时间
|
||||||
|
Integer maintenanceAutoOrderTime = systemConfiguration.getMaintenanceAutoOrderTime();
|
||||||
|
//获取当前时间
|
||||||
|
Calendar currentTime = Calendar.getInstance();
|
||||||
|
|
||||||
|
//检修单
|
||||||
|
LambdaQueryWrapper<MaintenanceOrder> maintenanceOrderQw = new LambdaQueryWrapper<MaintenanceOrder>()
|
||||||
|
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
|
.eq(MaintenanceOrder::getOrderStatus, MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
|
||||||
|
List<MaintenanceOrder> maintenanceOrders = maintenanceOrderMapper.selectList(maintenanceOrderQw);
|
||||||
|
for (MaintenanceOrder item : maintenanceOrders) {
|
||||||
|
Calendar orderCreateTime = Calendar.getInstance();
|
||||||
|
orderCreateTime.setTime(item.getCreateTime());
|
||||||
|
orderCreateTime.add(Calendar.MINUTE, repairerAutoOrderTime);
|
||||||
|
|
||||||
|
if(currentTime.compareTo(orderCreateTime) > 0){
|
||||||
|
item.setOrderStatus(MaintenanceOrderStatusEnum.ORDER_TIMEOUT.getStatus());
|
||||||
|
maintenanceOrderMapper.updateById(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//巡检单
|
||||||
|
LambdaQueryWrapper<RoutingInspectionOrder> routingInspectionOrderQw = new LambdaQueryWrapper<RoutingInspectionOrder>()
|
||||||
|
.eq(RoutingInspectionOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
|
.eq(RoutingInspectionOrder::getOrderStatus, OrderStateEnum.PENDING_ORDER.getStatus());
|
||||||
|
List<RoutingInspectionOrder> routingInspectionOrders = routingInspectionOrderMapper.selectList(routingInspectionOrderQw);
|
||||||
|
for (RoutingInspectionOrder item : routingInspectionOrders) {
|
||||||
|
Calendar orderCreateTime = Calendar.getInstance();
|
||||||
|
orderCreateTime.setTime(item.getCreateTime());
|
||||||
|
orderCreateTime.add(Calendar.MINUTE, repairerAutoOrderTime);
|
||||||
|
|
||||||
|
if(currentTime.compareTo(orderCreateTime) > 0){
|
||||||
|
item.setOrderStatus(OrderStateEnum.ORDER_TIMEOUT.getStatus());
|
||||||
|
routingInspectionOrderMapper.updateById(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//维修单
|
||||||
|
LambdaQueryWrapper<RepairOrder> repairOrderQw = new LambdaQueryWrapper<RepairOrder>()
|
||||||
|
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
|
.eq(RepairOrder::getOrderStatus, OrderStateEnum.PENDING_ORDER.getStatus());
|
||||||
|
List<RepairOrder> repairOrders = repairOrderMapper.selectList(repairOrderQw);
|
||||||
|
for (RepairOrder item : repairOrders) {
|
||||||
|
Calendar orderCreateTime = Calendar.getInstance();
|
||||||
|
orderCreateTime.setTime(item.getCreateTime());
|
||||||
|
orderCreateTime.add(Calendar.MINUTE, maintenanceAutoOrderTime);
|
||||||
|
|
||||||
|
if(currentTime.compareTo(orderCreateTime) > 0){
|
||||||
|
item.setOrderStatus(OrderStateEnum.ORDER_TIMEOUT.getStatus());
|
||||||
|
repairOrderMapper.updateById(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//配件采购收货超时
|
||||||
|
LambdaQueryWrapper<SparePartStockAudit> sparePartStockAuditQw = new LambdaQueryWrapper<SparePartStockAudit>()
|
||||||
|
.eq(SparePartStockAudit::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
|
.eq(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.WAIT_FOR_RECEIVING.getStatus());
|
||||||
|
List<SparePartStockAudit> sparePartStockAudits = sparePartStockAuditMapper.selectList(sparePartStockAuditQw);
|
||||||
|
for (SparePartStockAudit item : sparePartStockAudits) {
|
||||||
|
Calendar orderConsignerTime = Calendar.getInstance();
|
||||||
|
orderConsignerTime.setTime(item.getConsignerTime());
|
||||||
|
orderConsignerTime.add(Calendar.DAY_OF_YEAR, 7);
|
||||||
|
|
||||||
|
if(currentTime.compareTo(orderConsignerTime) > 0){
|
||||||
|
item.setPurchaseStatus(AuditStateEnum.OVERDUE.getStatus());
|
||||||
|
sparePartStockAuditMapper.updateById(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//巡检周期
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,111 +0,0 @@
|
||||||
package com.hcy.admin.service.crontab.impl.distributor;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.github.binarywang.wxpay.bean.merchanttransfer.DetailsQueryResult;
|
|
||||||
import com.github.binarywang.wxpay.bean.merchanttransfer.MerchantDetailsQueryRequest;
|
|
||||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
|
||||||
import com.github.binarywang.wxpay.service.MerchantTransferService;
|
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
|
||||||
import com.hcy.common.entity.distribution.Distributor;
|
|
||||||
import com.hcy.common.entity.distribution.DistributorCommission;
|
|
||||||
import com.hcy.common.entity.distribution.WithdrawCommission;
|
|
||||||
import com.hcy.common.entity.staff.Staff;
|
|
||||||
import com.hcy.common.enums.PayChannelEnum;
|
|
||||||
import com.hcy.common.enums.distributor.DistributorCommissionStatusEnum;
|
|
||||||
import com.hcy.common.enums.distributor.DistributorWithdrawResultEnum;
|
|
||||||
import com.hcy.common.enums.distributor.DistributorWithdrawStatusEnum;
|
|
||||||
import com.hcy.common.mapper.distribution.DistributorCommissionMapper;
|
|
||||||
import com.hcy.common.mapper.distribution.DistributorMapper;
|
|
||||||
import com.hcy.common.mapper.common.WithdrawCommissionMapper;
|
|
||||||
import com.hcy.common.mapper.staff.StaffMapper;
|
|
||||||
import com.hcy.common.utils.TimeUtil;
|
|
||||||
import com.hcy.common.utils.WxPayServiceUtils;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Service(value = "distributor")
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public class DistributorCrontab {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
DistributorCommissionMapper distributorCommissionMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
DistributorMapper distributorMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
WithdrawCommissionMapper distributorWithdrawMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
StaffMapper staffMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解冻佣金
|
|
||||||
*/
|
|
||||||
public void unfreezingCommission(){
|
|
||||||
log.info("解冻分销商佣金");
|
|
||||||
//获取所有待解冻的佣金
|
|
||||||
QueryWrapper<DistributorCommission> distributorCommissionQueryWrapper = new QueryWrapper<>();
|
|
||||||
distributorCommissionQueryWrapper.eq("is_delete", GlobalConstant.NOT_DELETE);
|
|
||||||
distributorCommissionQueryWrapper.eq("status", DistributorCommissionStatusEnum.FREEZE.getCode());
|
|
||||||
List<DistributorCommission> distributorCommissions = distributorCommissionMapper.selectList(distributorCommissionQueryWrapper);
|
|
||||||
|
|
||||||
for (DistributorCommission item : distributorCommissions) {
|
|
||||||
QueryWrapper<Distributor> distributorQueryWrapper = new QueryWrapper<>();
|
|
||||||
distributorQueryWrapper.eq("id",item.getDistributorId());
|
|
||||||
Distributor distributor = distributorMapper.selectOne(distributorQueryWrapper);
|
|
||||||
//解冻佣金相加
|
|
||||||
distributor.setCanWithdrawCommission(distributor.getCanWithdrawCommission().add(item.getCommission()));
|
|
||||||
distributorMapper.updateById(distributor);
|
|
||||||
//修改解冻状态为已解冻
|
|
||||||
item.setStatus(DistributorCommissionStatusEnum.MAY_WITHDRAW.getCode());
|
|
||||||
distributorCommissionMapper.updateById(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public void checkDistributorWithdraw(){
|
|
||||||
List<WithdrawCommission> distributorWithdraws = distributorWithdrawMapper.selectList(new LambdaQueryWrapper<WithdrawCommission>()
|
|
||||||
.eq(WithdrawCommission::getStatus, DistributorWithdrawStatusEnum.WITHDRAW.getStatus()));
|
|
||||||
if(distributorWithdraws.isEmpty()){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
log.info("处理佣金提现结果");
|
|
||||||
MerchantTransferService merchantTransferService = WxPayServiceUtils.wxPayService(PayChannelEnum.MP_CHANNEL.getCode()).getMerchantTransferService();
|
|
||||||
for (WithdrawCommission item : distributorWithdraws) {
|
|
||||||
MerchantDetailsQueryRequest merchantDetailsQueryRequest = new MerchantDetailsQueryRequest();
|
|
||||||
merchantDetailsQueryRequest.setOutBatchNo(item.getSn());
|
|
||||||
merchantDetailsQueryRequest.setOutDetailNo(item.getDetailSn());
|
|
||||||
try {
|
|
||||||
DetailsQueryResult detailsQueryResult = merchantTransferService.queryMerchantDetails(merchantDetailsQueryRequest);
|
|
||||||
if(DistributorWithdrawResultEnum.FAIL.getStatus().equals(detailsQueryResult.getDetailStatus())){
|
|
||||||
//判断当前提现记录是分销商还师傅的
|
|
||||||
if(item.getDistributorId() != null){
|
|
||||||
Distributor distributor = distributorMapper.queryDistributorById(item.getDistributorId());
|
|
||||||
distributor.setCanWithdrawCommission(distributor.getCanWithdrawCommission().add(item.getWithdrawMoney()));
|
|
||||||
distributorMapper.updateById(distributor);
|
|
||||||
}else{
|
|
||||||
Staff staff = staffMapper.findStaffById(item.getStaffId());
|
|
||||||
staff.setCanWithdrawCommission(staff.getCanWithdrawCommission().add(item.getWithdrawMoney()));
|
|
||||||
staffMapper.updateById(staff);
|
|
||||||
}
|
|
||||||
item.setStatus(DistributorWithdrawStatusEnum.WITHDRAW_FAIL.getStatus());
|
|
||||||
item.setFailReason(detailsQueryResult.getFailReason());
|
|
||||||
distributorWithdrawMapper.updateById(item);
|
|
||||||
}else{
|
|
||||||
item.setUpdateTime(TimeUtil.parseStrToDate(detailsQueryResult.getUpdateTime()));
|
|
||||||
item.setStatus(DistributorWithdrawStatusEnum.WITHDRAW_SUCCESS.getStatus());
|
|
||||||
distributorWithdrawMapper.updateById(item);
|
|
||||||
}
|
|
||||||
}catch (WxPayException e){
|
|
||||||
log.info(e.getErrCodeDes());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,174 +0,0 @@
|
||||||
package com.hcy.admin.service.crontab.impl.staff;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.hcy.admin.service.comment.IGoodsCommentService;
|
|
||||||
import com.hcy.admin.service.log.IOrderLogService;
|
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
|
||||||
import com.hcy.common.dto.OrderDto;
|
|
||||||
import com.hcy.common.entity.comment.GoodsComment;
|
|
||||||
import com.hcy.common.entity.log.OrderLog;
|
|
||||||
import com.hcy.common.entity.order.Order;
|
|
||||||
import com.hcy.common.entity.staff.Staff;
|
|
||||||
import com.hcy.common.entity.staff.StaffCommission;
|
|
||||||
import com.hcy.common.enums.*;
|
|
||||||
import com.hcy.common.enums.distributor.DistributorCommissionStatusEnum;
|
|
||||||
import com.hcy.common.enums.staff.StaffCommissionStatusEnum;
|
|
||||||
import com.hcy.common.enums.staff.StaffEnum;
|
|
||||||
import com.hcy.common.enums.staff.StaffStatusEnum;
|
|
||||||
import com.hcy.common.mapper.comment.GoodsCommentMapper;
|
|
||||||
import com.hcy.common.mapper.order.OrderMapper;
|
|
||||||
import com.hcy.common.mapper.staff.StaffCommissionMapper;
|
|
||||||
import com.hcy.common.mapper.staff.StaffMapper;
|
|
||||||
import com.hcy.common.utils.SnUtils;
|
|
||||||
import com.hcy.common.utils.TimeUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.math.RoundingMode;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Service(value = "staff")
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public class StaffCrontab {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
OrderMapper orderMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
GoodsCommentMapper goodsCommentMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
StaffMapper staffMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
StaffCommissionMapper staffCommissionMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
IGoodsCommentService goodsCommentService;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
IOrderLogService orderLogService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 系统自动评分和师傅计算平均分
|
|
||||||
*/
|
|
||||||
public void systemAutoScoreAndCalculateScore(){
|
|
||||||
log.info("系统自动评分");
|
|
||||||
List<OrderDto> noCommentOrder = orderMapper.getNoCommentOrder();
|
|
||||||
for (OrderDto item : noCommentOrder) {
|
|
||||||
//新增评分 默认五星好评
|
|
||||||
GoodsComment goodsComment = new GoodsComment();
|
|
||||||
goodsComment.setGoodsId(item.getGoodsId());
|
|
||||||
goodsComment.setUserId(item.getUserId());
|
|
||||||
goodsComment.setOrderGoodsId(item.getOrderGoodsId());
|
|
||||||
goodsComment.setStaffId(item.getStaffId());
|
|
||||||
goodsComment.setCustomerServiceAppraise(5);
|
|
||||||
goodsComment.setCommentLevel(GoodsCommentLevelEnum.GOOD_COMMENT.getCode());
|
|
||||||
goodsComment.setCreateTime(TimeUtil.timestamp());
|
|
||||||
goodsCommentMapper.insert(goodsComment);
|
|
||||||
}
|
|
||||||
|
|
||||||
log.info("计算师傅平均分");
|
|
||||||
//计算师傅平均分
|
|
||||||
List<Staff> staffList = staffMapper.selectList(new QueryWrapper<Staff>()
|
|
||||||
.eq("is_delete", GlobalConstant.NOT_DELETE));
|
|
||||||
for (Staff staff : staffList) {
|
|
||||||
if(staff != null){
|
|
||||||
goodsCommentService.calculateStaffScore(staff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解冻师傅佣金
|
|
||||||
*/
|
|
||||||
@Transactional
|
|
||||||
public void unfreezingCommission(){
|
|
||||||
log.info("解冻师傅佣金");
|
|
||||||
//获取所有待解冻的佣金
|
|
||||||
QueryWrapper<StaffCommission> staffCommissionQueryWrapper = new QueryWrapper<>();
|
|
||||||
staffCommissionQueryWrapper.eq("is_delete", GlobalConstant.NOT_DELETE);
|
|
||||||
staffCommissionQueryWrapper.eq("status", StaffCommissionStatusEnum.FREEZE.getCode());
|
|
||||||
List<StaffCommission> staffCommissions = staffCommissionMapper.selectList(staffCommissionQueryWrapper);
|
|
||||||
|
|
||||||
for (StaffCommission item : staffCommissions) {
|
|
||||||
QueryWrapper<Staff> staffQueryWrapper = new QueryWrapper<>();
|
|
||||||
staffQueryWrapper.eq("id",item.getStaffId());
|
|
||||||
Staff staff = staffMapper.selectOne(staffQueryWrapper);
|
|
||||||
if(staff != null){
|
|
||||||
//解冻佣金相加
|
|
||||||
staff.setCanWithdrawCommission(staff.getCanWithdrawCommission().add(item.getCommission()));
|
|
||||||
staffMapper.updateById(staff);
|
|
||||||
//修改解冻状态为已解冻
|
|
||||||
item.setStatus(DistributorCommissionStatusEnum.MAY_WITHDRAW.getCode());
|
|
||||||
staffCommissionMapper.updateById(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 师傅自动确认服务
|
|
||||||
*/
|
|
||||||
public void staffAutoConfirmService(){
|
|
||||||
List<Order> orderList = orderMapper.selectList(new LambdaQueryWrapper<Order>()
|
|
||||||
.eq(Order::getIsDelete, GlobalConstant.NOT_DELETE)
|
|
||||||
.eq(Order::getOrderStatus, OrderStatusEnum.RESERVE.getStatus()));
|
|
||||||
for (Order item : orderList) {
|
|
||||||
//当前时间大于等于服务时间就自动开始服务
|
|
||||||
if(TimeUtil.timestamp() >= item.getAppointTimeStart()){
|
|
||||||
item.setOrderStatus(OrderStatusEnum.SERVICING.getStatus());
|
|
||||||
item.setVerificationStatus(OrderVerificationStatusEnum.WAIT_VERIFICATION.getStatus());
|
|
||||||
item.setVerificationCode(SnUtils.get6RandomCode());
|
|
||||||
item.setUpdateTime(TimeUtil.timestamp());
|
|
||||||
orderMapper.updateById(item);
|
|
||||||
orderLogService.saveOrderLog(item.getId(), item.getStaffId(), OrderLogEnum.STAFF_AUTO_CONFIRM_ORDER.getDesc());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自动派单
|
|
||||||
*/
|
|
||||||
public void autoSendOrders(){
|
|
||||||
//查询出15分钟前未指派师傅的订单
|
|
||||||
List<Order> orderList = orderMapper.selectList(new LambdaQueryWrapper<Order>()
|
|
||||||
.eq(Order::getIsDispatch, OrderDispatchEnum.NOT_DISPATCH.getStatus())
|
|
||||||
.eq(Order::getOrderStatus, OrderStatusEnum.RESERVE.getStatus())
|
|
||||||
.eq(Order::getIsDelete, GlobalConstant.NOT_DELETE)
|
|
||||||
.apply("create_time <= UNIX_TIMESTAMP() - 15 * 60"));
|
|
||||||
|
|
||||||
//查询正在上班中的营运师傅
|
|
||||||
List<Staff> staffList = staffMapper.selectList(new LambdaQueryWrapper<Staff>()
|
|
||||||
.eq(Staff::getIsOperational, StaffStatusEnum.OPERATIONAL_STAFF.getCode())
|
|
||||||
.eq(Staff::getIsReceiveOrder, StaffStatusEnum.ORDER_AVAILABLE.getCode())
|
|
||||||
.eq(Staff::getIsDelete, GlobalConstant.NOT_DELETE)
|
|
||||||
.apply("DATE_FORMAT(NOW(), '%H:%i') BETWEEN work_start_time AND work_end_time")
|
|
||||||
.orderByDesc(Staff::getId));
|
|
||||||
|
|
||||||
if (!staffList.isEmpty()) { //检查列表是否为空,以避免异常
|
|
||||||
log.info("系统自动派单");
|
|
||||||
// 生成 Random 随机数对象
|
|
||||||
Random random = new Random();
|
|
||||||
for (Order order : orderList) {
|
|
||||||
// 根据师傅的数量生成随机整数
|
|
||||||
int number = random.nextInt(staffList.size());
|
|
||||||
// 随机指派师傅
|
|
||||||
Staff staff = staffList.get(number);
|
|
||||||
//指派师傅
|
|
||||||
order.setStaffId(staff.getId()); //指派师傅
|
|
||||||
order.setIsDispatch(OrderDispatchEnum.IS_DISPATCH.getStatus()); //修改订单状态为已派单
|
|
||||||
order.setUpdateTime(TimeUtil.timestamp()); //更新时间
|
|
||||||
orderMapper.updateById(order); //执行
|
|
||||||
//记录操作日志
|
|
||||||
orderLogService.saveOrderLog(order.getId(), order.getUserId(), OrderLogEnum.SYSTEM_AUTO_SENDORDERS.getDesc());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -15,4 +15,12 @@ public interface IOrderOperateRecordService {
|
||||||
*/
|
*/
|
||||||
void addMaintenanceOrder(Long orderId,String titleDsc,String description);
|
void addMaintenanceOrder(Long orderId,String titleDsc,String description);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增操作检修单记录
|
||||||
|
* @param orderId 订单id
|
||||||
|
* @param titleDsc 标题内容
|
||||||
|
* @param dscType 内容类型
|
||||||
|
* @param description 内容
|
||||||
|
*/
|
||||||
|
void addMaintenanceOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,6 +115,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
@Resource
|
@Resource
|
||||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
OrderOperateRecordMapper orderOperateRecordMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检修订单列表
|
* 检修订单列表
|
||||||
*
|
*
|
||||||
|
@ -163,8 +166,10 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
||||||
|
|
||||||
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
||||||
|
if(insetallUser != null){
|
||||||
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//设置设备模块信息
|
//设置设备模块信息
|
||||||
vo.setEquipmentModel(equipmentModelDetailVo);
|
vo.setEquipmentModel(equipmentModelDetailVo);
|
||||||
|
|
||||||
|
@ -283,6 +288,12 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
vo.setMaintenanceRepair(maintenanceRepairDetailVo);
|
vo.setMaintenanceRepair(maintenanceRepairDetailVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//设置订单操作记录
|
||||||
|
LambdaQueryWrapper<OrderOperateRecord> queryWrapper = new LambdaQueryWrapper<OrderOperateRecord>()
|
||||||
|
.eq(OrderOperateRecord::getOrderType, OrderOperateRecordEnum.MAINTENANCE.getStatus())
|
||||||
|
.eq(OrderOperateRecord::getOrderId, model.getId());
|
||||||
|
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -322,7 +333,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
//新增订单操作记录
|
//新增订单操作记录
|
||||||
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
,OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
,OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
||||||
,"【"+AdminThreadLocal.get("name")+"】创建了检修工单。");
|
,"【"+AdminThreadLocal.get("username")+"】创建了检修工单。");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -349,8 +360,13 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
if(param.getReceiverId() != null && param.getId() != null){
|
if(param.getReceiverId() != null && param.getId() != null){
|
||||||
model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
|
model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
|
||||||
|
|
||||||
|
User user = userMapper.selectById(param.getReceiverId());
|
||||||
|
if(user != null){
|
||||||
//新增订单操作记录
|
//新增订单操作记录
|
||||||
//orderOperateRecordService.addMaintenanceOrder(model.getId(),OrderOperateRecordEnum.);
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
|
,OrderOperateRecordEnum.APPOINT.getDesc()
|
||||||
|
,"【"+AdminThreadLocal.get("username")+"】指派检修单给检修员【"+user.getUsername()+"】");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
model.setReceiverId(param.getReceiverId());
|
model.setReceiverId(param.getReceiverId());
|
||||||
model.setReceiverType(param.getReceiverType());
|
model.setReceiverType(param.getReceiverType());
|
||||||
|
|
|
@ -67,8 +67,10 @@ public class MaintenanceRepairServiceImpl implements IMaintenanceRepairService {
|
||||||
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
||||||
|
|
||||||
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
||||||
|
if(insetallUser != null){
|
||||||
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//设置设备模块信息
|
//设置设备模块信息
|
||||||
vo.setEquipmentModel(equipmentModelDetailVo);
|
vo.setEquipmentModel(equipmentModelDetailVo);
|
||||||
|
|
||||||
|
|
|
@ -28,4 +28,15 @@ public class OrderOperateRecordServiceImpl implements IOrderOperateRecordService
|
||||||
orderOperateRecord.setDescription(description);
|
orderOperateRecord.setDescription(description);
|
||||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addMaintenanceOrder(Long orderId,String titleDsc,Integer dscType,String description) {
|
||||||
|
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||||
|
orderOperateRecord.setOrderId(orderId);
|
||||||
|
orderOperateRecord.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
|
||||||
|
orderOperateRecord.setTitle(titleDsc);
|
||||||
|
orderOperateRecord.setDscType(dscType);
|
||||||
|
orderOperateRecord.setDescription(description);
|
||||||
|
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.hcy.admin.AdminThreadLocal;
|
import com.hcy.admin.AdminThreadLocal;
|
||||||
|
import com.hcy.admin.service.order.impl.OrderOperateRecordServiceImpl;
|
||||||
import com.hcy.admin.service.sparePartStockAudit.ISparePartStockAuditService;
|
import com.hcy.admin.service.sparePartStockAudit.ISparePartStockAuditService;
|
||||||
import com.hcy.admin.validate.common.PageParam;
|
import com.hcy.admin.validate.common.PageParam;
|
||||||
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||||
|
@ -25,6 +26,7 @@ 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.enums.order.MaintenanceOrderStatusEnum;
|
||||||
|
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
||||||
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;
|
||||||
|
@ -75,6 +77,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
@Resource
|
@Resource
|
||||||
SystemAuthAdminMapper systemAuthAdminMapper;
|
SystemAuthAdminMapper systemAuthAdminMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备件出入库审核列表
|
* 备件出入库审核列表
|
||||||
*
|
*
|
||||||
|
@ -134,10 +139,12 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
|
|
||||||
if (item.getOrderType() != null) {
|
if (item.getOrderType() != null) {
|
||||||
User user = userMapper.selectById(item.getCreatorId());
|
User user = userMapper.selectById(item.getCreatorId());
|
||||||
|
if(user != null){
|
||||||
vo.setCreator(user.getUsername());
|
vo.setCreator(user.getUsername());
|
||||||
item.setConsignee(user.getUsername());
|
item.setConsignee(user.getUsername());
|
||||||
vo.setConsignerPhone(user.getUsername() + "/" + item.getPhone());
|
vo.setConsignerPhone(user.getUsername() + "/" + item.getPhone());
|
||||||
vo.setRecipientAndPhone(user.getUsername() + "/" + item.getPhone()); //领料员工/联系电话
|
vo.setRecipientAndPhone(user.getUsername() + "/" + item.getPhone()); //领料员工/联系电话
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(item.getCreatorId());
|
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(item.getCreatorId());
|
||||||
if (systemAuthAdmin != null) {
|
if (systemAuthAdmin != null) {
|
||||||
|
@ -152,7 +159,6 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
|
|
||||||
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());
|
|
||||||
|
|
||||||
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
|
List<OrderSparePartListVo> orderSparePartListVoList = new ArrayList<>();
|
||||||
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByMaintenanceOrderId(item.getOrderId());
|
List<OrderSparePart> orderSparePartList = orderSparePartMapper.findOrderSparePartByMaintenanceOrderId(item.getOrderId());
|
||||||
|
@ -163,14 +169,16 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
|
|
||||||
number += orderSparePart.getQuantity();
|
number += orderSparePart.getQuantity();
|
||||||
}
|
}
|
||||||
|
|
||||||
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
vo.setOrderSparePartListVoList(orderSparePartListVoList);
|
||||||
|
|
||||||
vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
|
vo.setWorkOrderNo(maintenanceOrder.getOrderNo());
|
||||||
vo.setOrderId(maintenanceOrder.getId());
|
vo.setOrderId(maintenanceOrder.getId());
|
||||||
|
vo.setRecipientNumber(number);
|
||||||
|
|
||||||
|
User user = userMapper.selectById(maintenanceOrder.getReceiverId());
|
||||||
|
if(user != null){
|
||||||
vo.setRecipient(user.getUsername());
|
vo.setRecipient(user.getUsername());
|
||||||
vo.setRecipientPhone(user.getMobile());
|
vo.setRecipientPhone(user.getMobile());
|
||||||
vo.setRecipientNumber(number);
|
}
|
||||||
} else {
|
} else {
|
||||||
//获取待审核备件信息
|
//获取待审核备件信息
|
||||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||||
|
@ -488,6 +496,13 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
if (model.getPurchaseStatus() != null && model.getPurchaseStatus() == AuditStateEnum.CHECK_PENDING.getStatus()) {
|
if (model.getPurchaseStatus() != null && model.getPurchaseStatus() == AuditStateEnum.CHECK_PENDING.getStatus()) {
|
||||||
model.setPurchaseStatus(AuditStateEnum.WAITDELIVER.getStatus()); //审核通过改成待发货
|
model.setPurchaseStatus(AuditStateEnum.WAITDELIVER.getStatus()); //审核通过改成待发货
|
||||||
}
|
}
|
||||||
|
if(model.getOrderId() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
|
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_TWO.getDesc()
|
||||||
|
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||||
|
,"管理员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过。");
|
||||||
|
}
|
||||||
} else if (model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()
|
} else if (model.getReceiptType() == AuditStateEnum.ALLOT.getStatus()
|
||||||
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()) {
|
&& model.getAuditResult() == AuditStateEnum.ALREADY_PASSED.getStatus()) {
|
||||||
//通过审核的调拨单
|
//通过审核的调拨单
|
||||||
|
@ -542,6 +557,15 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
|
||||||
maintenanceOrder.setReturnCause(sparePartStockAuditParam.getAuditIdea());
|
maintenanceOrder.setReturnCause(sparePartStockAuditParam.getAuditIdea());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
User user = userMapper.selectById(maintenanceOrder.getReceiverId());
|
||||||
|
if(user != null){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
|
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_TWO.getDesc()
|
||||||
|
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||||
|
,"管理员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getAuditIdea()+"。系统会自动退回到检修员【"+user.getUsername()+"】重新报价。");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
model.setAuditResult(null); // 审核结果(0=已通过,1=未通过)
|
model.setAuditResult(null); // 审核结果(0=已通过,1=未通过)
|
||||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||||
|
@ -598,6 +622,15 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.RETURNED.getStatus());
|
||||||
maintenanceOrder.setReturnCause(sparePartStockAuditParam.getPurchaseIdea());
|
maintenanceOrder.setReturnCause(sparePartStockAuditParam.getPurchaseIdea());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
User user = userMapper.selectById(maintenanceOrder.getReceiverId());
|
||||||
|
if(user != null){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
|
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||||
|
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||||
|
,"仓管员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getPurchaseIdea()+"。系统会自动退回到检修员【"+user.getUsername()+"】重新报价。");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -626,6 +659,14 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
}
|
}
|
||||||
sparePartMapper.updateById(sparePart);
|
sparePartMapper.updateById(sparePart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
|
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||||
|
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||||
|
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sparePartStockAuditMapper.updateById(model);
|
sparePartStockAuditMapper.updateById(model);
|
||||||
|
@ -741,6 +782,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
* @param sparePartStockAuditParam
|
* @param sparePartStockAuditParam
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
|
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||||
new QueryWrapper<SparePartStockAudit>()
|
new QueryWrapper<SparePartStockAudit>()
|
||||||
|
@ -755,9 +797,17 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||||
model.setPurchaseStatus(AuditStateEnum.WAITFORRECEIVING.getStatus()); // 采购状态 4=待收货
|
model.setPurchaseStatus(AuditStateEnum.WAIT_FOR_RECEIVING.getStatus()); // 采购状态 4=待收货
|
||||||
|
|
||||||
sparePartStockAuditMapper.updateById(model);
|
sparePartStockAuditMapper.updateById(model);
|
||||||
|
|
||||||
|
if(model.getOrderType() != null && model.getOrderType() == SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
|
, OrderOperateRecordEnum.DELIVER_GOODS.getDesc()
|
||||||
|
,OrderOperateRecordEnum.DELIVER_GOODS_TYPE.getStatus()
|
||||||
|
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成发货。配送方式:"+SparePartStockAuditEnum.getMsgByStatus(model.getDeliveryMethod()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -624,7 +624,11 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
|
||||||
systemAuthAdminMapper.updateById(systemAuthAdmin);
|
systemAuthAdminMapper.updateById(systemAuthAdmin);
|
||||||
|
|
||||||
if(systemAuthAdmin.getUserId() != null){
|
if(systemAuthAdmin.getUserId() != null){
|
||||||
userMapper.deleteById(systemAuthAdmin.getUserId());
|
User user = userMapper.findUserById(systemAuthAdmin.getUserId());
|
||||||
|
if(user != null){
|
||||||
|
user.setIsDelete(GlobalConstant.DELETE);
|
||||||
|
userMapper.updateById(user);
|
||||||
|
}
|
||||||
userAuthMapper.delete(new LambdaQueryWrapper<UserAuth>().eq(UserAuth::getUserId, systemAuthAdmin.getUserId()));
|
userAuthMapper.delete(new LambdaQueryWrapper<UserAuth>().eq(UserAuth::getUserId, systemAuthAdmin.getUserId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ 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.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||||
import com.hcy.common.entity.client.Equipment;
|
import com.hcy.common.entity.client.Equipment;
|
||||||
|
import com.hcy.common.entity.order.OrderOperateRecord;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
@ -66,4 +67,5 @@ public class MaintenanceOrderDetailVo implements Serializable {
|
||||||
private List<OrderSparePartListVo> sparePartList; // 备件清单
|
private List<OrderSparePartListVo> sparePartList; // 备件清单
|
||||||
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
|
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
|
||||||
private SparePartStockAuditDetailVo sparePartStockAuditDetailVo; //备件领用申请
|
private SparePartStockAuditDetailVo sparePartStockAuditDetailVo; //备件领用申请
|
||||||
|
private List<OrderOperateRecord> orderOperateRecords; //订单操作记录
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,4 +40,14 @@ public enum SparePartStockAuditEnum {
|
||||||
public String getDesc() {
|
public String getDesc() {
|
||||||
return this.desc;
|
return this.desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String getMsgByStatus(Integer status){
|
||||||
|
for(SparePartStockAuditEnum typeEnum: SparePartStockAuditEnum.values()) {
|
||||||
|
if (typeEnum.getStatus() == status) {
|
||||||
|
return typeEnum.getDesc();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ public enum AuditStateEnum {
|
||||||
NOT_PASS_STATE(1, "未通过"),
|
NOT_PASS_STATE(1, "未通过"),
|
||||||
CHECK_PENDING(2, "待管理员审核"),
|
CHECK_PENDING(2, "待管理员审核"),
|
||||||
WAITDELIVER(3, "待发货"),
|
WAITDELIVER(3, "待发货"),
|
||||||
WAITFORRECEIVING(4, "待收货"),
|
WAIT_FOR_RECEIVING(4, "待收货"),
|
||||||
DONE(5, "已完成"),
|
DONE(5, "已完成"),
|
||||||
FILLING_OUT(6, "填写中"),
|
FILLING_OUT(6, "填写中"),
|
||||||
OVERDUE(7, "收货超期"),
|
OVERDUE(7, "收货超期"),
|
||||||
|
|
|
@ -12,21 +12,27 @@ import java.util.Map;
|
||||||
public enum OrderOperateRecordEnum {
|
public enum OrderOperateRecordEnum {
|
||||||
// 标题
|
// 标题
|
||||||
NEW_CREATE(0,"新建"),
|
NEW_CREATE(0,"新建"),
|
||||||
ORDER_RECEIVING(1,"接单"),
|
APPOINT(1,"分配"),
|
||||||
START_SERVICE(2,"开始服务"),
|
ORDER_RECEIVING(2,"接单"),
|
||||||
CUSTOMER_QUOTATION(3,"客户报价"),
|
START_SERVICE(3,"开始服务"),
|
||||||
SPARE_PARTS_APPLY_FOR(4,"备件领用申请"),
|
CUSTOMER_QUOTATION(4,"客户报价"),
|
||||||
SPARE_PARTS_AUDIT(5,"备件领用审核"),
|
CUSTOMER_CONFIRM(5,"客户确认"),
|
||||||
DELIVER_GOODS(6,"发货"),
|
SPARE_PARTS_RECEIVE(9,"配件领用"),
|
||||||
RECEIVE_GOODS(7,"收货"),
|
SPARE_PARTS_AUDIT_ONE(5,"备件领用一级审核"),
|
||||||
SPARE_PARTS_RECEIVE(8,"配件领用"),
|
SPARE_PARTS_AUDIT_TWO(6,"备件领用二级审核"),
|
||||||
FILL_IN_RECEIPT(9,"填写回单"),
|
DELIVER_GOODS(7,"发货"),
|
||||||
|
RECEIVE_GOODS(8,"收货"),
|
||||||
|
FILL_IN_RECEIPT(10,"填写回单"),
|
||||||
|
|
||||||
// 描述类型
|
// 描述类型
|
||||||
QUOTATION(0,"报价"),
|
QUOTATION(0,"报价"),
|
||||||
SPARE_PARTS_RECEIVE_TYPE(1,"配件领用"),
|
SPARE_PARTS_RECEIVE_TYPE(1,"配件领用"),
|
||||||
AUDIT(2,"审核"),
|
AUDIT(2,"审核"),
|
||||||
DELIVER_GOODS_TYPE(3,"发货");
|
DELIVER_GOODS_TYPE(3,"发货"),
|
||||||
|
|
||||||
|
MAINTENANCE(0,"检修单"),
|
||||||
|
REPAIR(1,"维修单"),
|
||||||
|
ROUTING_INSPECTION(2,"巡检单");
|
||||||
|
|
||||||
private final int status;
|
private final int status;
|
||||||
private final String desc;
|
private final String desc;
|
||||||
|
|
|
@ -38,6 +38,9 @@ public interface UserMapper extends IBaseMapper<User> {
|
||||||
@Select("select * from la_user where mobile = #{phone}")
|
@Select("select * from la_user where mobile = #{phone}")
|
||||||
User getUserByPhone(@Param("phone") String phone);
|
User getUserByPhone(@Param("phone") String phone);
|
||||||
|
|
||||||
|
@Select("select * from la_user where is_delete = 0 and id = #{id}")
|
||||||
|
User findUserById(@Param("id") Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取检修员列表
|
* 获取检修员列表
|
||||||
* @return
|
* @return
|
||||||
|
|
|
@ -88,6 +88,12 @@ public class FrontInterceptor implements HandlerInterceptor {
|
||||||
.eq("id", userId)
|
.eq("id", userId)
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
|
|
||||||
|
if(user == null){
|
||||||
|
AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
||||||
|
response.getWriter().print(JSON.toJSONString(result));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// 校验用户被删除
|
// 校验用户被删除
|
||||||
if (user.getIsDelete() == 1) {
|
if (user.getIsDelete() == 1) {
|
||||||
AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.hcy.front.service.order;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单操作记录服务接口类
|
||||||
|
*/
|
||||||
|
public interface IOrderOperateRecordService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增操作检修单记录
|
||||||
|
* @param orderId 订单id
|
||||||
|
* @param titleDsc 标题内容
|
||||||
|
* @param description 内容
|
||||||
|
*/
|
||||||
|
void addMaintenanceOrder(Long orderId,String titleDsc,String description);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增操作检修单记录
|
||||||
|
* @param orderId 订单id
|
||||||
|
* @param titleDsc 标题内容
|
||||||
|
* @param dscType 内容类型
|
||||||
|
* @param description 内容
|
||||||
|
*/
|
||||||
|
void addMaintenanceOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||||
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
package com.hcy.front.service.order.impl;
|
package com.hcy.front.service.order.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
import com.hcy.common.core.PageResult;
|
import com.hcy.common.core.PageResult;
|
||||||
|
@ -23,6 +22,7 @@ import com.hcy.common.enums.ClientStatusEnum;
|
||||||
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.enums.order.MaintenanceOrderStatusEnum;
|
||||||
|
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
||||||
import com.hcy.common.enums.order.OrderStateEnum;
|
import com.hcy.common.enums.order.OrderStateEnum;
|
||||||
import com.hcy.common.exception.OperateException;
|
import com.hcy.common.exception.OperateException;
|
||||||
import com.hcy.common.mapper.address.UserAddressMapper;
|
import com.hcy.common.mapper.address.UserAddressMapper;
|
||||||
|
@ -47,7 +47,6 @@ import com.hcy.front.service.region.IDevRegionService;
|
||||||
import com.hcy.front.validate.PageParam;
|
import com.hcy.front.validate.PageParam;
|
||||||
import com.hcy.front.validate.order.MaintenanceOrderParam;
|
import com.hcy.front.validate.order.MaintenanceOrderParam;
|
||||||
import com.hcy.front.validate.warehouse.SparePartParam;
|
import com.hcy.front.validate.warehouse.SparePartParam;
|
||||||
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.MaintenanceOrderDetailVo;
|
||||||
|
@ -60,12 +59,10 @@ import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -117,6 +114,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
@Resource
|
@Resource
|
||||||
MaintenanceRepairMapper maintenanceRepairMapper;
|
MaintenanceRepairMapper maintenanceRepairMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||||
|
|
||||||
private final DecimalFormat df = new DecimalFormat ("#.#");
|
private final DecimalFormat df = new DecimalFormat ("#.#");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -136,6 +136,11 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
model.setCreatorId(FrontThreadLocal.getUserId().longValue());
|
model.setCreatorId(FrontThreadLocal.getUserId().longValue());
|
||||||
|
|
||||||
maintenanceOrderMapper.insert(model);
|
maintenanceOrderMapper.insert(model);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
|
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||||
|
,"客户【"+FrontThreadLocal.get("username")+"】创建了检修工单");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -263,6 +268,15 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
|
vo.setSparePartStockAudit(sparePartStockAuditDetailVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//设置设备信息
|
||||||
|
Equipment equipment = equipmentMapper.selectById(item.getEquipmentId());
|
||||||
|
if(equipment != null){
|
||||||
|
vo.setDetailedAddress(regionMap.get(equipment.getProvinceId()) +
|
||||||
|
regionMap.get(equipment.getCityId()) +
|
||||||
|
regionMap.get(equipment.getDistrictId()) +
|
||||||
|
equipment.getDetailedAddress());
|
||||||
|
}
|
||||||
|
|
||||||
returnData.add(vo);
|
returnData.add(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,6 +284,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void grabTheOrder(MaintenanceOrderParam maintenanceOrderParam) {
|
public void grabTheOrder(MaintenanceOrderParam maintenanceOrderParam) {
|
||||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
||||||
Assert.notNull(maintenanceOrder, "数据不存在");
|
Assert.notNull(maintenanceOrder, "数据不存在");
|
||||||
|
@ -280,6 +295,11 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHECKING.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHECKING.getStatus());
|
||||||
maintenanceOrder.setReceiverTime(new Date());
|
maintenanceOrder.setReceiverTime(new Date());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||||
|
,"检修人员【"+FrontThreadLocal.get("username")+"】已自主抢单。联系人电话:"+FrontThreadLocal.get("mobile"));
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("订单已被其他人抢走");
|
throw new OperateException("订单已被其他人抢走");
|
||||||
}
|
}
|
||||||
|
@ -295,6 +315,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHECKING.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHECKING.getStatus());
|
||||||
maintenanceOrder.setReceiverTime(new Date());
|
maintenanceOrder.setReceiverTime(new Date());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("订单状态不正确");
|
throw new OperateException("订单状态不正确");
|
||||||
}
|
}
|
||||||
|
@ -343,6 +365,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
MaintenanceOrderDetailVo vo = new MaintenanceOrderDetailVo();
|
MaintenanceOrderDetailVo vo = new MaintenanceOrderDetailVo();
|
||||||
BeanUtils.copyProperties(maintenanceOrder, vo);
|
BeanUtils.copyProperties(maintenanceOrder, vo);
|
||||||
|
|
||||||
|
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||||
|
|
||||||
//设置客户信息
|
//设置客户信息
|
||||||
Client client = clientMapper.selectById(maintenanceOrder.getClientId());
|
Client client = clientMapper.selectById(maintenanceOrder.getClientId());
|
||||||
if(client != null){
|
if(client != null){
|
||||||
|
@ -352,6 +376,10 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
//设置设备信息
|
//设置设备信息
|
||||||
Equipment equipment = equipmentMapper.selectById(maintenanceOrder.getEquipmentId());
|
Equipment equipment = equipmentMapper.selectById(maintenanceOrder.getEquipmentId());
|
||||||
if(equipment != null){
|
if(equipment != null){
|
||||||
|
equipment.setDetailedAddress(regionMap.get(equipment.getProvinceId()) +
|
||||||
|
regionMap.get(equipment.getCityId()) +
|
||||||
|
regionMap.get(equipment.getDistrictId()) +
|
||||||
|
equipment.getDetailedAddress());
|
||||||
vo.setEquipment(equipment);
|
vo.setEquipment(equipment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -402,15 +430,16 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo);
|
||||||
|
|
||||||
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
User insetallUser = userMapper.selectById(equipmentModel.getUserId());
|
||||||
|
if(insetallUser != null){
|
||||||
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
equipmentModelDetailVo.setInstallationName(insetallUser.getUsername());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//设置设备模块信息
|
//设置设备模块信息
|
||||||
vo.setEquipmentModel(equipmentModelDetailVo);
|
vo.setEquipmentModel(equipmentModelDetailVo);
|
||||||
|
|
||||||
//设置返修信息
|
//设置返修信息
|
||||||
MaintenanceRepair maintenanceRepair = maintenanceRepairMapper.findMaintenanceRepairByOrderId(maintenanceOrder.getId());
|
MaintenanceRepair maintenanceRepair = maintenanceRepairMapper.findMaintenanceRepairByOrderId(maintenanceOrder.getId());
|
||||||
if(maintenanceRepair != null){
|
if(maintenanceRepair != null){
|
||||||
Map<Long, String> regionMap = regionService.getRegionMap();
|
|
||||||
MaintenanceRepairDetailVo maintenanceRepairDetailVo = new MaintenanceRepairDetailVo();
|
MaintenanceRepairDetailVo maintenanceRepairDetailVo = new MaintenanceRepairDetailVo();
|
||||||
BeanUtils.copyProperties(maintenanceRepair,maintenanceRepairDetailVo);
|
BeanUtils.copyProperties(maintenanceRepair,maintenanceRepairDetailVo);
|
||||||
|
|
||||||
|
@ -460,11 +489,22 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setWarehouseType(maintenanceOrderParam.getWarehouseType());
|
maintenanceOrder.setWarehouseType(maintenanceOrderParam.getWarehouseType());
|
||||||
maintenanceOrder.setQuotationTime(new Date());
|
maintenanceOrder.setQuotationTime(new Date());
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.CUSTOMER_QUOTATION.getDesc()
|
||||||
|
,OrderOperateRecordEnum.QUOTATION.getStatus()
|
||||||
|
,"【"+FrontThreadLocal.get("username")+"】已经为客户发送服务报价。");
|
||||||
|
|
||||||
Client client = clientMapper.findClientById(maintenanceOrder.getClientId());
|
Client client = clientMapper.findClientById(maintenanceOrder.getClientId());
|
||||||
//判断当前客户是全包还是半包
|
//判断当前客户是全包还是半包
|
||||||
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());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||||
|
,"客户【"+client.getClientName()+"】已确认报价。");
|
||||||
}else{
|
}else{
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus());
|
||||||
}
|
}
|
||||||
|
@ -490,7 +530,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
orderSparePart.setWarehouseId(sparePart.getWarehouseId());
|
orderSparePart.setWarehouseId(sparePart.getWarehouseId());
|
||||||
orderSparePart.setQuantity(item.getQuantity());
|
orderSparePart.setQuantity(item.getQuantity());
|
||||||
//设置订单实际价格
|
//设置订单实际价格
|
||||||
BigDecimal practicalPrice = sparePart.getUnitPrice().multiply(client.getPurchaseDivisor());
|
BigDecimal practicalPrice = sparePart.getUnitPrice().multiply(client.getPointMaintainDivisor());
|
||||||
orderSparePart.setUnitPrice(practicalPrice);
|
orderSparePart.setUnitPrice(practicalPrice);
|
||||||
|
|
||||||
BigDecimal totalPrice = practicalPrice.multiply(BigDecimal.valueOf(item.getQuantity()));
|
BigDecimal totalPrice = practicalPrice.multiply(BigDecimal.valueOf(item.getQuantity()));
|
||||||
|
@ -516,6 +556,13 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
if(maintenanceOrderParam.getIsMaintain() == MaintenanceOrderStatusEnum.MAINTAIN.getStatus()){
|
if(maintenanceOrderParam.getIsMaintain() == MaintenanceOrderStatusEnum.MAINTAIN.getStatus()){
|
||||||
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
||||||
|
|
||||||
|
Client client = clientMapper.findClientById(maintenanceOrder.getClientId());
|
||||||
|
if(client != null){
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||||
|
,"客户【"+client.getClientName()+"】已确认报价。");
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.NOT_MAINTAIN.getStatus());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.NOT_MAINTAIN.getStatus());
|
||||||
maintenanceOrder.setRefuseMaintenanceCause(maintenanceOrderParam.getRefuseMaintenanceCause());
|
maintenanceOrder.setRefuseMaintenanceCause(maintenanceOrderParam.getRefuseMaintenanceCause());
|
||||||
|
@ -551,6 +598,11 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||||
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
|
||||||
|
,"【"+FrontThreadLocal.get("username")+"】创建了【配件领用】单。选择仓库:自身仓库");
|
||||||
//我的仓库也要新增配件领用记录 并且状态是已完成
|
//我的仓库也要新增配件领用记录 并且状态是已完成
|
||||||
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
||||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||||
|
@ -568,6 +620,12 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
||||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
|
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
|
||||||
sparePartStockAuditMapper.insert(sparePartStockAudit);
|
sparePartStockAuditMapper.insert(sparePartStockAudit);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||||
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
|
||||||
|
,"【"+FrontThreadLocal.get("username")+"】创建了配件领用申请单。");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -623,6 +681,11 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||||
maintenanceOrder.setCompleteImg(maintenanceOrderParam.getCompleteImg()); // 完工照片
|
maintenanceOrder.setCompleteImg(maintenanceOrderParam.getCompleteImg()); // 完工照片
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.FILL_IN_RECEIPT.getDesc()
|
||||||
|
,"【"+FrontThreadLocal.get("username")+"】已经完成任务");
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("当前订单状态无法进行填写回单操作");
|
throw new OperateException("当前订单状态无法进行填写回单操作");
|
||||||
}
|
}
|
||||||
|
@ -685,7 +748,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId()
|
SparePartStockAudit resultSps = sparePartStockAuditMapper.findSparePartStockAuditByOrderId(maintenanceOrder.getId()
|
||||||
,SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
|
,SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
|
||||||
if(resultSps != null){
|
if(resultSps != null){
|
||||||
if(resultSps.getPurchaseStatus() == AuditStateEnum.WAITFORRECEIVING.getStatus()){
|
if(resultSps.getPurchaseStatus() == AuditStateEnum.WAIT_FOR_RECEIVING.getStatus()){
|
||||||
//确认收货后可进行填写回单操作
|
//确认收货后可进行填写回单操作
|
||||||
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
@ -693,6 +756,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
//将对应的配件领用订单改成已完成
|
//将对应的配件领用订单改成已完成
|
||||||
resultSps.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
resultSps.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||||
sparePartStockAuditMapper.updateById(resultSps);
|
sparePartStockAuditMapper.updateById(resultSps);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.RECEIVE_GOODS.getDesc()
|
||||||
|
,"检修员【"+FrontThreadLocal.get("username")+"】已确认收货");
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||||
|
,"【"+FrontThreadLocal.get("username")+"】已完成配件领用");
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("当前订单状态无法进行确认收货");
|
throw new OperateException("当前订单状态无法进行确认收货");
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.hcy.front.service.order.impl;
|
||||||
|
|
||||||
|
import com.hcy.common.entity.order.OrderOperateRecord;
|
||||||
|
import com.hcy.common.enums.SparePartStockAuditEnum;
|
||||||
|
import com.hcy.common.mapper.order.OrderOperateRecordMapper;
|
||||||
|
import com.hcy.front.service.order.IOrderOperateRecordService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单操作记录实现类
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class OrderOperateRecordServiceImpl implements IOrderOperateRecordService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private OrderOperateRecordMapper orderOperateRecordMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addMaintenanceOrder(Long orderId,String titleDsc,String description) {
|
||||||
|
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||||
|
orderOperateRecord.setOrderId(orderId);
|
||||||
|
orderOperateRecord.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
|
||||||
|
orderOperateRecord.setTitle(titleDsc);
|
||||||
|
orderOperateRecord.setDescription(description);
|
||||||
|
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addMaintenanceOrder(Long orderId,String titleDsc,Integer dscType,String description) {
|
||||||
|
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||||
|
orderOperateRecord.setOrderId(orderId);
|
||||||
|
orderOperateRecord.setOrderType(SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus());
|
||||||
|
orderOperateRecord.setTitle(titleDsc);
|
||||||
|
orderOperateRecord.setDscType(dscType);
|
||||||
|
orderOperateRecord.setDescription(description);
|
||||||
|
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue