diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java index 19031145..3d3bf939 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java @@ -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 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 selectHppStorageDetailInfobyCode(String code) { + WmsHppStorageDetailVo wmsHppStorageDetailVo= apiService.selectHppStorageDetailInfobyCode(code); + if (wmsHppStorageDetailVo == null) { + return R.fail("流水卡号错误,或者库存消耗完毕"); + } + return R.ok(wmsHppStorageDetailVo); + } + + @PostMapping("/semi/submitOutInfo") + public R semiSubmitOutInfo(@RequestBody WmsHppStorageDetailVo vo) { + Boolean result = apiService.semiSubmitOutInfo(vo); return result ? R.ok() : R.fail(); } } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppStorageDetail.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppStorageDetail.java index 1979e278..e414f7c3 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppStorageDetail.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppStorageDetail.java @@ -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; } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppStorageDetailVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppStorageDetailVo.java index 9e551742..163c2539 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppStorageDetailVo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppStorageDetailVo.java @@ -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; } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/BaseMaterialInfoMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/BaseMaterialInfoMapper.java index 1cc10fb0..979244a0 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/BaseMaterialInfoMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/BaseMaterialInfoMapper.java @@ -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 { } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppOutStockDetailMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppOutStockDetailMapper.java index 9d062fdb..ce49968b 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppOutStockDetailMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppOutStockDetailMapper.java @@ -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 { + } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorageDetailMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorageDetailMapper.java index fd4cceb8..ca16b808 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorageDetailMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorageDetailMapper.java @@ -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 { - + @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); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorePlaceMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorePlaceMapper.java index f1c379c4..cf6002b0 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorePlaceMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppStorePlaceMapper.java @@ -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 { @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); diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java index acaf077f..eb1da3b3 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java @@ -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); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java index c2bb03d9..36b2c908 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java @@ -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 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 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 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; + } }