|  |  | 
 |  |  | 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.ArrayList; | 
 |  |  | 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("该物料已报废,请勿绑定"); | 
 |  |  |         } | 
 |  |  |         HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(mat.getUnit()); | 
 |  |  |         if (halfBarcode == null){ | 
 |  |  |             HalfBarcode hb = new HalfBarcode(); | 
 |  |  |             hb.setZpallet(mat.getUnit()); | 
 |  |  |             hb.setSpecs(mat.getUnit().substring(0,1)); | 
 |  |  |             hb.setAnfme(1); | 
 |  |  |             if (Integer.parseInt(mat.getUnit().substring(0,1))==6){ | 
 |  |  |                 hb.setPrice(24-1); | 
 |  |  |             }else if(Integer.parseInt(mat.getUnit().substring(0,1))==7){ | 
 |  |  |                 hb.setPrice(24-1); | 
 |  |  |             }else if(Integer.parseInt(mat.getUnit().substring(0,1))==8){ | 
 |  |  |                 hb.setPrice(24-1); | 
 |  |  |             } | 
 |  |  |             if (!halfBarcodeService.insert(hb)){ | 
 |  |  |                 throw new CoolException("更新半托信息失败"); | 
 |  |  |             } | 
 |  |  |         }else { | 
 |  |  |             if (Integer.parseInt(mat.getUnit().substring(0,1))==6){ | 
 |  |  |                 halfBarcode.setAnfme(halfBarcode.getAnfme() + 1); | 
 |  |  |                 halfBarcode.setPrice(halfBarcode.getPrice()-1); | 
 |  |  |             }else if(Integer.parseInt(mat.getUnit().substring(0,1))==7){ | 
 |  |  |                 halfBarcode.setAnfme(halfBarcode.getAnfme() + 1); | 
 |  |  |                 halfBarcode.setPrice(halfBarcode.getPrice()-1); | 
 |  |  |             }else if(Integer.parseInt(mat.getUnit().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(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); | 
 |  |  |     } | 
 |  |  | } |