| | |
| | | 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.Mat; |
| | | import com.zy.asrs.entity.WrkDetl; |
| | | import com.zy.asrs.mapper.WrkDetlMapper; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.WrkDetlService; |
| | | import com.zy.common.model.DetlDto; |
| | | 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; |
| | | |
| | | @Service("wrkDetlService") |
| | | public class WrkDetlServiceImpl extends ServiceImpl<WrkDetlMapper, WrkDetl> implements WrkDetlService { |
| | | |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId, Date now) { |
| | | if (detlDtos.isEmpty()){ |
| | | return; |
| | | } |
| | | for (DetlDto dto : detlDtos) { |
| | | Mat mat = matService.selectByMatnr(dto.getMatnr()); |
| | | if (Cools.isEmpty(mat)){ |
| | | throw new CoolException(dto.getMatnr() + "商品维护失败"); |
| | | } |
| | | // 保持工作档明细 |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(mat); |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setIoTime(now); |
| | | wrkDetl.setBatch(dto.getBatch()); |
| | | wrkDetl.setAnfme(dto.getAnfme()); // 数量 |
| | | wrkDetl.setZpallet(barcode); // 托盘条码 |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | | if (!this.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作明细失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkDetl> selectByWrkNo(Integer wrkNo) { |
| | | return this.baseMapper.selectByWrkNo(wrkNo); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch) { |
| | | if (anfme <= 0) { |
| | | return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0; |
| | | } else { |
| | | return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkDetl> selectAndLogByOrderNo(String orderNo) { |
| | | return this.baseMapper.selectAndLogByOrderNo(orderNo); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateInspect(Integer wrkNo, String matnr, String batch) { |
| | | return this.baseMapper.updateInspect(wrkNo, matnr, batch) > 0; |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) { |
| | | return this.baseMapper.selectPakoutQuery(staNo, matnr); |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo) { |
| | | return this.baseMapper.selectAndLogByOrderNoGroupByMatnrOfSum(orderNo); |
| | | } |
| | | } |