package com.zy.asrs.service.impl;
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.core.exception.CoolException;
|
import com.zy.asrs.entity.HalfBarcode;
|
import com.zy.asrs.entity.Mat;
|
import com.zy.asrs.entity.MatBarcode;
|
import com.zy.asrs.entity.WaitPakin;
|
import com.zy.asrs.mapper.MatBarcodeMapper;
|
import com.zy.asrs.service.HalfBarcodeService;
|
import com.zy.asrs.service.MatBarcodeService;
|
import com.zy.asrs.service.MatService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.Map;
|
|
@Service("MatBarcodeService")
|
public class MatBarcodeServiceImpl extends ServiceImpl<MatBarcodeMapper, MatBarcode> implements MatBarcodeService {
|
@Autowired
|
private MatBarcodeMapper matBarcodeMapper;
|
@Autowired
|
private MatBarcodeService matBarcodeService;
|
@Autowired
|
private MatService matService;
|
@Autowired
|
private HalfBarcodeService halfBarcodeService;
|
@Override
|
public MatBarcode selectbyMatnr(String matnr) {
|
return this.baseMapper.selectByMatnr(matnr);
|
}
|
|
@Override
|
public void deleteMatBarcode(List<MatBarcode> list) {
|
for (MatBarcode matBarcode : list) {
|
HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(matBarcode.getZpallet());
|
halfBarcode.setAnfme(halfBarcode.getAnfme() - 1);
|
halfBarcode.setPrice(halfBarcode.getPrice() + 1);
|
if (!halfBarcodeService.half(halfBarcode)){
|
throw new CoolException("更新半托信息失败");
|
}
|
matBarcodeMapper.deleteByMatnr(matBarcode.getMatnr());
|
}
|
}
|
|
@Override
|
public void addBarcodeMatnr(WaitPakin waitPakin) {
|
Mat mat = matService.selectById(waitPakin.getModiUser());
|
if (mat == null){
|
throw new CoolException("物料不存在,请先添加物料数据");
|
}
|
MatBarcode matBarcode = matBarcodeMapper.selectByMatnr(mat.getMatnr());
|
if (matBarcode != null){
|
throw new CoolException("该物料已经绑定托盘,请勿重复绑定");
|
}
|
if (mat.getColor().equals("报废")){
|
throw new CoolException("该物料已报废,请勿绑定");
|
}
|
HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(waitPakin.getBarcode());
|
if (halfBarcode == null){
|
HalfBarcode hb = new HalfBarcode();
|
hb.setZpallet(waitPakin.getBarcode());
|
hb.setSpecs(waitPakin.getBarcode().substring(0,1));
|
hb.setAnfme(1);
|
if (Integer.parseInt(waitPakin.getBarcode().substring(0,1))==6){
|
hb.setPrice(24-1);
|
}else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==7){
|
hb.setPrice(24-1);
|
}else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==8){
|
hb.setPrice(24-1);
|
}
|
if (!halfBarcodeService.insert(hb)){
|
throw new CoolException("更新半托信息失败");
|
}
|
}else {
|
if (Integer.parseInt(waitPakin.getBarcode().substring(0,1))==6){
|
halfBarcode.setAnfme(halfBarcode.getAnfme() + 1);
|
halfBarcode.setPrice(halfBarcode.getPrice()-1);
|
}else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==7){
|
halfBarcode.setAnfme(halfBarcode.getAnfme() + 1);
|
halfBarcode.setPrice(halfBarcode.getPrice()-1);
|
}else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==8){
|
halfBarcode.setAnfme(halfBarcode.getAnfme() + 1);
|
halfBarcode.setPrice(halfBarcode.getPrice()-1);
|
}
|
if (!halfBarcodeService.half(halfBarcode)){
|
throw new CoolException("更新半托信息失败");
|
}
|
}
|
MatBarcode mb=new MatBarcode();
|
mb.setZpallet(waitPakin.getBarcode());
|
mb.setMatnr(mat.getMatnr());
|
mb.setMaktx(mat.getMaktx());
|
mb.setSpecs(mat.getSpecs());
|
mb.setModel(mat.getModel());
|
if (!matBarcodeService.insert(mb)){
|
throw new CoolException("物料托盘绑定失败");
|
}
|
}
|
|
@Override
|
public void addBarcodeMatnrTwo(Mat mat) {
|
Mat m = matService.selectById(mat);
|
if (m == null){
|
throw new CoolException("物料不存在,请先添加物料数据");
|
}
|
MatBarcode matBarcode = matBarcodeMapper.selectByMatnr(mat.getMatnr());
|
if (matBarcode != null){
|
throw new CoolException("该物料已经绑定托盘,请勿重复绑定");
|
}
|
if (mat.getColor().equals("报废")){
|
throw new CoolException("该物料已报废,请勿绑定");
|
}
|
MatBarcode mb=new MatBarcode();
|
mb.setZpallet(mat.getUnit());
|
mb.setMatnr(mat.getMatnr());
|
mb.setMaktx(mat.getMaktx());
|
mb.setSpecs(mat.getSpecs());
|
mb.setModel(mat.getModel());
|
if (!matBarcodeService.insert(mb)){
|
throw new CoolException("物料托盘绑定失败");
|
}
|
}
|
|
@Override
|
public String page(Map<String, Object> param) {
|
Integer pageNo = Integer.valueOf(param.get("curr").toString());
|
Integer pageSize = Integer.valueOf(param.get("limit").toString());
|
String barcode = (String) param.get("zpallet");
|
Integer spec = Integer.valueOf(param.get("spec").toString());
|
return matBarcodeMapper.page(pageNo,pageSize,barcode,spec);
|
}
|
}
|