package cn.iocoder.yudao.module.mes.api.returnsales;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.mes.api.returnsales.dto.MesWmReturnSalesCreateReqDTO;
|
import cn.iocoder.yudao.module.mes.api.returnsales.dto.MesWmReturnSalesLineRespDTO;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.returnsales.vo.MesWmReturnSalesSaveReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.returnsales.vo.line.MesWmReturnSalesLineSaveReqVO;
|
import cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService;
|
import cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesLineService;
|
import jakarta.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
|
/**
|
* MES 销售退货单 API 实现类
|
*
|
* @author 超级管理员
|
*/
|
@Service
|
public class MesWmReturnSalesApiImpl implements MesWmReturnSalesApi {
|
|
@Resource
|
private MesWmReturnSalesService returnSalesService;
|
@Resource
|
private MesWmReturnSalesLineService returnSalesLineService;
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public Long createReturnSales(MesWmReturnSalesCreateReqDTO reqDTO) {
|
MesWmReturnSalesSaveReqVO createReqVO = BeanUtils.toBean(reqDTO, MesWmReturnSalesSaveReqVO.class);
|
createReqVO.setAfterSaleReturnId(reqDTO.getAfterSaleReturnId());
|
Long returnId = returnSalesService.createReturnSales(createReqVO);
|
List<MesWmReturnSalesCreateReqDTO.Item> items = reqDTO.getItems();
|
if (items != null) {
|
for (MesWmReturnSalesCreateReqDTO.Item item : items) {
|
MesWmReturnSalesLineSaveReqVO line = new MesWmReturnSalesLineSaveReqVO()
|
.setReturnId(returnId).setItemId(item.getItemId()).setQuantity(item.getQuantity())
|
.setBatchId(item.getBatchId()).setBatchCode(item.getBatchCode())
|
.setRqcCheckFlag(true).setRemark(item.getRemark());
|
returnSalesLineService.createReturnSalesLine(line);
|
}
|
}
|
return returnId;
|
}
|
|
@Override
|
public void cancelReturnSales(Long id) {
|
returnSalesService.cancelReturnSales(id);
|
}
|
|
@Override
|
public List<MesWmReturnSalesLineRespDTO> getReturnSalesLineList(Long returnSalesId) {
|
return BeanUtils.toBean(returnSalesLineService.getReturnSalesLineListByReturnId(returnSalesId),
|
MesWmReturnSalesLineRespDTO.class);
|
}
|
|
}
|