master:新增销售出库、返单等返回code;
parent
dbba5f1741
commit
f3e3171d28
|
|
@ -57,16 +57,16 @@ public class StoreSaleController extends XktBaseController {
|
|||
@ApiOperation(value = "新增档口销售出库", httpMethod = "POST", response = R.class)
|
||||
@Log(title = "新增档口销售出库", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public R<Integer> add(@Validated @RequestBody StoreSaleVO storeSaleVO) {
|
||||
return R.ok(storeSaleService.insertStoreSale(BeanUtil.toBean(storeSaleVO, StoreSaleDTO.class)));
|
||||
public R<StoreSaleSimpleResVO> add(@Validated @RequestBody StoreSaleVO storeSaleVO) {
|
||||
return R.ok(BeanUtil.toBean(storeSaleService.insertStoreSale(BeanUtil.toBean(storeSaleVO, StoreSaleDTO.class)), StoreSaleSimpleResVO.class));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||
@Log(title = "返单后,更新档口销售出库", businessType = BusinessType.UPDATE)
|
||||
@ApiOperation(value = "返单后,更新档口销售出库", httpMethod = "PUT", response = R.class)
|
||||
@PutMapping
|
||||
public R<Integer> edit(@Validated @RequestBody StoreSaleVO storeSaleVO) {
|
||||
return R.ok(storeSaleService.updateStoreSale(BeanUtil.toBean(storeSaleVO, StoreSaleDTO.class)));
|
||||
public R<StoreSaleSimpleResVO> edit(@Validated @RequestBody StoreSaleVO storeSaleVO) {
|
||||
return R.ok(BeanUtil.toBean(storeSaleService.updateStoreSale(BeanUtil.toBean(storeSaleVO, StoreSaleDTO.class)), StoreSaleSimpleResVO.class));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeSale;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class StoreSaleSimpleResVO {
|
||||
|
||||
@ApiModelProperty(value = "单据编号")
|
||||
private String code;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.ruoyi.xkt.dto.storeSale;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class StoreSaleSimpleResDTO {
|
||||
|
||||
@ApiModelProperty(value = "单据编号")
|
||||
private String code;
|
||||
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ public interface IStoreSaleService {
|
|||
* @param storeSaleDTO 档口销售出库
|
||||
* @return 结果
|
||||
*/
|
||||
int insertStoreSale(StoreSaleDTO storeSaleDTO);
|
||||
StoreSaleSimpleResDTO insertStoreSale(StoreSaleDTO storeSaleDTO);
|
||||
|
||||
/**
|
||||
* 修改档口销售出库
|
||||
|
|
@ -36,7 +36,7 @@ public interface IStoreSaleService {
|
|||
* @param storeSaleDTO 档口销售出库
|
||||
* @return 结果
|
||||
*/
|
||||
int updateStoreSale(StoreSaleDTO storeSaleDTO);
|
||||
StoreSaleSimpleResDTO updateStoreSale(StoreSaleDTO storeSaleDTO);
|
||||
|
||||
/**
|
||||
* 删除档口销售出库信息
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertStoreSale(StoreSaleDTO storeSaleDTO) {
|
||||
public StoreSaleSimpleResDTO insertStoreSale(StoreSaleDTO storeSaleDTO) {
|
||||
// 用户是否为档口管理者或子账户
|
||||
if (!SecurityUtils.isAdmin() && !SecurityUtils.isStoreManagerOrSub(storeSaleDTO.getStoreId())) {
|
||||
throw new ServiceException("当前用户非档口管理者或子账号,无权限操作!", HttpStatus.ERROR);
|
||||
|
|
@ -271,7 +271,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
// 属性赋值
|
||||
storeSale.setCode(code).setVoucherDate(voucherDate).setQuantity(quantity).setAmount(amount).setRoundOff(ObjectUtils.defaultIfNull(storeSaleDTO.getRoundOff(), BigDecimal.ZERO))
|
||||
.setSaleQuantity(saleQuantity).setRefundQuantity(refundQuantity).setOperatorId(loginUser.getUserId()).setOperatorName(loginUser.getUsername()).setCreateBy(loginUser.getUsername());
|
||||
int count = storeSaleMapper.insert(storeSale);
|
||||
storeSaleMapper.insert(storeSale);
|
||||
// 处理订单明细
|
||||
List<StoreSaleDetail> saleDetailList = storeSaleDTO.getDetailList().stream().map(x -> {
|
||||
StoreSaleDetail saleDetail = BeanUtil.toBean(x, StoreSaleDetail.class).setStoreSaleId(storeSale.getId()).setStoreId(storeSale.getStoreId())
|
||||
|
|
@ -287,7 +287,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
.mapping(StoreSaleDTO.SaleDetailVO::getQuantity, Collectors.reducing(0, Integer::sum)))));
|
||||
// 组装库存调整入参调整库存
|
||||
this.storeProdStockService.updateStock(storeSale.getStoreId(), this.getStockDiffList(saleCountMap, -1), 1);
|
||||
return count;
|
||||
return BeanUtil.toBean(storeSale, StoreSaleSimpleResDTO.class);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -299,7 +299,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateStoreSale(StoreSaleDTO storeSaleDTO) {
|
||||
public StoreSaleSimpleResDTO updateStoreSale(StoreSaleDTO storeSaleDTO) {
|
||||
Optional.ofNullable(storeSaleDTO.getStoreSaleId()).orElseThrow(() -> new ServiceException("storeSaleId不能为空!", HttpStatus.ERROR));
|
||||
// 用户是否为档口管理者或子账户
|
||||
if (!SecurityUtils.isAdmin() && !SecurityUtils.isStoreManagerOrSub(storeSaleDTO.getStoreId())) {
|
||||
|
|
@ -344,7 +344,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
BigDecimal amount = storeSaleDTO.getDetailList().stream().map(x -> ObjectUtils.defaultIfNull(x.getAmount(), BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
// 扣除掉抹零金额
|
||||
amount = amount.subtract(ObjectUtils.defaultIfNull(storeSaleDTO.getRoundOff(), BigDecimal.ZERO));
|
||||
int count = this.storeSaleMapper.updateById(storeSale.setQuantity(quantity).setAmount(amount).setSaleQuantity(saleQuantity).setRefundQuantity(refundQuantity).setVoucherDate(voucherDate)
|
||||
this.storeSaleMapper.updateById(storeSale.setQuantity(quantity).setAmount(amount).setSaleQuantity(saleQuantity).setRefundQuantity(refundQuantity).setVoucherDate(voucherDate)
|
||||
.setOperatorId(loginUser.getUserId()).setOperatorName(loginUser.getUsername()).setRoundOff(ObjectUtils.defaultIfNull(storeSaleDTO.getRoundOff(), BigDecimal.ZERO)));
|
||||
// 先将所有明细置为无效,再新增
|
||||
this.storeSaleDetailMapper.updateById(saleDetailList.stream().peek(x -> x.setDelFlag(Constants.DELETED)).collect(Collectors.toList()));
|
||||
|
|
@ -365,7 +365,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
.mapping(StoreSaleDetail::getQuantity, Collectors.reducing(0, Integer::sum)))));
|
||||
// 调整库存
|
||||
this.storeProdStockService.updateStock(storeSale.getStoreId(), this.getStockDiffList(saleCountMap, 1), 1);
|
||||
return count;
|
||||
return BeanUtil.toBean(storeSale, StoreSaleSimpleResDTO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -396,9 +396,9 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
.groupingBy(StoreProductColorSize::getStoreProdId, Collectors
|
||||
.toMap(StoreProductColorSize::getSize, StoreProductColorSize::getStandard, (v1, v2) -> v2)));
|
||||
return storeSaleDTO.setDetailList(saleDetailList.stream().map(x -> {
|
||||
Map<Integer, Integer> tempSizeMap = sizeMap.getOrDefault(x.getStoreProdId(), new HashMap<>());
|
||||
return BeanUtil.toBean(x, StoreSaleResDTO.SSDetailDTO.class).setStandard(tempSizeMap.get(x.getSize()));
|
||||
}).collect(Collectors.toList()));
|
||||
Map<Integer, Integer> tempSizeMap = sizeMap.getOrDefault(x.getStoreProdId(), new HashMap<>());
|
||||
return BeanUtil.toBean(x, StoreSaleResDTO.SSDetailDTO.class).setStandard(tempSizeMap.get(x.getSize()));
|
||||
}).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue