| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.core.common.SnowflakeIdWorker; |
| | | import com.core.exception.CoolException; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import zy.cloud.wms.common.service.MainService; |
| | | import zy.cloud.wms.common.utils.VersionUtils; |
| | | import zy.cloud.wms.manager.entity.*; |
| | | import zy.cloud.wms.manager.entity.param.InitPakoutParam; |
| | | import zy.cloud.wms.manager.entity.param.StockConfirmParam; |
| | | import zy.cloud.wms.manager.entity.param.StockInParam; |
| | | import zy.cloud.wms.manager.entity.param.StockOutParam; |
| | |
| | | private CustOrderService custOrderService; |
| | | @Autowired |
| | | private PakoutService pakoutService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | @Override |
| | | public R stockOutPrint(StockOutParam param, Long userId) { |
| | | List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", param.getNumber())); |
| | | Double total = 0.0D; |
| | | String custName = ""; |
| | | for (Pakout pakout : pakouts) { |
| | | total = pakout.getAnfme() + total; |
| | | custName = pakout.getCustName(); |
| | | } |
| | | StoPrintVo vo = new StoPrintVo(); |
| | | vo.setDocNum(param.getNumber()); |
| | | vo.setList(pakouts); |
| | | vo.setTotal(total); |
| | | vo.setCustName("浙江中扬立库技术有限公司"); |
| | | vo.setWorkerName("陆晓涛"); |
| | | return R.ok().add(vo); |
| | | } |
| | | |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R initPakout(List<InitPakoutParam> params, Long userId) { |
| | | if (!Cools.isEmpty(params)) { |
| | | Date now = new Date(); |
| | | for (InitPakoutParam param : params) { |
| | | LocDetl locDetl = locDetlService.getLocDetl(param.getNodeId(), param.getMatnr()); |
| | | // 保存出库通知单 |
| | | Pakout pakout = new Pakout(); |
| | | pakout.setWrkSts(1L); |
| | | pakout.setAnfme(param.getCount()); |
| | | pakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId())); |
| | | VersionUtils.setPakout(pakout, locDetl); |
| | | pakout.setCreateTime(now); |
| | | pakout.setCreateBy(userId); |
| | | pakout.setUpdateTime(now); |
| | | pakout.setUpdateBy(userId); |
| | | pakout.setStatus(1); |
| | | if (!pakoutService.insert(pakout)) { |
| | | throw new CoolException("生成拣货单失败"); |
| | | } |
| | | // 修改库存明细数量 |
| | | if (!locDetlService.reduceStock(locDetl.getNodeId(), locDetl.getMatnr(), param.getCount())) { |
| | | throw new CoolException("修改库存明细数量失败"); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |