Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java
#	win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java
master
赵雪冰 2 years ago
parent
commit
55a9b771eb
  1. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java
  2. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordMainBaseVO.java
  3. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productreceiptRecord/vo/ProductreceiptRecordMainBaseVO.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java
  5. 89
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java

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

@ -7,10 +7,8 @@ import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.balance.vo.BalanceExcelVO;
import com.win.module.wms.controller.balance.vo.BalanceExportReqVO;
import com.win.module.wms.controller.balance.vo.BalancePageReqVO;
import com.win.module.wms.controller.balance.vo.BalanceRespVO;
import com.win.module.wms.controller.balance.vo.*;
import com.win.module.wms.controller.productdismantleRecord.vo.ProductdismantleRecordMainUpdateReqVO;
import com.win.module.wms.convert.balance.BalanceConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.service.balance.BalanceService;
@ -40,6 +38,14 @@ public class BalanceController {
@Resource
private AdminUserApi userApi;
@PutMapping("/update")
@Operation(summary = "更新库存余额")
@PreAuthorize("@ss.hasPermission('wms:balance:update')")
public CommonResult<Boolean> updateBalance(@Valid @RequestBody BalanceUpdateReqVO updateReqVO) {
balanceService.updateBalance(updateReqVO);
return success(true);
}
@GetMapping("/page")
@Operation(summary = "获得库存余额分页")
@PreAuthorize("@ss.hasPermission('wms:balance:query')")

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productputawayRecord/vo/ProductputawayRecordMainBaseVO.java

@ -24,7 +24,6 @@ public class ProductputawayRecordMainBaseVO {
private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "任务单号")

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productreceiptRecord/vo/ProductreceiptRecordMainBaseVO.java

@ -25,7 +25,6 @@ public class ProductreceiptRecordMainBaseVO {
private Long id;
@Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请单号不能为空")
private String requestNumber;
@Schema(description = "任务单号")
@ -44,20 +43,16 @@ public class ProductreceiptRecordMainBaseVO {
private String shift;
@Schema(description = "出库事务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "出库事务类型不能为空")
private String outTransactionType;
@Schema(description = "入库事务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "入库事务类型不能为空")
private String inTransactionType;
@Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "执行时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime executeTime;
@Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "生效日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime activeDate;
@ -70,30 +65,25 @@ public class ProductreceiptRecordMainBaseVO {
private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private String departmentCode;
@Schema(description = "接口类型")
private String interfaceType;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空")
private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
private String businessType;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime;
@Schema(description = "创建者Id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建者Id不能为空")
private String creator;
@Schema(description = "代码")
@ -109,7 +99,6 @@ public class ProductreceiptRecordMainBaseVO {
private String toAreaCodes;
@Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "是否可用不能为空")
private String available;
@Schema(description ="更新时间")

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java

@ -4,6 +4,7 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.balance.vo.BalanceExportReqVO;
import com.win.module.wms.controller.balance.vo.BalancePageReqVO;
import com.win.module.wms.controller.balance.vo.BalanceUpdateReqVO;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import java.util.List;
@ -83,6 +84,7 @@ public interface BalanceService {
*/
public List<BalanceDO> selectUniqueId(String packingNumber, String locationCode, List<String> inventoryStatus);
void updateBalance(BalanceUpdateReqVO updateReqVO);
/**
* 根据物品类型查询库存余额
* @param pageVO

89
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java

@ -4,19 +4,37 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.system.api.user.AdminUserApi;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.MyBatisUtils;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.balance.vo.BalanceExportReqVO;
import com.win.module.wms.controller.balance.vo.BalancePageReqVO;
import com.win.module.wms.controller.balance.vo.BalanceUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.balance.BalanceConvert;
import com.win.module.wms.convert.productdismantleRecord.ProductdismantleRecordMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.productdismantleRecord.ProductdismantleRecordMainDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTDISMANTLE_RECORD_MAIN_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS;
/**
* 库存余额 Service 实现类
*
@ -26,6 +44,12 @@ import java.util.List;
@Validated
public class BalanceServiceImpl implements BalanceService {
@Resource
private TransactionService transactionService;
@Resource
private AdminUserApi userApi;
@Resource
private JobUtils jobUtils;
@Resource
private BalanceMapper balanceMapper;
@ -149,6 +173,71 @@ public class BalanceServiceImpl implements BalanceService {
}
}
private BalanceDO validateBalanceExists(Long id) {
BalanceDO balanceDO = balanceMapper.selectById(id);
if (balanceDO == null) {
throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS);
}
return balanceDO;
}
@Override
@Transactional
public void updateBalance(BalanceUpdateReqVO updateReqVO) {
// 校验存在
// 修改前
BalanceDO balanceDO = validateBalanceExists(updateReqVO.getId());
// 修改后
BalanceDO updateBalanceDO = BalanceConvert.INSTANCE.convert(updateReqVO);
//库存事务
TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO();
TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO();
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
// 判断修改的数据项
// 入动作
BeanUtils.copyProperties(updateBalanceDO, transactionCreateReqVOIn);
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType("RCT-CHG"); // 更改入库
transactionCreateReqVOIn.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVOIn.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVOIn.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVOIn.setBusinessType("");
transactionCreateReqVOIn.setOwnerCode(updateBalanceDO.getOwnerCode());
transactionCreateReqVOIn.setRecordNumber("");
transactionCreateReqVOIn.setId(null);
transactionCreateReqVOIn.setPackingNumber(balanceDO.getPackingNumber());
transactionCreateReqVOIn.setBatch(updateBalanceDO.getBatch());
transactionCreateReqVOIn.setContainerNumber(balanceDO.getContainerNumber());
transactionCreateReqVOIn.setAmount(balanceDO.getAmount());
transactionCreateReqVOIn.setWarehouseCode(balanceDO.getWarehouseCode());
transactionCreateReqVOIn.setLocationCode(balanceDO.getLocationCode());
transactionCreateReqVOIn.setInventoryStatus(updateBalanceDO.getInventoryStatus());
transactionCreateReqVOIn.setQty(updateBalanceDO.getQty());
transactionCreateReqVOIn.setExpireDate(updateBalanceDO.getExpireDate());
transactionCreateReqVOList.add(transactionCreateReqVOIn);
// 出动作
BeanUtils.copyProperties(balanceDO, transactionCreateReqVOOut);
TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType("ISS-CHG");
transactionCreateReqVOOut.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction());
transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode());
transactionCreateReqVOOut.setBusinessType("");
transactionCreateReqVOOut.setOwnerCode(balanceDO.getOwnerCode());
transactionCreateReqVOOut.setRecordNumber("");
transactionCreateReqVOOut.setId(null);
transactionCreateReqVOOut.setPackingNumber(balanceDO.getPackingNumber());
transactionCreateReqVOOut.setBatch(balanceDO.getBatch());
transactionCreateReqVOOut.setContainerNumber(balanceDO.getContainerNumber());
transactionCreateReqVOOut.setAmount(balanceDO.getAmount());
transactionCreateReqVOOut.setWarehouseCode(balanceDO.getWarehouseCode());
transactionCreateReqVOOut.setLocationCode(balanceDO.getLocationCode());
transactionCreateReqVOOut.setInventoryStatus(balanceDO.getInventoryStatus());
transactionCreateReqVOOut.setQty(balanceDO.getQty());
transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVOList.add(transactionCreateReqVOOut);
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
}
@Override
public PageResult<BalanceDO> getBalanceItemsPage(BalancePageReqVO pageVO) {
IPage<BalanceDO> mpPage = MyBatisUtils.buildPage(pageVO);

Loading…
Cancel
Save