package com.zy.asrs.service.impl;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.core.common.Cools;
|
import com.zy.asrs.entity.OrderDetl;
|
import com.zy.asrs.entity.WaitPakin;
|
import com.zy.asrs.entity.WrkDetl;
|
import com.zy.asrs.mapper.OrderDetlMapper;
|
import com.zy.asrs.service.OrderDetlService;
|
import com.zy.asrs.utils.MatCompareUtils;
|
import com.zy.common.model.LocDto;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
@Service("orderDetlService")
|
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
|
|
@Override
|
public List<OrderDetl> selectByOrderId(Long orderId) {
|
return this.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId));
|
}
|
|
@Override
|
public Page<OrderDetl> getPakoutPage(Page<OrderDetl> page) {
|
page.setRecords(baseMapper.getPakoutPage(page.getCondition()));
|
page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
|
return page;
|
}
|
|
@Override
|
public List<OrderDetl> selectItem(String orderNo) {
|
return this.baseMapper.listByOrderNo(orderNo);
|
}
|
|
// @Override
|
// public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) {
|
// List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch);
|
// if (detlList == null || detlList.isEmpty()) {
|
// return null;
|
// } else if (detlList.size() == 1) {
|
// return detlList.get(0);
|
// } else {
|
// if (qty != null) {
|
// for (OrderDetl orderDetl : detlList) {
|
// if (qty.equals(orderDetl.getAnfme())) {
|
// return orderDetl;
|
// }
|
// }
|
// }
|
// return detlList.get(0);
|
// }
|
// }
|
//
|
// @Override
|
// public OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty) {
|
// List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
|
// if (detlList == null || detlList.isEmpty()) {
|
// return null;
|
// } else if (detlList.size() == 1) {
|
// return detlList.get(0);
|
// } else {
|
// if (qty != null) {
|
// for (OrderDetl orderDetl : detlList) {
|
// if (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) {
|
// return orderDetl;
|
// }
|
// }
|
// }
|
// return detlList.get(0);
|
// }
|
// }
|
//
|
// @Override
|
// public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) {
|
// List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
|
// if (detlList == null || detlList.isEmpty()) {
|
// return null;
|
// } else if (detlList.size() == 1) {
|
// return detlList.get(0);
|
// } else {
|
// if (qty != null) {
|
// for (OrderDetl orderDetl : detlList) {
|
// if (qty.equals(orderDetl.getAnfme())) {
|
// return orderDetl;
|
// }
|
// }
|
// }
|
// return detlList.get(0);
|
// }
|
// }
|
|
@Override
|
public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) {
|
for (OrderDetl orderDetl : orderDetls) {
|
if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) {
|
if (Cools.eq(batch, orderDetl.getBatch())) {
|
return orderDetl;
|
}
|
}
|
}
|
return null;
|
}
|
|
@Override
|
public boolean increase(Long orderId, String matnr, String batch, Double qty) {
|
return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
|
}
|
|
// @Override
|
// public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
|
// int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
|
// if (decrease == 0) {
|
// return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
|
// } else {
|
// return true;
|
// }
|
// }
|
@Override
|
public boolean decrease(WrkDetl wrkDetl, Double qty) {
|
List<OrderDetl> detlList = selectItem(wrkDetl.getOrderNo());
|
for (OrderDetl orderDetl : detlList) {
|
if (MatCompareUtils.compare(orderDetl, wrkDetl)) {
|
int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
|
if (decrease == 0) {
|
return false;
|
} else {
|
return true;
|
}
|
}
|
}
|
return false;
|
}
|
|
@Override
|
public boolean decrease(WaitPakin waitPakin, Double qty) {
|
List<OrderDetl> detlList = selectItem(waitPakin.getOrderNo());
|
for (OrderDetl orderDetl : detlList) {
|
if (MatCompareUtils.compare(orderDetl, waitPakin)) {
|
Double workQty = orderDetl.getWorkQty();
|
//防止减成负数
|
if (workQty - qty <= 0) {
|
qty = workQty;
|
}
|
int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
|
if (decrease == 0) {
|
return false;
|
} else {
|
return true;
|
}
|
}
|
}
|
return false;
|
}
|
|
@Override
|
public boolean modifyStatus(Long orderId, Integer status) {
|
return this.baseMapper.modifyStatus(orderId, status) > 0;
|
}
|
|
@Override
|
public boolean addToLogTable(OrderDetl orderDetl) {
|
return this.baseMapper.addToLogTable(orderDetl) > 0;
|
}
|
|
// @Override
|
// public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty) {
|
// return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
|
// }
|
|
@Override
|
public boolean increaseQtyByOrderNo(String orderNo, WrkDetl wrkDetl, Double qty) {
|
List<OrderDetl> detlList = this.baseMapper.listByOrderNo(orderNo);
|
if (detlList == null || detlList.isEmpty()) {
|
return false;
|
}
|
for (OrderDetl orderDetl : detlList) {
|
if (MatCompareUtils.compare(orderDetl, wrkDetl)) {
|
return this.baseMapper.increaseQtyById(orderDetl.getId(), qty) > 0;
|
}
|
}
|
return false;
|
}
|
|
|
/**
|
* 入出库任务生成时,更新单据表中作业数量
|
*
|
* @param orderDetl
|
* @param workQty
|
* @return
|
*/
|
@Override
|
public boolean increaseWorkQty(OrderDetl orderDetl, Double workQty) {
|
return this.baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0;
|
}
|
|
@Override
|
public OrderDetl selectItem(WaitPakin waitPakin) {
|
List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch());
|
if (detlList == null || detlList.isEmpty()) {
|
return null;
|
} else if (detlList.size() == 1) {
|
return detlList.get(0);
|
} else {
|
for (OrderDetl orderDetl : detlList) {
|
if (MatCompareUtils.compare(waitPakin, orderDetl)) {
|
return orderDetl;
|
}
|
}
|
return null;
|
}
|
}
|
|
@Override
|
public OrderDetl selectItem(LocDto locDto) {
|
List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
|
if (detlList == null || detlList.isEmpty()) {
|
return null;
|
} else if (detlList.size() == 1) {
|
return detlList.get(0);
|
} else {
|
for (OrderDetl orderDetl : detlList) {
|
if (MatCompareUtils.compare(locDto, orderDetl)) {
|
return orderDetl;
|
}
|
}
|
return null;
|
}
|
}
|
|
@Override
|
public OrderDetl selectItem(WrkDetl wrkDetl) {
|
List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
|
if (detlList == null || detlList.isEmpty()) {
|
return null;
|
} else if (detlList.size() == 1) {
|
return detlList.get(0);
|
} else {
|
for (OrderDetl orderDetl : detlList) {
|
if (MatCompareUtils.compare(wrkDetl, orderDetl)) {
|
return orderDetl;
|
}
|
}
|
return null;
|
}
|
}
|
}
|