退货单

This commit is contained in:
liux 2025-07-11 11:21:46 +08:00
parent 59be7d17fa
commit ba3489dc8c
2 changed files with 67 additions and 49 deletions

View File

@ -6,11 +6,13 @@ import javax.validation.Valid;
import com.bonus.canteen.core.ims.dto.*;
import com.bonus.canteen.core.ims.vo.*;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.log.enums.OperaType;
//import com.bonus.canteen.core.ims.common.annotation.PreventRepeatSubmit;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@ -56,6 +58,7 @@ public class RefundGoodsController extends BaseController {
@PostMapping({"/save"})
@ApiOperation("新增退货单")
@Transactional
public AjaxResult addRefundGoods(@RequestBody RefundGoodsAddDTO content) {
RefundGoodsAddVO drpRefundGoodsAddVO = refundGoodsService.addRefundGoodsOrder(content);
return success(drpRefundGoodsAddVO);
@ -63,9 +66,14 @@ public class RefundGoodsController extends BaseController {
@PostMapping({"/commit"})
@ApiOperation("新增退货单")
@Transactional
public AjaxResult commitRefundGoods(@RequestBody RefundGoodsCommitDTO content) {
RefundGoodsAddVO drpRefundGoodsAddVO = refundGoodsService.commitRefundGoodsOrder(content);
return success(drpRefundGoodsAddVO);
try{
RefundGoodsAddVO drpRefundGoodsAddVO = refundGoodsService.commitRefundGoodsOrder(content);
return success(drpRefundGoodsAddVO);
}catch (Exception e) {
throw new ServiceException(e.getMessage());
}
}

View File

@ -85,6 +85,8 @@ public class RefundGoodsServiceImpl implements IRefundGoodsService {
@Override
public RefundGoodsAddVO addRefundGoodsOrder(RefundGoodsAddDTO content) {
try{
RefundGoods drpRefundGoods = new RefundGoods();
BeanUtil.copyProperties(content, drpRefundGoods, new String[0]);
Long refundGoodsId = content.getRefundGoodsId();
@ -119,59 +121,67 @@ public class RefundGoodsServiceImpl implements IRefundGoodsService {
this.RefundGoodsDetailMapper.insertRefundGoodsDetail(drpRefundGoodsDetail);
}
return (new RefundGoodsAddVO()).setRefundGoodsId(drpRefundGoods.getRefundGoodsId());
}catch (Exception e) {
throw new ServiceException(e.getMessage());
}
}
@Override
public RefundGoodsAddVO commitRefundGoodsOrder(RefundGoodsCommitDTO content) {
RefundGoods drpRefundGoods = new RefundGoods();
BeanUtil.copyProperties(content, drpRefundGoods, new String[0]);
Long refundGoodsId = content.getRefundGoodsId();
drpRefundGoods.setStatus(DrpCommitStatusEnum.SAVE.key());
if(refundGoodsId == null){
String fetchMaterialCode = NoGenerateUtils.generateRefundGoodsCode();
drpRefundGoods.setRefundGoodsCode(fetchMaterialCode);
drpRefundGoods.setRelateOrderGoodsId(content.getOrderGoodsId());
drpRefundGoods.setRefundTime(content.getRefundTime());
drpRefundGoods.setCreateTime(DateUtils.getNowDate());
drpRefundGoods.setCreateBy(SecurityUtils.getUsername());
refundGoodsMapper.insertRefundGoods(drpRefundGoods);
}else{
drpRefundGoods.setUpdateBy(SecurityUtils.getUsername());
drpRefundGoods.setUpdateTime(DateUtils.getNowDate());
refundGoodsMapper.updateRefundGoods(drpRefundGoods);
RefundGoodsDetailMapper.deleteRefundGoodsDetailByRefundRefundGoodsId(refundGoodsId);
try{
RefundGoods drpRefundGoods = new RefundGoods();
BeanUtil.copyProperties(content, drpRefundGoods, new String[0]);
Long refundGoodsId = content.getRefundGoodsId();
drpRefundGoods.setStatus(DrpCommitStatusEnum.SAVE.key());
if(refundGoodsId == null){
String fetchMaterialCode = NoGenerateUtils.generateRefundGoodsCode();
drpRefundGoods.setRefundGoodsCode(fetchMaterialCode);
drpRefundGoods.setRelateOrderGoodsId(content.getOrderGoodsId());
drpRefundGoods.setRefundTime(content.getRefundTime());
drpRefundGoods.setCreateTime(DateUtils.getNowDate());
drpRefundGoods.setCreateBy(SecurityUtils.getUsername());
refundGoodsMapper.insertRefundGoods(drpRefundGoods);
}else{
drpRefundGoods.setUpdateBy(SecurityUtils.getUsername());
drpRefundGoods.setUpdateTime(DateUtils.getNowDate());
refundGoodsMapper.updateRefundGoods(drpRefundGoods);
RefundGoodsDetailMapper.deleteRefundGoodsDetailByRefundRefundGoodsId(refundGoodsId);
}
Iterator<RefundGoodsDetailAddDTO> iterator1 = content.getDetailList().iterator();
while(iterator1.hasNext()) {
RefundGoodsDetailAddDTO drpRefundGoodsDetailAddDTO = iterator1.next();
RefundGoodsDetail drpRefundGoodsDetail = new RefundGoodsDetail();
BeanUtil.copyProperties(drpRefundGoodsDetailAddDTO, drpRefundGoodsDetail, new String[0]);
drpRefundGoodsDetail.setRefundGoodsId(drpRefundGoods.getRefundGoodsId());
drpRefundGoodsDetail.setCreateTime(DateUtils.getNowDate());
drpRefundGoodsDetail.setCreateBy(SecurityUtils.getUsername());
drpRefundGoodsDetail.setRefundGoodsCode(drpRefundGoods.getRefundGoodsCode());
this.RefundGoodsDetailMapper.insertRefundGoodsDetail(drpRefundGoodsDetail);
}
ImsOutInventoryAdd imsOutInventoryAdd = new ImsOutInventoryAdd();
imsOutInventoryAdd.setOutDate(content.getRefundTime());
imsOutInventoryAdd.setFetchUser(content.getRefundContact());
imsOutInventoryAdd.setWarehouseId(content.getRefundWarehouseId());
imsOutInventoryAdd.setOutType(Long.valueOf(OutInventoryTypeEnum.BACK.key()));
imsOutInventoryAdd.setStatus(DrpCommitStatusEnum.COMMIT.key());
Iterator<RefundGoodsDetailAddDTO> iterator2 = content.getDetailList().iterator();
List<ImsOutInventoryDetailAdd> imsOutInventoryDetailAddList = new ArrayList<>();
while(iterator2.hasNext()) {
RefundGoodsDetailAddDTO drpRefundGoodsDetailAddDTO = iterator2.next();
ImsOutInventoryDetailAdd imsOutInventoryDetailAdd = new ImsOutInventoryDetailAdd();
imsOutInventoryDetailAdd.setInventoryId(drpRefundGoodsDetailAddDTO.getInventoryId());
imsOutInventoryDetailAdd.setFetchNum(drpRefundGoodsDetailAddDTO.getRefundNum());
imsOutInventoryDetailAdd.setIntoDetailId(drpRefundGoodsDetailAddDTO.getIntoDetailId());
imsOutInventoryDetailAddList.add(imsOutInventoryDetailAdd);
}
imsOutInventoryAdd.setImsOutInventoryDetailAddList(imsOutInventoryDetailAddList);
drpOutInventoryService.insertImsOutInventory( imsOutInventoryAdd);
return (new RefundGoodsAddVO()).setRefundGoodsId(drpRefundGoods.getRefundGoodsId());
}catch (Exception e) {
throw new ServiceException(e.getMessage());
}
Iterator<RefundGoodsDetailAddDTO> iterator1 = content.getDetailList().iterator();
while(iterator1.hasNext()) {
RefundGoodsDetailAddDTO drpRefundGoodsDetailAddDTO = iterator1.next();
RefundGoodsDetail drpRefundGoodsDetail = new RefundGoodsDetail();
BeanUtil.copyProperties(drpRefundGoodsDetailAddDTO, drpRefundGoodsDetail, new String[0]);
drpRefundGoodsDetail.setRefundGoodsId(drpRefundGoods.getRefundGoodsId());
drpRefundGoodsDetail.setCreateTime(DateUtils.getNowDate());
drpRefundGoodsDetail.setCreateBy(SecurityUtils.getUsername());
drpRefundGoodsDetail.setRefundGoodsCode(drpRefundGoods.getRefundGoodsCode());
this.RefundGoodsDetailMapper.insertRefundGoodsDetail(drpRefundGoodsDetail);
}
ImsOutInventoryAdd imsOutInventoryAdd = new ImsOutInventoryAdd();
imsOutInventoryAdd.setOutDate(content.getRefundTime());
imsOutInventoryAdd.setFetchUser(content.getRefundContact());
imsOutInventoryAdd.setWarehouseId(content.getRefundWarehouseId());
imsOutInventoryAdd.setOutType(Long.valueOf(OutInventoryTypeEnum.BACK.key()));
imsOutInventoryAdd.setStatus(DrpCommitStatusEnum.COMMIT.key());
Iterator<RefundGoodsDetailAddDTO> iterator2 = content.getDetailList().iterator();
List<ImsOutInventoryDetailAdd> imsOutInventoryDetailAddList = new ArrayList<>();
while(iterator2.hasNext()) {
RefundGoodsDetailAddDTO drpRefundGoodsDetailAddDTO = iterator2.next();
ImsOutInventoryDetailAdd imsOutInventoryDetailAdd = new ImsOutInventoryDetailAdd();
imsOutInventoryDetailAdd.setInventoryId(drpRefundGoodsDetailAddDTO.getInventoryId());
imsOutInventoryDetailAdd.setFetchNum(drpRefundGoodsDetailAddDTO.getRefundNum());
imsOutInventoryDetailAdd.setIntoDetailId(drpRefundGoodsDetailAddDTO.getIntoDetailId());
imsOutInventoryDetailAddList.add(imsOutInventoryDetailAdd);
}
imsOutInventoryAdd.setImsOutInventoryDetailAddList(imsOutInventoryDetailAddList);
drpOutInventoryService.insertImsOutInventory( imsOutInventoryAdd);
return (new RefundGoodsAddVO()).setRefundGoodsId(drpRefundGoods.getRefundGoodsId());
}
@Override