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 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 getReturnSalesLineList(Long returnSalesId) { return BeanUtils.toBean(returnSalesLineService.getReturnSalesLineListByReturnId(returnSalesId), MesWmReturnSalesLineRespDTO.class); } }