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 implements WrkDetlService { @Autowired private MatService matService; @Override @Transactional public void createWorkDetail(Integer workNo, List detlDtos, String barcode, Long userId) { if (detlDtos.isEmpty()){ return; } Date now = new Date(); 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 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 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; } }