| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | 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 com.zy.asrs.service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | private MatService matService; |
| | | @Autowired |
| | | private HalfBarcodeService halfBarcodeService; |
| | | @Autowired |
| | | private WaitPakinService waitPakinService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | @Override |
| | | public MatBarcode selectbyMatnr(String matnr) { |
| | | return this.baseMapper.selectByMatnr(matnr); |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public void deleteMatBarcode(List<MatBarcode> list) { |
| | | for (MatBarcode matBarcode : list) { |
| | | //对于已经有库存 组托档 工作档的数据 不允许解绑 |
| | | Integer locCount = locDetlService.selectCountByMatNr(matBarcode.getMatnr()); |
| | | Integer waitCount = waitPakinService.selectCountByMatNr(matBarcode.getMatnr()); |
| | | Integer wrkCount = wrkDetlService.selectCountByMatNr(matBarcode.getMatnr()); |
| | | if (locCount > 0 || waitCount > 0 || wrkCount > 0){ |
| | | throw new CoolException("组托档/库存/工作档存在该模具,不能解绑,商品模具名称:" + matBarcode.getMatnr() + "托盘码:" + matBarcode.getZpallet()); |
| | | } |
| | | //对模具的规格做处理得到厚度 |
| | | Integer thickness = 0; |
| | | if (!Cools.isEmpty(matBarcode.getSpecs())){ |
| | | String[] split = matBarcode.getSpecs().split("\\*"); |
| | | thickness = Integer.parseInt(split[1]); |
| | | } |
| | | HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(matBarcode.getZpallet()); |
| | | halfBarcode.setAnfme(halfBarcode.getAnfme() - 1); |
| | | halfBarcode.setPrice(halfBarcode.getPrice() + 1); |
| | | halfBarcode.setPrice(halfBarcode.getPrice() + thickness); |
| | | if (!halfBarcodeService.half(halfBarcode)){ |
| | | throw new CoolException("更新半托信息失败"); |
| | | } |
| | |
| | | throw new CoolException("该物料已报废,请勿绑定"); |
| | | } |
| | | HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(waitPakin.getBarcode()); |
| | | //对模具的规格做处理得到厚度 |
| | | Integer thickness = 0; |
| | | if (!Cools.isEmpty(mat.getSpecs())){ |
| | | String[] split = mat.getSpecs().split("\\*"); |
| | | thickness = Integer.parseInt(split[1]); |
| | | } |
| | | 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); |
| | | hb.setPrice(2650 - thickness); |
| | | }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==7){ |
| | | hb.setPrice(24-1); |
| | | hb.setPrice(1750 - thickness); |
| | | }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==8){ |
| | | hb.setPrice(24-1); |
| | | hb.setPrice(800 - thickness); |
| | | } |
| | | 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); |
| | | halfBarcode.setPrice(2650 - thickness); |
| | | }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==7){ |
| | | halfBarcode.setAnfme(halfBarcode.getAnfme() + 1); |
| | | halfBarcode.setPrice(halfBarcode.getPrice()-1); |
| | | halfBarcode.setPrice(1750 - thickness); |
| | | }else if(Integer.parseInt(waitPakin.getBarcode().substring(0,1))==8){ |
| | | halfBarcode.setAnfme(halfBarcode.getAnfme() + 1); |
| | | halfBarcode.setPrice(halfBarcode.getPrice()-1); |
| | | halfBarcode.setPrice(800 - thickness); |
| | | } |
| | | if (!halfBarcodeService.half(halfBarcode)){ |
| | | throw new CoolException("更新半托信息失败"); |
| | |
| | | if (mat.getColor().equals("报废")){ |
| | | throw new CoolException("该物料已报废,请勿绑定"); |
| | | } |
| | | HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(mat.getUnit()); |
| | | //对模具的规格做处理得到厚度 |
| | | Integer thickness = 0; |
| | | if (!Cools.isEmpty(mat.getSpecs())){ |
| | | String[] split = mat.getSpecs().split("\\*"); |
| | | thickness = Integer.parseInt(split[1]); |
| | | } |
| | | 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(2650 - thickness); |
| | | }else if(Integer.parseInt(mat.getUnit().substring(0,1))==7){ |
| | | hb.setPrice(1750 - thickness); |
| | | }else if(Integer.parseInt(mat.getUnit().substring(0,1))==8){ |
| | | hb.setPrice(800 - thickness); |
| | | } |
| | | 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()- thickness); |
| | | }else if(Integer.parseInt(mat.getUnit().substring(0,1))==7){ |
| | | halfBarcode.setAnfme(halfBarcode.getAnfme() + 1); |
| | | halfBarcode.setPrice(halfBarcode.getPrice()- thickness); |
| | | }else if(Integer.parseInt(mat.getUnit().substring(0,1))==8){ |
| | | halfBarcode.setAnfme(halfBarcode.getAnfme() + 1); |
| | | halfBarcode.setPrice(halfBarcode.getPrice()- thickness); |
| | | } |
| | | 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()); |
| | | mb.setModel(mat.getName()); |
| | | if (!matBarcodeService.insert(mb)){ |
| | | throw new CoolException("物料托盘绑定失败"); |
| | | } |