| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.GlobleParameter; |
| | | import com.zy.asrs.mapper.PakoutMapper; |
| | | 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.Date; |
| | | import java.util.List; |
| | |
| | | List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum)); |
| | | for (Pakout pakout: pakouts){ |
| | | |
| | | Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), pakout.getBarcode()); |
| | | Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()), pakout.getMaktx()); |
| | | if(!Cools.isEmpty(pla)){ |
| | | pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme()); |
| | | pla.setModifyTime(new Date()); |
| | |
| | | throw new RuntimeException("拣货单删除失败"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void deletePakoutByWrkNo(String wrkNo) { |
| | | Pakout pakout = this.selectById(wrkNo); |
| | | //更新单据信息 |
| | | if(pakout.getCount() > 0){ |
| | | throw new CoolException("该条拣货信息已完成,无法删除"); |
| | | } |
| | | OrderDetl orderDetl = orderDetlService.selectById(pakout.getDocId()); |
| | | orderDetl.setWorkQty(orderDetl.getWorkQty() - pakout.getAnfme()); |
| | | orderDetl.setUpdateTime(new Date()); |
| | | orderDetlService.updateById(orderDetl); |
| | | |
| | | Order order = orderService.selectByNo(pakout.getDocNum()); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |
| | | //判断单据是否有正在作业的任务,true为没有 |
| | | boolean flag = true; |
| | | for (OrderDetl od : orderDetlList){ |
| | | if(od.getWorkQty() + od.getQty() > 0){ |
| | | flag = false; |
| | | } |
| | | } |
| | | |
| | | if(flag){ |
| | | order.setSettle(1L); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.updateById(order); |
| | | } |
| | | |
| | | //更新pla信息 |
| | | Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()),pakout.getMaktx()); |
| | | pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme()); |
| | | pla.setStatus(GlobleParameter.PLA_STATUS_1); |
| | | pla.setModifyTime(new Date()); |
| | | plaService.updateById(pla); |
| | | |
| | | //更新plaQty信息 |
| | | plaQtyService.deleteById(pakout.getNodeId()); |
| | | |
| | | //删除拣货单 |
| | | this.deleteById(wrkNo); |
| | | |
| | | } |
| | | } |