Browse Source

修改库存余额接口,去掉两个属性

master
刘忱 2 years ago
parent
commit
c7e661fb9e
  1. 1
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceBaseVO.java
  3. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceExcelVO.java
  4. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceExportReqVO.java
  5. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceImportExcelVo.java
  6. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalancePageReqVO.java
  7. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/balance/BalanceDO.java
  8. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java

1
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -170,6 +170,7 @@ public interface ErrorCodeConstants {
ErrorCode LOCATION_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_037_011, "导入库位不能为空");
ErrorCode LOCATION_ITEMCODE_AND_LOCATIONCODE_NOT_EXISTS = new ErrorCode(1_000_037_012, "未查找到零件item_code库位location_code对应的上架策略");
ErrorCode LOCATION_HANDLE_TOLOCATIONCODE_AND_RECOMMEND_TOLOCATIONCODECODE_INCONFORMITY = new ErrorCode(1_000_037_013, "实际库位与任务推荐的目标库位不一致");
ErrorCode LOCATION_DISABLE_NEGATIVE = new ErrorCode(1_000_037_014, "库位不允许负库存");
//车间ErrorCode
ErrorCode WORKSHOP_NOT_EXISTS = new ErrorCode(1_038_000_000, "车间不存在");
ErrorCode WORKSHOP_CODE_EXISTS = new ErrorCode(1_039_000_001, "code已存在");

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceBaseVO.java

@ -73,12 +73,6 @@ public class BalanceBaseVO {
@Schema(description = "数量")
private BigDecimal qty;
@Schema(description = "锁定数量")
private BigDecimal lockedQty;
@Schema(description = "可用数量")
private BigDecimal usableQty;
@Schema(description = "单价")
private BigDecimal singlePrice;

28
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceExcelVO.java

@ -1,25 +1,13 @@
package com.win.module.wms.controller.balance.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -83,12 +71,6 @@ public class BalanceExcelVO {
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty("锁定数量")
private BigDecimal lockedQty;
@ExcelProperty("可用数量")
private BigDecimal usableQty;
@ExcelProperty("单价")
private BigDecimal singlePrice;

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceExportReqVO.java

@ -1,13 +1,11 @@
package com.win.module.wms.controller.balance.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -69,12 +67,6 @@ public class BalanceExportReqVO {
@Schema(description = "数量")
private BigDecimal qty;
@Schema(description = "锁定数量")
private BigDecimal lockedQty;
@Schema(description = "可用数量")
private BigDecimal usableQty;
@Schema(description = "单价")
private BigDecimal singlePrice;

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalanceImportExcelVo.java

@ -5,7 +5,6 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -78,12 +77,6 @@ public class BalanceImportExcelVo {
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty("锁定数量")
private BigDecimal lockedQty;
@ExcelProperty("可用数量")
private BigDecimal usableQty;
@ExcelProperty("单价")
private BigDecimal singlePrice;

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/vo/BalancePageReqVO.java

@ -1,12 +1,13 @@
package com.win.module.wms.controller.balance.vo;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -71,12 +72,6 @@ public class BalancePageReqVO extends PageParam {
@Schema(description = "数量")
private BigDecimal qty;
@Schema(description = "锁定数量")
private BigDecimal lockedQty;
@Schema(description = "可用数量")
private BigDecimal usableQty;
@Schema(description = "单价")
private BigDecimal singlePrice;

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/balance/BalanceDO.java

@ -1,21 +1,14 @@
package com.win.module.wms.dal.dataobject.balance;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 库存余额 DO
@ -108,14 +101,6 @@ public class BalanceDO extends BaseDO {
* 数量
*/
private BigDecimal qty;
/**
* 锁定数量
*/
private BigDecimal lockedQty;
/**
* 可用数量
*/
private BigDecimal usableQty;
/**
* 单价
*/

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java

@ -2,6 +2,7 @@ package com.win.module.wms.dal.mysql.balance;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
@ -18,6 +19,8 @@ import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal;
import java.util.List;
import static com.win.module.wms.enums.ErrorCodeConstants.LOCATION_DISABLE_NEGATIVE;
/**
* 库存余额 Mapper
*
@ -27,7 +30,7 @@ import java.util.List;
public interface BalanceMapper extends BaseMapperX<BalanceDO> {
/**
* 更新库存余额数量
* 更新库存余额数量出库qty是负数
*/
default Boolean updateBalanceQty(BalanceCreateReqVO reqVO, RuleDO ruleDO) {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
@ -43,14 +46,22 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
result = this.insert(balanceDO);
} else {//存在只更新数量
balanceDO.setQty(balanceDO.getQty().add(reqVO.getQty()));
//计算单价和金额
BigDecimal amount = balanceDO.getAmount().add(reqVO.getAmount());
balanceDO.setAmount(amount);
balanceDO.setSinglePrice(amount.divide(balanceDO.getQty()));
result = this.updateById(balanceDO);
}
// 此处增加判断是否允许零库存
if(balanceDO.getQty().compareTo(BigDecimal.ZERO) == 0) {
if(balanceDO.getQty().compareTo(BigDecimal.ZERO) == 0) {// 此处增加判断是否允许零库存
JSONObject jsonObject = new JSONObject(ruleDO.getCondition());
if(!"TRUE".equals(jsonObject.getStr("EnableKeepZero"))) {
this.deleteById(balanceDO.getId());
}
} else if(balanceDO.getQty().compareTo(BigDecimal.ZERO) < 0) {// 此处增加判断是否允许负库存
JSONObject jsonObject = new JSONObject(ruleDO.getCondition());
if(!"TRUE".equals(jsonObject.getStr("EnableNegative"))) {
throw new ServiceException(LOCATION_DISABLE_NEGATIVE);
}
}
return result > 0;
}
@ -74,8 +85,6 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
.eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(BalanceDO::getUom, reqVO.getUom())
.eqIfPresent(BalanceDO::getQty, reqVO.getQty())
.eqIfPresent(BalanceDO::getLockedQty, reqVO.getLockedQty())
.eqIfPresent(BalanceDO::getUsableQty, reqVO.getUsableQty())
.eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice())
.eqIfPresent(BalanceDO::getAmount, reqVO.getAmount())
.betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime())
@ -109,8 +118,6 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
.eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(BalanceDO::getUom, reqVO.getUom())
.eqIfPresent(BalanceDO::getQty, reqVO.getQty())
.eqIfPresent(BalanceDO::getLockedQty, reqVO.getLockedQty())
.eqIfPresent(BalanceDO::getUsableQty, reqVO.getUsableQty())
.eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice())
.eqIfPresent(BalanceDO::getAmount, reqVO.getAmount())
.betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime())

Loading…
Cancel
Save