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.LocDetl; import com.zy.asrs.entity.MatCode; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.MatCodeCountDto; import com.zy.asrs.mapper.WrkDetlMapper; import com.zy.asrs.service.MatCodeService; import com.zy.asrs.service.WrkDetlService; import com.zy.asrs.utils.VersionUtils; 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 MatCodeService matCodeService; @Override @Transactional public void createWorkDetail(Integer workNo, List matCodeCountDtos, String barcode, Long userId) { if (matCodeCountDtos.isEmpty()){ return; } for (MatCodeCountDto dto : matCodeCountDtos) { MatCode matCode = matCodeService.selectById(dto.getMatNo()); if (Cools.isEmpty(matCode)){ throw new CoolException("产品条码数据为空"); } // 保持工作档明细 WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(new Date()); wrkDetl.setQty(dto.getCount()); // 数量 VersionUtils.setWrkDetl(wrkDetl, matCode); // 版本控制 wrkDetl.setBillNo((null != dto.getBillNo()) ? dto.getBillNo() : "0"); wrkDetl.setSeqNo((null != dto.getSeqNo()) ? dto.getSeqNo() : 0); wrkDetl.setZpallet(barcode); // 托盘条码 wrkDetl.setAppeUser(userId); wrkDetl.setAppeTime(new Date()); wrkDetl.setModiUser(userId); wrkDetl.setModiTime(new Date()); if (!this.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } } } @Override @Transactional public List queryWrkDetl(String matNo, String locNo) { return baseMapper.queryWrkDetl(matNo, locNo); } /** * PDA盘点根据出库口查询对应物料信息 */ @Override public List queryMatFromDevNo(Integer devNo) { return baseMapper.queryMatFromDevNo(devNo); } }