package zy.cloud.wms.manager.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.R; import org.springframework.beans.factory.annotation.Autowired; import zy.cloud.wms.manager.entity.PickoutDetl; import zy.cloud.wms.manager.entity.dto.PickOutPrintDTO; import zy.cloud.wms.manager.mapper.PickoutMapper; import zy.cloud.wms.manager.entity.Pickout; import zy.cloud.wms.manager.service.PickoutDetlService; import zy.cloud.wms.manager.service.PickoutService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import zy.cloud.wms.system.entity.Host; import zy.cloud.wms.system.entity.User; import zy.cloud.wms.system.service.HostService; import zy.cloud.wms.system.service.UserService; import java.util.List; @Service("pickoutService") public class PickoutServiceImpl extends ServiceImpl implements PickoutService { @Autowired private PickoutService pickoutService; @Autowired private PickoutDetlService pickoutDetlService; @Autowired private UserService userService; @Autowired private HostService hostService; @Override public void updateWaveStatus(String waveNo) { this.baseMapper.updateWaveStatus(waveNo); } /** * 打印拣货单 * @param pickout * @param userId * @param hostId * @return */ @Override public R stockOutPrint(Pickout pickout, Long userId, Long hostId) { /** * 初始化与控管 */ PickOutPrintDTO printDTO = new PickOutPrintDTO(); Double total = 0.0; List pickoutDetls = pickoutDetlService.selectList(new EntityWrapper() .eq("head_id", pickout.getId())); if (Cools.isEmpty(pickoutDetls)) { return R.error("无法找到该单据明细"); } for (PickoutDetl pickoutDetl : pickoutDetls) { total = total + pickoutDetl.getAnfme(); } if (Cools.isEmpty(userId)) { User user = userService.selectOne(new EntityWrapper() .eq("id", userId)); if (Cools.isEmpty(user)) { printDTO.setWorkerName("默认拣货员"); } else { printDTO.setWorkerName(user.getNickname()); } }else { printDTO.setWorkerName("默认拣货员"); } if (Cools.isEmpty(hostId)) { Host host = hostService.selectOne(new EntityWrapper() .eq("id", hostId)); if (Cools.isEmpty(host)) { printDTO.setCustName("默认商户"); }else { printDTO.setCustName(host.getName()); } }else { printDTO.setCustName("默认商户"); } printDTO.setPickoutDetls(pickoutDetls); printDTO.setPickout(pickout); printDTO.setTotal(total); return R.ok().add(printDTO); } }