工位上货插入到库存表

workplace
yewj 11 months ago
parent fa80a765a5
commit 5d37d96ee0

@ -1237,60 +1237,11 @@ public class IoCheckInoutService {
//若未拆零预出库单据则进入到拆零队列
if (orderEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo());
List<IoSplitFifoCodeEntity> splitCodeEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(codeList)) {
for (IoCodeEntity codeEntity : codeList) {
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = null;
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), orderEntity.getWorkPlaceCode());
}
if (ioSplitFifoCodeEntity != null) {
ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) + IntUtil.value(codeEntity.getCount()));
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount());
ioSplitFifoCodeEntity.setUpdateTime(new Date());
splitFifoCodeService.updateById(ioSplitFifoCodeEntity);
} else {
IoSplitFifoCodeEntity splitCodeEntity = new IoSplitFifoCodeEntity();
BeanUtils.copyProperties(codeEntity, splitCodeEntity);
splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo());
splitCodeEntity.setScanCount(codeEntity.getCount());
splitCodeEntity.setTotalCount(IntUtil.value(splitCodeEntity.getTotalCount()) + codeEntity.getReCount());
splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId()));
splitCodeEntity.setWorkPlaceCode(orderEntity.getWorkPlaceCode());
splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit());
splitCodeEntity.setId(null);
splitCodeEntities.add(splitCodeEntity);
}
}
}
splitFifoCodeService.saveBatch(splitCodeEntities);
ThreadUtil.execAsync(() -> {
splitFifoCodeService.preAllotInv(orderEntity.getWorkPlaceCode());
});
fifoInvService.insertInv(codeList, orderEntity.getWorkPlaceCode());
} else if (orderEntity.getAction().equals(ConstantType.SPLIT_RETURN)) {
//拆零预出库退回
List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo());
List<IoSplitFifoCodeEntity> splitCodeEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(codeList)) {
for (IoCodeEntity codeEntity : codeList) {
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), orderEntity.getWorkPlaceCode());
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
if (ioSplitFifoCodeEntity != null) {
ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) - IntUtil.value(codeEntity.getCount()));
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount());
ioSplitFifoCodeEntity.setUpdateTime(new Date());
splitFifoCodeService.updateById(ioSplitFifoCodeEntity);
}
} else {
splitCodeEntities.add(ioSplitFifoCodeEntity);
}
}
}
splitFifoCodeService.removeBatchByIds(splitCodeEntities);
ThreadUtil.execAsync(() -> {
splitFifoCodeService.preAllotInv(orderEntity.getWorkPlaceCode());
});
fifoInvService.removeInv(codeList, orderEntity.getWorkPlaceCode());
}
}
} else {
@ -1299,6 +1250,10 @@ public class IoCheckInoutService {
}
}
@Resource
IoSplitFifoInvService fifoInvService;
@Resource
InvWarehouseService invWarehouseService;

@ -1,8 +1,19 @@
package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoSplitFifoCodeEntity;
import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.inout.IoSplitFifoInv;
import com.glxp.api.dao.inout.IoSplitFifoInvMapper;
@ -10,5 +21,68 @@ import com.glxp.api.dao.inout.IoSplitFifoInvMapper;
@Service
public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoSplitFifoInv> {
@Resource
IoSplitFifoCodeService splitFifoCodeService;
public void insertInv(List<IoCodeEntity> codeList, Long workPlaceCode) {
List<IoSplitFifoCodeEntity> splitCodeEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(codeList)) {
for (IoCodeEntity codeEntity : codeList) {
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = null;
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), workPlaceCode);
}
if (ioSplitFifoCodeEntity != null) {
ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) + IntUtil.value(codeEntity.getCount()));
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount());
ioSplitFifoCodeEntity.setUpdateTime(new Date());
splitFifoCodeService.updateById(ioSplitFifoCodeEntity);
} else {
IoSplitFifoCodeEntity splitCodeEntity = new IoSplitFifoCodeEntity();
BeanUtils.copyProperties(codeEntity, splitCodeEntity);
splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo());
splitCodeEntity.setScanCount(codeEntity.getCount());
splitCodeEntity.setTotalCount(IntUtil.value(splitCodeEntity.getTotalCount()) + codeEntity.getReCount());
splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId()));
splitCodeEntity.setWorkPlaceCode(workPlaceCode);
splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit());
splitCodeEntity.setId(null);
splitCodeEntities.add(splitCodeEntity);
}
}
}
splitFifoCodeService.saveBatch(splitCodeEntities);
ThreadUtil.execAsync(() -> {
// splitFifoCodeService.preAllotInv(orderEntity.getWorkPlaceCode());
});
}
public void removeInv(List<IoCodeEntity> codeList, Long workPlaceCode) {
List<IoSplitFifoCodeEntity> splitCodeEntities = new ArrayList<>();
if (CollUtil.isNotEmpty(codeList)) {
for (IoCodeEntity codeEntity : codeList) {
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), workPlaceCode);
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
if (ioSplitFifoCodeEntity != null) {
ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) - IntUtil.value(codeEntity.getCount()));
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount());
ioSplitFifoCodeEntity.setUpdateTime(new Date());
splitFifoCodeService.updateById(ioSplitFifoCodeEntity);
}
} else {
splitCodeEntities.add(ioSplitFifoCodeEntity);
}
}
}
splitFifoCodeService.removeBatchByIds(splitCodeEntities);
ThreadUtil.execAsync(() -> {
// splitFifoCodeService.preAllotInv(orderEntity.getWorkPlaceCode());
});
}
}

Loading…
Cancel
Save