master:销售返单记录功能;
parent
f9783719d7
commit
2081504fa7
|
|
@ -44,23 +44,17 @@ public class StoreProductStorageController extends XktBaseController {
|
|||
|
||||
final IStoreProductStorageService storeProdStorageService;
|
||||
|
||||
|
||||
// TODO 新增入款单库存会变化
|
||||
// TODO 新增入款单库存会变化
|
||||
// TODO 新增入款单库存会变化
|
||||
|
||||
|
||||
// TODO 撤销入款单库存会变化
|
||||
// TODO 撤销入款单库存会变化
|
||||
// TODO 撤销入款单库存会变化
|
||||
|
||||
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
|
||||
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
// TODO 需求抵扣明细没做
|
||||
|
||||
/**
|
||||
* 新增档口商品入库
|
||||
|
|
|
|||
|
|
@ -80,21 +80,6 @@ public class StoreSaleController extends XktBaseController {
|
|||
@ApiOperation(value = "返单后,更新档口销售出库", httpMethod = "PUT", response = R.class)
|
||||
@PutMapping
|
||||
public R edit(@Validated @RequestBody StoreSaleVO storeSaleVO) {
|
||||
|
||||
// TODO 扣件库存
|
||||
// TODO 扣件库存
|
||||
// TODO 扣件库存
|
||||
// TODO 扣件库存
|
||||
// TODO 扣件库存
|
||||
// TODO 扣件库存
|
||||
|
||||
|
||||
// TODO 增加库存
|
||||
// TODO 增加库存
|
||||
// TODO 增加库存
|
||||
// TODO 增加库存
|
||||
// TODO 增加库存
|
||||
// TODO 增加库存
|
||||
return R.ok(storeSaleService.updateStoreSale(BeanUtil.toBean(storeSaleVO, StoreSaleDTO.class)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,29 @@
|
|||
package com.ruoyi.web.controller.xkt;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.XktBaseController;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdStock.StoreProdStockPageVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeSaleRefundRecord.StoreSaleRefundRecordVO;
|
||||
import com.ruoyi.xkt.domain.StoreSaleRefundRecord;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
||||
import com.ruoyi.xkt.dto.storeSaleRefundRecord.StoreSaleRefundRecordDTO;
|
||||
import com.ruoyi.xkt.service.IStoreSaleRefundRecordService;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -22,70 +33,21 @@ import java.util.List;
|
|||
* @date 2025-03-26
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/rest/v1/sale-refund-records")
|
||||
public class StoreSaleRefundRecordController extends XktBaseController {
|
||||
@Autowired
|
||||
private IStoreSaleRefundRecordService storeSaleRefundRecordService;
|
||||
|
||||
final IStoreSaleRefundRecordService storeSaleRefundRecordService;
|
||||
|
||||
/**
|
||||
* 查询档口销售返单列表
|
||||
* 查询档口销售出库返单记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:record:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
startPage();
|
||||
List<StoreSaleRefundRecord> list = storeSaleRefundRecordService.selectStoreSaleRefundRecordList(storeSaleRefundRecord);
|
||||
return getDataTable(list);
|
||||
@PreAuthorize("@ss.hasPermi('system:refund:list')")
|
||||
@ApiOperation(value = "查询档口销售出库返单记录", httpMethod = "POST", response = R.class)
|
||||
@GetMapping("/list/{storeId}/{storeSaleId}")
|
||||
public R<List<StoreSaleRefundRecordVO>> selectPage(@PathVariable("storeId") Long storeId, @PathVariable("storeSaleId") Long storeSaleId) {
|
||||
List<StoreSaleRefundRecordDTO> refundDTOList = this.storeSaleRefundRecordService.selectList(storeId, storeSaleId);
|
||||
return R.ok(BeanUtil.copyToList(refundDTOList, StoreSaleRefundRecordVO.class));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出档口销售返单列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:record:export')")
|
||||
@Log(title = "档口销售返单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
List<StoreSaleRefundRecord> list = storeSaleRefundRecordService.selectStoreSaleRefundRecordList(storeSaleRefundRecord);
|
||||
ExcelUtil<StoreSaleRefundRecord> util = new ExcelUtil<StoreSaleRefundRecord>(StoreSaleRefundRecord.class);
|
||||
util.exportExcel(response, list, "档口销售返单数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取档口销售返单详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:record:query')")
|
||||
@GetMapping(value = "/{storeSaleRefundRecordId}")
|
||||
public R getInfo(@PathVariable("storeSaleRefundRecordId") Long storeSaleRefundRecordId) {
|
||||
return success(storeSaleRefundRecordService.selectStoreSaleRefundRecordByStoreSaleRefundRecordId(storeSaleRefundRecordId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增档口销售返单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:record:add')")
|
||||
@Log(title = "档口销售返单", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public R add(@RequestBody StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
return success(storeSaleRefundRecordService.insertStoreSaleRefundRecord(storeSaleRefundRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改档口销售返单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:record:edit')")
|
||||
@Log(title = "档口销售返单", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public R edit(@RequestBody StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
return success(storeSaleRefundRecordService.updateStoreSaleRefundRecord(storeSaleRefundRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除档口销售返单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:record:remove')")
|
||||
@Log(title = "档口销售返单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{storeSaleRefundRecordIds}")
|
||||
public R remove(@PathVariable Long[] storeSaleRefundRecordIds) {
|
||||
return success(storeSaleRefundRecordService.deleteStoreSaleRefundRecordByStoreSaleRefundRecordIds(storeSaleRefundRecordIds));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeSaleRefundRecord;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口商品销售返单数据")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreSaleRefundRecordVO {
|
||||
|
||||
@ApiModelProperty("返单ID")
|
||||
private Long storeSaleRefundRecordId;
|
||||
@ApiModelProperty(name = "单据编号")
|
||||
private String code;
|
||||
@ApiModelProperty(name = "档口销售客户名称")
|
||||
private String storeCusName;
|
||||
@JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
@ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)ALIPAY WECHAT_PAY CASH DEBT")
|
||||
private String payWay;
|
||||
@ApiModelProperty(name = "数量")
|
||||
private Integer quantity;
|
||||
@ApiModelProperty(name = "总金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
}
|
||||
|
|
@ -24,6 +24,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||
|
||||
public static String YYYY_MM_DD = "yyyy-MM-dd";
|
||||
|
||||
public static String YYYYMMDD = "yyyyMMdd";
|
||||
|
||||
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
|
||||
|
||||
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
package com.ruoyi.xkt.dto.storeSaleRefundRecord;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口商品销售返单数据")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreSaleRefundRecordDTO {
|
||||
|
||||
@ApiModelProperty("返单ID")
|
||||
private Long storeSaleRefundRecordId;
|
||||
@ApiModelProperty(name = "单据编号")
|
||||
private String code;
|
||||
@ApiModelProperty(name = "档口销售客户名称")
|
||||
private String storeCusName;
|
||||
@JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
@ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)ALIPAY WECHAT_PAY CASH DEBT")
|
||||
private String payWay;
|
||||
@ApiModelProperty(name = "数量")
|
||||
private Integer quantity;
|
||||
@ApiModelProperty(name = "总金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.ruoyi.xkt.service;
|
||||
|
||||
import com.ruoyi.xkt.domain.StoreSaleRefundRecord;
|
||||
import com.ruoyi.xkt.dto.storeSaleRefundRecord.StoreSaleRefundRecordDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -11,51 +11,13 @@ import java.util.List;
|
|||
* @date 2025-03-26
|
||||
*/
|
||||
public interface IStoreSaleRefundRecordService {
|
||||
/**
|
||||
* 查询档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecordId 档口销售返单主键
|
||||
* @return 档口销售返单
|
||||
*/
|
||||
public StoreSaleRefundRecord selectStoreSaleRefundRecordByStoreSaleRefundRecordId(Long storeSaleRefundRecordId);
|
||||
|
||||
/**
|
||||
* 查询档口销售返单列表
|
||||
*
|
||||
* @param storeSaleRefundRecord 档口销售返单
|
||||
* @param storeId 档口ID
|
||||
* @param storeSaleId 档口销售ID
|
||||
* @return 档口销售返单集合
|
||||
*/
|
||||
public List<StoreSaleRefundRecord> selectStoreSaleRefundRecordList(StoreSaleRefundRecord storeSaleRefundRecord);
|
||||
|
||||
/**
|
||||
* 新增档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecord 档口销售返单
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertStoreSaleRefundRecord(StoreSaleRefundRecord storeSaleRefundRecord);
|
||||
|
||||
/**
|
||||
* 修改档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecord 档口销售返单
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateStoreSaleRefundRecord(StoreSaleRefundRecord storeSaleRefundRecord);
|
||||
|
||||
/**
|
||||
* 批量删除档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecordIds 需要删除的档口销售返单主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteStoreSaleRefundRecordByStoreSaleRefundRecordIds(Long[] storeSaleRefundRecordIds);
|
||||
|
||||
/**
|
||||
* 删除档口销售返单信息
|
||||
*
|
||||
* @param storeSaleRefundRecordId 档口销售返单主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteStoreSaleRefundRecordByStoreSaleRefundRecordId(Long storeSaleRefundRecordId);
|
||||
public List<StoreSaleRefundRecordDTO> selectList(Long storeId, Long storeSaleId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService {
|
|||
/**
|
||||
* 清空库存
|
||||
*
|
||||
* @param storeId
|
||||
* @param storeId 档口ID
|
||||
* @param storeProdStockId 清空库存
|
||||
* @return int
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -72,7 +73,7 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi
|
|||
@Transactional
|
||||
public int create(StoreProdStorageDTO storeProdStorageDTO) {
|
||||
// 生成code
|
||||
String code = this.sequenceService.generateCode(storeProdStorageDTO.getStoreId(), "STORAGE", DateUtils.getDate());
|
||||
String code = this.sequenceService.generateCode(storeProdStorageDTO.getStoreId(), "STORAGE", DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date()));
|
||||
// 总的数量
|
||||
Integer totalNum = storeProdStorageDTO.getDetailList().stream().map(x -> ObjectUtils.defaultIfNull(x.getQuantity(), 0)).reduce(0, Integer::sum);
|
||||
// 总的金额
|
||||
|
|
|
|||
|
|
@ -1,14 +1,25 @@
|
|||
package com.ruoyi.xkt.service.impl;
|
||||
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ruoyi.common.constant.HttpStatus;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.xkt.domain.StoreSale;
|
||||
import com.ruoyi.xkt.domain.StoreSaleRefundRecord;
|
||||
import com.ruoyi.xkt.dto.storeSaleRefundRecord.StoreSaleRefundRecordDTO;
|
||||
import com.ruoyi.xkt.mapper.StoreSaleMapper;
|
||||
import com.ruoyi.xkt.mapper.StoreSaleRefundRecordMapper;
|
||||
import com.ruoyi.xkt.service.IStoreSaleRefundRecordService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 档口销售返单Service业务层处理
|
||||
|
|
@ -17,79 +28,36 @@ import java.util.List;
|
|||
* @date 2025-03-26
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class StoreSaleRefundRecordServiceImpl implements IStoreSaleRefundRecordService {
|
||||
@Autowired
|
||||
private StoreSaleRefundRecordMapper storeSaleRefundRecordMapper;
|
||||
|
||||
/**
|
||||
* 查询档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecordId 档口销售返单主键
|
||||
* @return 档口销售返单
|
||||
*/
|
||||
@Override
|
||||
public StoreSaleRefundRecord selectStoreSaleRefundRecordByStoreSaleRefundRecordId(Long storeSaleRefundRecordId) {
|
||||
return storeSaleRefundRecordMapper.selectStoreSaleRefundRecordByStoreSaleRefundRecordId(storeSaleRefundRecordId);
|
||||
}
|
||||
final StoreSaleRefundRecordMapper refundRecordMapper;
|
||||
final StoreSaleMapper storeSaleMapper;
|
||||
|
||||
/**
|
||||
* 查询档口销售返单列表
|
||||
*
|
||||
* @param storeSaleRefundRecord 档口销售返单
|
||||
* @return 档口销售返单
|
||||
* @param storeId 档口ID
|
||||
* @param storeSaleId 档口销售ID
|
||||
* @return 档口销售返单集合
|
||||
*/
|
||||
@Override
|
||||
public List<StoreSaleRefundRecord> selectStoreSaleRefundRecordList(StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
return storeSaleRefundRecordMapper.selectStoreSaleRefundRecordList(storeSaleRefundRecord);
|
||||
@Transactional(readOnly = true)
|
||||
public List<StoreSaleRefundRecordDTO> selectList(Long storeId, Long storeSaleId) {
|
||||
List<StoreSaleRefundRecord> refundRecordList = this.refundRecordMapper.selectList(new LambdaQueryWrapper<StoreSaleRefundRecord>()
|
||||
.eq(StoreSaleRefundRecord::getStoreId, storeId).eq(StoreSaleRefundRecord::getStoreSaleId, storeSaleId).eq(StoreSaleRefundRecord::getDelFlag, "0"));
|
||||
if (CollectionUtils.isEmpty(refundRecordList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<StoreSaleRefundRecordDTO> refundRecordDTOList = refundRecordList.stream().map(x -> BeanUtil.toBean(x, StoreSaleRefundRecordDTO.class)
|
||||
.setStoreSaleRefundRecordId(x.getId())).collect(Collectors.toList());
|
||||
// 获取当前最新数据
|
||||
StoreSale storeSale = Optional.ofNullable(storeSaleMapper.selectById(storeSaleId))
|
||||
.orElseThrow(() -> new ServiceException("档口销售出库订单不存在!", HttpStatus.ERROR));
|
||||
refundRecordDTOList.add(BeanUtil.toBean(storeSale, StoreSaleRefundRecordDTO.class).setStoreSaleRefundRecordId(-1L));
|
||||
// 将最新数据放在第一位
|
||||
Collections.reverse(refundRecordDTOList);
|
||||
return refundRecordDTOList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecord 档口销售返单
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertStoreSaleRefundRecord(StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
storeSaleRefundRecord.setCreateTime(DateUtils.getNowDate());
|
||||
return storeSaleRefundRecordMapper.insertStoreSaleRefundRecord(storeSaleRefundRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecord 档口销售返单
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateStoreSaleRefundRecord(StoreSaleRefundRecord storeSaleRefundRecord) {
|
||||
storeSaleRefundRecord.setUpdateTime(DateUtils.getNowDate());
|
||||
return storeSaleRefundRecordMapper.updateStoreSaleRefundRecord(storeSaleRefundRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除档口销售返单
|
||||
*
|
||||
* @param storeSaleRefundRecordIds 需要删除的档口销售返单主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteStoreSaleRefundRecordByStoreSaleRefundRecordIds(Long[] storeSaleRefundRecordIds) {
|
||||
return storeSaleRefundRecordMapper.deleteStoreSaleRefundRecordByStoreSaleRefundRecordIds(storeSaleRefundRecordIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除档口销售返单信息
|
||||
*
|
||||
* @param storeSaleRefundRecordId 档口销售返单主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteStoreSaleRefundRecordByStoreSaleRefundRecordId(Long storeSaleRefundRecordId) {
|
||||
return storeSaleRefundRecordMapper.deleteStoreSaleRefundRecordByStoreSaleRefundRecordId(storeSaleRefundRecordId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService {
|
|||
public int insertStoreSale(StoreSaleDTO storeSaleDTO) {
|
||||
StoreSale storeSale = BeanUtil.toBean(storeSaleDTO, StoreSale.class);
|
||||
// 生成code
|
||||
String code = this.sequenceService.generateCode(storeSaleDTO.getStoreId(), "STORE_SALE", DateUtils.getDate());
|
||||
String code = this.sequenceService.generateCode(storeSaleDTO.getStoreId(), "STORE_SALE", DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date()));
|
||||
// 总的数量
|
||||
Integer quantity = storeSaleDTO.getDetailList().stream().map(x -> ObjectUtils.defaultIfNull(x.getQuantity(), 0)).reduce(0, Integer::sum);
|
||||
// 总的金额
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class VoucherSequenceServiceImpl implements IVoucherSequenceService {
|
|||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
public synchronized String generateCode(Long storeId, String type, String voucherDate) {
|
||||
VoucherSequence voucherSequence = this.sequenceMapper.queryByStoreIdAndType(storeId, type);
|
||||
String code = voucherSequence.getPrefix() + "-" + voucherDate + "-"
|
||||
String code = voucherSequence.getPrefix() + "-" + voucherDate + storeId + "-"
|
||||
+ String.format(voucherSequence.getSequenceFormat(), voucherSequence.getNextSequence());
|
||||
sequenceMapper.updateById(voucherSequence.setNextSequence(voucherSequence.getNextSequence() + 1));
|
||||
return code;
|
||||
|
|
|
|||
Loading…
Reference in New Issue