From d2adac4e369165ec523c23e7ffd19fc5775d43b5 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期一, 11 四月 2022 08:14:14 +0800 Subject: [PATCH] Changes --- src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 115 insertions(+), 2 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java index 724cbb7..446a981 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java @@ -1,12 +1,125 @@ package zy.cloud.wms.manager.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.R; +import com.core.exception.CoolException; +import org.springframework.beans.factory.annotation.Autowired; +import zy.cloud.wms.common.model.PickOutDto; +import zy.cloud.wms.manager.entity.*; import zy.cloud.wms.manager.mapper.WaveMapper; -import zy.cloud.wms.manager.entity.Wave; -import zy.cloud.wms.manager.service.WaveService; +import zy.cloud.wms.manager.service.*; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.List; + @Service("waveService") public class WaveServiceImpl extends ServiceImpl<WaveMapper, Wave> implements WaveService { + @Autowired + private WaveDetlService waveDetlService; + @Autowired + private OrderService orderService; + @Autowired + private WaveService waveService; + @Autowired + private PickoutService pickoutService; + @Autowired + private PickoutDetlService pickoutDetlService; + @Autowired + private MatService matService; + /** + * 閫氳繃娉㈡鐢熸垚鎷h揣鍗� + * @param + * @param userId + * @param hostId + */ + @Override + public R createOut(List<PickOutDto> pickOutDtosk, Long userId, Long hostId) { + HashSet<String> orderIds = new HashSet<>(); + /** + * 鎺х + */ + if (Cools.isEmpty(pickOutDtosk)) { + throw new CoolException("鏁版嵁浼犺緭閿欒,璇疯仈绯荤鐞嗗憳"); + } + Wave wave = waveService.selectOne(new EntityWrapper<Wave>() + .eq("id", pickOutDtosk.get(0).getWaveId())); + List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() + .eq("wave_id", wave.getId())); + + /** + * 鐢熸垚鎷h揣鍗� + */ + Pickout pickout = new Pickout(); + pickout.setHostId(hostId); + pickout.setUserId(userId); + pickout.setWrkNo("PO-"+new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); + pickout.setWrkSts(1L); + pickout.setCreateBy(userId.intValue()); + pickout.setUpdateBy(userId.intValue()); + pickout.setOrderQty(wave.getOrdersQty()); + pickout.setWaveNo(wave.getWaveNo()); + pickoutService.insert(pickout); + for (PickOutDto pickOutDto : pickOutDtosk) { + Mat mat = matService.selectByMatnr(hostId, pickOutDto.getMatnr()); + if (Cools.isEmpty(mat)) { + pickoutService.delete(new EntityWrapper<Pickout>() + .eq("id",pickout.getId())); + throw new CoolException("鏌ヨ涓嶅埌璇ョ墿鏂欐槑缁�"); + + } + PickoutDetl pickoutDetl = new PickoutDetl(); + pickoutDetl.setHeadId(pickout.getId()); + pickoutDetl.setNodeId(pickOutDto.getNodeId().longValue()); + pickoutDetl.setNodeName(pickOutDto.getLocNo()); + pickoutDetl.setAnfme(pickOutDto.getAnfme().doubleValue()); + pickoutDetl.setMatnr(pickOutDto.getMatnr()); + pickoutDetl.setMaktx(mat.getMaktx()); + pickoutDetl.setName(mat.getName()); + pickoutDetl.setSpecs(mat.getSpecs()); + pickoutDetl.setModel(mat.getModel()); + pickoutDetl.setUnit(mat.getUnit()); + pickoutDetl.setPrice(mat.getPrice()); + pickoutDetl.setWeight(mat.getWeight()); + pickoutDetl.setStatus(1); + pickoutDetl.setCreateBy(userId.intValue()); + pickoutDetl.setUpdateBy(userId.intValue()); + pickoutDetl.setWrkNo(pickout.getWrkNo()); + pickoutDetlService.insert(pickoutDetl); + } + + /** + * 鏇存敼鍑哄簱鍗曠姸鎬�,浠�"鐢熸垚娉㈡"鍒�"娉㈡鎷h揣涓�" + */ + for (WaveDetl waveDetl : waveDetls) { + String orderNos = waveDetl.getOrderNos(); + String[] split = orderNos.split(","); + for (String s : split) { + orderIds.add(s); + } + } + for (String s : new ArrayList<String>(orderIds)) { + orderService.changeSettleTo12(s); + } + /** + * 鏇存敼娉㈡鍗曠姸鎬�,浠�"寰呭鐞�"鍒�"澶勭悊涓�" + */ + wave.setStatus((short) 1); + waveService.update(wave,new EntityWrapper<Wave>() + .eq("id",wave.getId())); + + + return R.ok(); + } + + @Override + public String getCurrNum(String waveNo) { + return this.baseMapper.getCurrNum(waveNo); + } } -- Gitblit v1.9.1