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_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_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_HANDLE_TOLOCATIONCODE_AND_RECOMMEND_TOLOCATIONCODECODE_INCONFORMITY = new ErrorCode(1_000_037_013, "实际库位与任务推荐的目标库位不一致");
ErrorCode LOCATION_DISABLE_NEGATIVE = new ErrorCode(1_000_037_014, "库位不允许负库存");
//车间ErrorCode //车间ErrorCode
ErrorCode WORKSHOP_NOT_EXISTS = new ErrorCode(1_038_000_000, "车间不存在"); ErrorCode WORKSHOP_NOT_EXISTS = new ErrorCode(1_038_000_000, "车间不存在");
ErrorCode WORKSHOP_CODE_EXISTS = new ErrorCode(1_039_000_001, "code已存在"); 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 = "数量") @Schema(description = "数量")
private BigDecimal qty; private BigDecimal qty;
@Schema(description = "锁定数量")
private BigDecimal lockedQty;
@Schema(description = "可用数量")
private BigDecimal usableQty;
@Schema(description = "单价") @Schema(description = "单价")
private BigDecimal singlePrice; 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; 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.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; 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("数量") @ExcelProperty("数量")
private BigDecimal qty; private BigDecimal qty;
@ExcelProperty("锁定数量")
private BigDecimal lockedQty;
@ExcelProperty("可用数量")
private BigDecimal usableQty;
@ExcelProperty("单价") @ExcelProperty("单价")
private BigDecimal singlePrice; 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; 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.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 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; 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 = "数量") @Schema(description = "数量")
private BigDecimal qty; private BigDecimal qty;
@Schema(description = "锁定数量")
private BigDecimal lockedQty;
@Schema(description = "可用数量")
private BigDecimal usableQty;
@Schema(description = "单价") @Schema(description = "单价")
private BigDecimal singlePrice; 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.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert; import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -78,12 +77,6 @@ public class BalanceImportExcelVo {
@ExcelProperty("数量") @ExcelProperty("数量")
private BigDecimal qty; private BigDecimal qty;
@ExcelProperty("锁定数量")
private BigDecimal lockedQty;
@ExcelProperty("可用数量")
private BigDecimal usableQty;
@ExcelProperty("单价") @ExcelProperty("单价")
private BigDecimal singlePrice; 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; 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 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 org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 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 = "数量") @Schema(description = "数量")
private BigDecimal qty; private BigDecimal qty;
@Schema(description = "锁定数量")
private BigDecimal lockedQty;
@Schema(description = "可用数量")
private BigDecimal usableQty;
@Schema(description = "单价") @Schema(description = "单价")
private BigDecimal singlePrice; 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; 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 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.math.BigDecimal;
import java.time.LocalDateTime; 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 * 库存余额 DO
@ -108,14 +101,6 @@ public class BalanceDO extends BaseDO {
* 数量 * 数量
*/ */
private BigDecimal qty; 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 cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
@ -18,6 +19,8 @@ import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import static com.win.module.wms.enums.ErrorCodeConstants.LOCATION_DISABLE_NEGATIVE;
/** /**
* 库存余额 Mapper * 库存余额 Mapper
* *
@ -27,7 +30,7 @@ import java.util.List;
public interface BalanceMapper extends BaseMapperX<BalanceDO> { public interface BalanceMapper extends BaseMapperX<BalanceDO> {
/** /**
* 更新库存余额数量 * 更新库存余额数量出库qty是负数
*/ */
default Boolean updateBalanceQty(BalanceCreateReqVO reqVO, RuleDO ruleDO) { default Boolean updateBalanceQty(BalanceCreateReqVO reqVO, RuleDO ruleDO) {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
@ -43,14 +46,22 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
result = this.insert(balanceDO); result = this.insert(balanceDO);
} else {//存在只更新数量 } else {//存在只更新数量
balanceDO.setQty(balanceDO.getQty().add(reqVO.getQty())); 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); result = this.updateById(balanceDO);
} }
// 此处增加判断是否允许零库存 if(balanceDO.getQty().compareTo(BigDecimal.ZERO) == 0) {// 此处增加判断是否允许零库存
if(balanceDO.getQty().compareTo(BigDecimal.ZERO) == 0) {
JSONObject jsonObject = new JSONObject(ruleDO.getCondition()); JSONObject jsonObject = new JSONObject(ruleDO.getCondition());
if(!"TRUE".equals(jsonObject.getStr("EnableKeepZero"))) { if(!"TRUE".equals(jsonObject.getStr("EnableKeepZero"))) {
this.deleteById(balanceDO.getId()); 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; return result > 0;
} }
@ -74,8 +85,6 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
.eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode()) .eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(BalanceDO::getUom, reqVO.getUom()) .eqIfPresent(BalanceDO::getUom, reqVO.getUom())
.eqIfPresent(BalanceDO::getQty, reqVO.getQty()) .eqIfPresent(BalanceDO::getQty, reqVO.getQty())
.eqIfPresent(BalanceDO::getLockedQty, reqVO.getLockedQty())
.eqIfPresent(BalanceDO::getUsableQty, reqVO.getUsableQty())
.eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice()) .eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice())
.eqIfPresent(BalanceDO::getAmount, reqVO.getAmount()) .eqIfPresent(BalanceDO::getAmount, reqVO.getAmount())
.betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime()) .betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime())
@ -109,8 +118,6 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
.eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode()) .eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode())
.eqIfPresent(BalanceDO::getUom, reqVO.getUom()) .eqIfPresent(BalanceDO::getUom, reqVO.getUom())
.eqIfPresent(BalanceDO::getQty, reqVO.getQty()) .eqIfPresent(BalanceDO::getQty, reqVO.getQty())
.eqIfPresent(BalanceDO::getLockedQty, reqVO.getLockedQty())
.eqIfPresent(BalanceDO::getUsableQty, reqVO.getUsableQty())
.eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice()) .eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice())
.eqIfPresent(BalanceDO::getAmount, reqVO.getAmount()) .eqIfPresent(BalanceDO::getAmount, reqVO.getAmount())
.betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime()) .betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime())

Loading…
Cancel
Save