增加 半制品出库接口

master
wanghao 2 weeks ago
parent 76ddbb5431
commit 8a81d13106

@ -3,6 +3,7 @@ package org.dromara.wms.controller;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.web.core.BaseController;
import org.dromara.wms.domain.WmsHppStorageDetail;
import org.dromara.wms.domain.bo.WmsReturnOrderBo;
import org.dromara.wms.domain.vo.*;
import org.dromara.wms.service.*;
@ -77,6 +78,10 @@ public class WmsPdaApiController extends BaseController {
return R.ok(wmsPsmInLoadVo);
}
/**
*
* @param vo info
*/
@PostMapping("/product/submitInStoreInfo")
public R<Void> productSubmitInStoreInfo(@RequestBody WmsPsmInLoadVo vo) {
// 验证库位条码
@ -118,7 +123,27 @@ public class WmsPdaApiController extends BaseController {
}
vo.setStorePlaceId(wmsPsmStorePlace.getObjId());
Boolean result = apiService.updataInStoreRecord(vo);
return result ? R.ok() : R.fail();
}
/**
*
* @param code
* @return WmsHppStorageDetailVo
*/
@PostMapping("/semi/selectHppStorageInfo")
public R<WmsHppStorageDetailVo> selectHppStorageDetailInfobyCode(String code) {
WmsHppStorageDetailVo wmsHppStorageDetailVo= apiService.selectHppStorageDetailInfobyCode(code);
if (wmsHppStorageDetailVo == null) {
return R.fail("流水卡号错误,或者库存消耗完毕");
}
return R.ok(wmsHppStorageDetailVo);
}
@PostMapping("/semi/submitOutInfo")
public R<Void> semiSubmitOutInfo(@RequestBody WmsHppStorageDetailVo vo) {
Boolean result = apiService.semiSubmitOutInfo(vo);
return result ? R.ok() : R.fail();
}
}

@ -88,7 +88,10 @@ public class WmsHppStorageDetail {
private String materialCode;
private Long minParkingTime;
private Long maxParkingTime;
private double minParkingTime;
private double maxParkingTime;
@TableField(exist = false)
private Date minTime;
@TableField(exist = false)
private Date maxTime;
}

