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 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 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 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); } }