| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.asrs.entity.InOut; |
| | | import com.zy.asrs.entity.MatBarcode; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.mapper.InOutMapper; |
| | | import com.zy.asrs.service.InOutService; |
| | | 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; |
| | | |
| | | @Service("InOutService") |
| | | public class InOutServiceImpl extends ServiceImpl<InOutMapper, InOut> implements InOutService { |
| | | |
| | | @Autowired |
| | | private InOutMapper inOutMapper; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | | private MatBarcodeService matBarcodeService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private WaitPakinService waitPakinService; |
| | | @Autowired |
| | | private MatService matService; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | |
| | | @Override |
| | | public InOut selectByMatnr(String matnr) { |
| | | return inOutMapper.selectByMatnr(matnr); |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public void deleteInOut(List<InOut> inOutList) { |
| | | for (InOut inOut : inOutList) { |
| | | //没有商品编号 直接删除 |
| | | if (inOut.getMatnr() == null){ |
| | | inOutMapper.deleteById(inOut.getId()); |
| | | } |
| | | //判断是否有库存 |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("matnr", inOut.getMatnr())); |
| | | if (locDetl != null){ |
| | | throw new CoolException("该模具存在库存,不能删除--->" + inOut.getMatnr()); |
| | | } |
| | | //判断是否绑定 |
| | | MatBarcode matBarcode = matBarcodeService.selectbyMatnr(inOut.getMatnr()); |
| | | if (matBarcode != null){ |
| | | throw new CoolException("该模具已绑定托盘,不能删除--->" + inOut.getMatnr()); |
| | | } |
| | | //判断是否有工作档 |
| | | WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("matnr", inOut.getMatnr())); |
| | | if (wrkDetl != null){ |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo())); |
| | | if (wrkMast == null){ |
| | | throw new CoolException("工作档异常,有工作明细档,无工作主档"); |
| | | } |
| | | if ((wrkMast.getIoType() != 101 && wrkMast.getWrkSts() != 15) || (wrkMast.getIoType() != 103 && wrkMast.getWrkSts() != 14)){ |
| | | throw new CoolException("该模具存在工作档,不能删除--->" + inOut.getMatnr()); |
| | | } |
| | | } |
| | | //判断是否组托 |
| | | List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("matnr", inOut.getMatnr())); |
| | | if (!Cools.isEmpty(waitPakins)){ |
| | | throw new CoolException("该模具已组托,不能删除--->" + inOut.getMatnr()); |
| | | } |
| | | //判断是否有商品档案 |
| | | Mat mat = matService.selectByMatnr(inOut.getMatnr()); |
| | | if (mat != null){ |
| | | throw new CoolException("商品档案存在该模具,不能删除--->" + inOut.getMatnr()); |
| | | } |
| | | |
| | | inOutMapper.deleteById(inOut.getId()); |
| | | } |
| | | } |
| | | } |