|
|
|
@ -1,28 +1,34 @@
|
|
|
|
|
package org.dromara.wms.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
import com.github.yulichang.toolkit.JoinWrappers;
|
|
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
|
|
import io.github.linpeilie.BaseMapper;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.dromara.common.core.utils.DateUtils;
|
|
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
|
|
import org.dromara.common.translation.annotation.Translation;
|
|
|
|
|
import org.dromara.wms.domain.*;
|
|
|
|
|
import org.dromara.wms.domain.vo.BaseMaterialInfoVo;
|
|
|
|
|
import org.dromara.wms.domain.vo.WmsHppInStockDetailVo;
|
|
|
|
|
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
|
|
|
|
|
import org.dromara.wms.domain.vo.WmsPsmInLoadVo;
|
|
|
|
|
import org.dromara.wms.mapper.WmsOutstockRecordMapper;
|
|
|
|
|
import org.dromara.wms.mapper.WmsPdaApiMapper;
|
|
|
|
|
import org.dromara.wms.mapper.WmsPsmInLoadMapper;
|
|
|
|
|
import org.dromara.wms.mapper.*;
|
|
|
|
|
import org.dromara.wms.service.IWmsPdaApiService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
@Service
|
|
|
|
|
public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private WmsOutstockRecordMapper wmsOutstockRecordMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private WmsPdaApiMapper apiMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private WmsPsmInLoadMapper psmInLoadMapper;
|
|
|
|
|
|
|
|
|
|
private final WmsOutstockRecordMapper wmsOutstockRecordMapper;
|
|
|
|
|
private final WmsPdaApiMapper apiMapper;
|
|
|
|
|
private final WmsHppInStockDetailMapper baseMapper;
|
|
|
|
|
|
|
|
|
|
private final WmsPsmInStockMapper wmsPsmInStockMapper;
|
|
|
|
|
private final WmsPsmInLoadDetailMapper wmsPsmInLoadDetailMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public WmsOutstockRecordVo returnSelectCode(String code) {
|
|
|
|
@ -46,8 +52,90 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public WmsPsmInLoadVo productSelectVehicleInfo(String code) {
|
|
|
|
|
QueryWrapper<WmsPsmInLoad> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.eq("toolingBarcode", code).eq("storePlaceCode",null);
|
|
|
|
|
return psmInLoadMapper.selectVoOne(queryWrapper);
|
|
|
|
|
return apiMapper.productSelectVehicleInfo(code);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean bindVehicleSubmit(String vehicleCode, List<String> productList) {
|
|
|
|
|
String userId = String.valueOf(LoginHelper.getUserId());
|
|
|
|
|
WmsPsmInLoad wmsPsmInLoad = new WmsPsmInLoad();
|
|
|
|
|
wmsPsmInLoad.setToolingBarcode(vehicleCode);
|
|
|
|
|
wmsPsmInLoad.setLoadAmount(productList.size());
|
|
|
|
|
wmsPsmInLoad.setCreateBy(userId);
|
|
|
|
|
int tag = apiMapper.bindVehicleSubmitInsertInLoad(wmsPsmInLoad);
|
|
|
|
|
if (tag == 1) {
|
|
|
|
|
apiMapper.bindVehicleSubmitInsertInLoadDetail(wmsPsmInLoad.getInLoadId(), productList);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Translation(type = "Exception")
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean productSubmitInStoreInfo(WmsPsmInLoadVo vo) {
|
|
|
|
|
|
|
|
|
|
// 插入入库记录主表
|
|
|
|
|
WmsPsmInStock wmsPsmInStock = new WmsPsmInStock();
|
|
|
|
|
BeanUtils.copyProperties(vo, wmsPsmInStock);
|
|
|
|
|
wmsPsmInStock.setInAmount(vo.getLoadAmount());
|
|
|
|
|
wmsPsmInStock.setCreateBy(LoginHelper.getUserId() + "");//创建人
|
|
|
|
|
int insert = wmsPsmInStockMapper.insert(wmsPsmInStock);
|
|
|
|
|
if (insert == 1) {
|
|
|
|
|
System.out.println();
|
|
|
|
|
// 查询成品条码表
|
|
|
|
|
QueryWrapper<WmsPsmInLoadDetail> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.eq("in_load_id", vo.getInLoadId());
|
|
|
|
|
List<WmsPsmInLoadDetail> list = wmsPsmInLoadDetailMapper.selectList(queryWrapper);
|
|
|
|
|
apiMapper.insertInStockDetail(wmsPsmInStock.getInStockId(), list);
|
|
|
|
|
apiMapper.insertPsmStorage(list, wmsPsmInStock);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// 插入入库主表
|
|
|
|
|
// WmsPsmInStockBo bo = new WmsPsmInStockBo();
|
|
|
|
|
// bo.setStoreName(vo.getStoreName());
|
|
|
|
|
// bo.setToolingBarcode(vo.getToolingBarcode());
|
|
|
|
|
// bo.setMaterialId(vo.getMaterialId());
|
|
|
|
|
// bo.
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public WmsHppInStockDetailVo semiSelectVehicleInfo(String code) {
|
|
|
|
|
return baseMapper.semiSelectVehicleInfo(code);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private final WmsHppInStockDetailMapper hppInStockDetailMapper;//入库记录
|
|
|
|
|
private final WmsHppStorageDetailMapper hppStorageDetailMapper;//库存表
|
|
|
|
|
private final BaseMaterialInfoMapper baseMaterialInfoMapper;//物料基础信息
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean updataInStoreRecord(WmsHppInStockDetailVo vo) {
|
|
|
|
|
LambdaUpdateWrapper<WmsHppInStockDetail> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
|
|
lambdaUpdateWrapper.eq(WmsHppInStockDetail::getObjId, vo.getObjId())
|
|
|
|
|
.set(WmsHppInStockDetail::getStorePlaceId, vo.getStorePlaceId())
|
|
|
|
|
.set(WmsHppInStockDetail::getUpdateTime, DateUtils.getTime())
|
|
|
|
|
.set(WmsHppInStockDetail::getUpdateBy, LoginHelper.getUsername());
|
|
|
|
|
int rows = hppInStockDetailMapper.update(null, lambdaUpdateWrapper);
|
|
|
|
|
if (rows > 0) {
|
|
|
|
|
// System.out.println("更新成功");
|
|
|
|
|
WmsHppStorageDetail hppStorageDetail = new WmsHppStorageDetail();
|
|
|
|
|
BeanUtils.copyProperties(vo, hppStorageDetail);
|
|
|
|
|
hppStorageDetail.setObjId(null);
|
|
|
|
|
hppStorageDetail.setStorageNum(vo.getInstockNum());
|
|
|
|
|
BaseMaterialInfoVo baseMaterialInfoVo= baseMaterialInfoMapper.selectVoById(vo.getMaterialId());
|
|
|
|
|
hppStorageDetail.setMinParkingTime(baseMaterialInfoVo.getMinParkingTime());
|
|
|
|
|
hppStorageDetail.setMaxParkingTime(baseMaterialInfoVo.getMaxParkingTime());
|
|
|
|
|
hppStorageDetailMapper.insert(hppStorageDetail);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|