package com.mes.order.service.impl;
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.mes.glassinfo.entity.GlassInfo;
|
import com.mes.glassinfo.mapper.GlassInfoMapper;
|
import com.mes.glassinfo.service.GlassInfoService;
|
import com.mes.order.entity.Orderdetail;
|
import com.mes.order.entity.Orders;
|
import com.mes.order.mapper.OrderdetailMapper;
|
import com.mes.order.mapper.OrdersMapper;
|
import com.mes.order.service.OrdersService;
|
import com.mes.pp.entity.OrderChange;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Collections;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author wu
|
* @since 2024-06-17
|
*/
|
@Service
|
@DS("sd")
|
@Slf4j
|
public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders> implements OrdersService {
|
@Resource
|
private OrderdetailMapper orderdetailMapper;
|
@Resource
|
private GlassInfoService glassInfoService;
|
@Resource
|
private GlassInfoMapper glassInfoMapper;
|
|
@Override
|
public List<Orders> selectOrders() {
|
//获取所有未完成的订单
|
QueryWrapper<Orders> queryWrapper = new QueryWrapper<>();
|
queryWrapper.ne("warehousing", "2");
|
return baseMapper.selectList(queryWrapper);
|
}
|
|
@Override
|
public List<Orderdetail> selectOrderdetail(Orders orders) {
|
QueryWrapper<Orderdetail> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("order_id", orders.getOrderId());
|
return orderdetailMapper.selectList(queryWrapper);
|
}
|
|
@Override
|
public List<OrderChange> orderChange(List<OrderChange> orderChanges) {
|
for (OrderChange orderChange : orderChanges) {
|
int affectedRows = glassInfoMapper.update(null,
|
new LambdaUpdateWrapper<GlassInfo>()
|
.eq(GlassInfo::getFlowCardId, orderChange.getOldProcessId())
|
.eq(GlassInfo::getGlassType, orderChange.getOldOrderNumber())
|
.eq(GlassInfo::getLayer, orderChange.getOldTechnologyNumber())
|
.set(GlassInfo::getFlowCardId, orderChange.getNewProcessId())
|
.set(GlassInfo::getGlassType, orderChange.getNewOrderNumber())
|
.set(GlassInfo::getLayer, orderChange.getNewTechnologyNumber())
|
.last("limit " + orderChange.getChangeNumber())
|
.inSql(GlassInfo::getGlassId, "select glass_id from edg_storage_cage_details where flow_card_id ='" + orderChange.getOldProcessId() +
|
"' and glass_id not in (select glass_id from damage where (type=8 or type=9) and process_id='" + orderChange.getOldProcessId() + "')"));
|
orderChange.setChangedNumber(affectedRows);
|
}
|
log.info("订单变更:" + orderChanges);
|
return orderChanges;
|
}
|
}
|