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