@ -77,7 +77,7 @@ public class WmsHppStorageDetailVo implements Serializable {
*
*/
@ExcelProperty(value = "库存数量")
private BigDecimal storageNum;
private double storageNum;
/**
* id
@ -105,8 +105,11 @@ public class WmsHppStorageDetailVo implements Serializable {
private Date updateTime;
private String storePlaceCode;
private String materialCode;
private Long minParkingTime;
private Long maxParkingTime;
private double minParkingTime;
private double maxParkingTime;
private Date minTime;
private Date maxTime;
private String unitName;
private double outNumber;
}

@ -3,6 +3,7 @@ package org.dromara.wms.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.wms.domain.BaseMaterialInfo;
import org.dromara.wms.domain.vo.BaseMaterialInfoVo;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -10,6 +11,7 @@ import org.dromara.wms.domain.vo.BaseMaterialInfoVo;
* @author zangch
* @date 2025-01-07
*/
@Repository
public interface BaseMaterialInfoMapper extends BaseMapperPlus<BaseMaterialInfo, BaseMaterialInfoVo> {
}

@ -3,6 +3,8 @@ package org.dromara.wms.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.wms.domain.WmsHppOutStockDetail;
import org.dromara.wms.domain.vo.WmsHppOutStockDetailVo;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -10,6 +12,8 @@ import org.dromara.wms.domain.vo.WmsHppOutStockDetailVo;
* @author LionLi
* @date 2025-01-14
*/
@Repository
public interface WmsHppOutStockDetailMapper extends BaseMapperPlus<WmsHppOutStockDetail, WmsHppOutStockDetailVo> {
}

@ -1,6 +1,7 @@
package org.dromara.wms.mapper;
import org.apache.ibatis.annotations.Select;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.wms.domain.WmsHppStorageDetail;
import org.dromara.wms.domain.vo.WmsHppStorageDetailVo;
@ -14,5 +15,8 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public interface WmsHppStorageDetailMapper extends BaseMapperPlus<WmsHppStorageDetail, WmsHppStorageDetailVo> {
@Select("select top 1 obj_id, card_no,shelf_no,material_id,storage_num,material_code,unit_name,create_time," +
" dateadd(hh, min_parking_time, create_time) as min_time,dateadd(hh, max_parking_time, create_time) as max_time " +
"from wms_hpp_storage_detail where card_no=#{code} ")
WmsHppStorageDetailVo selectHppStorageDetailInfobyCode(String code);
}

@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Select;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.wms.domain.WmsHppStorePlace;
import org.dromara.wms.domain.vo.WmsHppStorePlaceVo;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -11,6 +12,7 @@ import org.dromara.wms.domain.vo.WmsHppStorePlaceVo;
* @author LionLi
* @date 2025-01-14
*/
@Repository
public interface WmsHppStorePlaceMapper extends BaseMapperPlus<WmsHppStorePlace, WmsHppStorePlaceVo> {
@Select("select top 1 obj_id,store_id,store_place_code,store_place_name from wms_hpp_store_place where store_place_code=#{storePlaceCode}")
WmsHppStorePlaceVo selectStorePlaceInfoByCode(String storePlaceCode);

@ -1,6 +1,7 @@
package org.dromara.wms.service;
import org.dromara.wms.domain.vo.WmsHppInStockDetailVo;
import org.dromara.wms.domain.vo.WmsHppStorageDetailVo;
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
import org.dromara.wms.domain.vo.WmsPsmInLoadVo;
@ -20,4 +21,8 @@ public interface IWmsPdaApiService {
WmsHppInStockDetailVo semiSelectVehicleInfo(String code);
Boolean updataInStoreRecord(WmsHppInStockDetailVo vo);
WmsHppStorageDetailVo selectHppStorageDetailInfobyCode(String code);
Boolean semiSubmitOutInfo(WmsHppStorageDetailVo vo);
}

@ -2,6 +2,7 @@ package org.dromara.wms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
@ -9,14 +10,12 @@ 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.domain.vo.*;
import org.dromara.wms.mapper.*;
import org.dromara.wms.service.IWmsPdaApiService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@RequiredArgsConstructor
@ -68,14 +67,10 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
apiMapper.bindVehicleSubmitInsertInLoadDetail(wmsPsmInLoad.getInLoadId(), productList);
return true;
}
return false;
}
@Translation(type = "Exception")
@Override
public Boolean productSubmitInStoreInfo(WmsPsmInLoadVo vo) {
@ -87,7 +82,6 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
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());
@ -115,6 +109,7 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
private final WmsHppInStockDetailMapper hppInStockDetailMapper;//入库记录
private final WmsHppStorageDetailMapper hppStorageDetailMapper;//库存表
private final BaseMaterialInfoMapper baseMaterialInfoMapper;//物料基础信息
@Override
public Boolean updataInStoreRecord(WmsHppInStockDetailVo vo) {
LambdaUpdateWrapper<WmsHppInStockDetail> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
@ -129,7 +124,7 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
BeanUtils.copyProperties(vo, hppStorageDetail);
hppStorageDetail.setObjId(null);
hppStorageDetail.setStorageNum(vo.getInstockNum());
BaseMaterialInfoVo baseMaterialInfoVo= baseMaterialInfoMapper.selectVoById(vo.getMaterialId());
BaseMaterialInfoVo baseMaterialInfoVo = baseMaterialInfoMapper.selectVoById(vo.getMaterialId());
hppStorageDetail.setMinParkingTime(baseMaterialInfoVo.getMinParkingTime());
hppStorageDetail.setMaxParkingTime(baseMaterialInfoVo.getMaxParkingTime());
hppStorageDetailMapper.insert(hppStorageDetail);
@ -138,4 +133,34 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
return false;
}
/**
*
*
* @param code
* @return WmsHppStorageDetailVo
*/
@Override
public WmsHppStorageDetailVo selectHppStorageDetailInfobyCode(String code) {
return hppStorageDetailMapper.selectHppStorageDetailInfobyCode(code);
}
private final WmsHppOutStockDetailMapper hppOutStockDetailMapper;//半成品出库记录
@Override
public Boolean semiSubmitOutInfo(WmsHppStorageDetailVo vo) {
if (vo.getStorageNum() == vo.getOutNumber()) {
hppStorageDetailMapper.deleteById(vo.getStorePlaceId());
} else {
LambdaUpdateWrapper<WmsHppStorageDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(WmsHppStorageDetail::getObjId, vo.getObjId())
.set(WmsHppStorageDetail::getStorageNum, vo.getStorageNum() - vo.getOutNumber())
.set(WmsHppStorageDetail::getUpdateTime, DateUtils.getTime());
hppStorageDetailMapper.update(updateWrapper);
}
WmsHppOutStockDetail outStockDetail = new WmsHppOutStockDetail();
BeanUtils.copyProperties(vo, outStockDetail);
outStockDetail.setObjId(null);
outStockDetail.setCreateBy(LoginHelper.getUsername());
hppOutStockDetailMapper.insert(outStockDetail);
return true;
}
}

Loading…
Cancel
Save