新增接口同时插入主表和详情表数据
This commit is contained in:
@@ -23,6 +23,7 @@ import com.klp.domain.vo.WmsStockIoVo;
|
||||
import com.klp.domain.bo.WmsStockIoBo;
|
||||
import com.klp.service.IWmsStockIoService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.domain.bo.WmsStockIoWithDetailBo;
|
||||
|
||||
/**
|
||||
* 出入库单主表
|
||||
@@ -77,6 +78,15 @@ public class WmsStockIoController extends BaseController {
|
||||
return toAjax(iWmsStockIoService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量新增主表和明细
|
||||
*/
|
||||
@PostMapping("/withDetail")
|
||||
public R<Void> addWithDetail(@RequestBody WmsStockIoWithDetailBo bo) {
|
||||
iWmsStockIoService.addWithDetail(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改出入库单主
|
||||
*/
|
||||
@@ -132,8 +142,9 @@ public class WmsStockIoController extends BaseController {
|
||||
*/
|
||||
@Log(title = "出入库单主", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/updateStatus/{stockIoId}")
|
||||
public R<Void> updateStatus(@NotNull(message = "主键不能为空") @PathVariable Long stockIoId,
|
||||
public R<Void> updateStatus(@NotNull(message = "主键不能为空") @PathVariable Long stockIoId,
|
||||
@RequestParam Integer status) {
|
||||
return toAjax(iWmsStockIoService.updateStatus(stockIoId, status));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.klp.domain.bo;
|
||||
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 出入库单主+明细批量插入业务对象
|
||||
*/
|
||||
@Data
|
||||
public class WmsStockIoWithDetailBo {
|
||||
// 主表字段
|
||||
/**
|
||||
* 出入库单ID
|
||||
*/
|
||||
private Long stockIoId;
|
||||
|
||||
/**
|
||||
* 出入库单号
|
||||
*/
|
||||
@NotBlank(message = "出入库单号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String stockIoCode;
|
||||
|
||||
/**
|
||||
* 类型(in=入库,out=出库)
|
||||
*/
|
||||
@NotBlank(message = "类型(in=入库,out=出库)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String ioType;
|
||||
|
||||
/**
|
||||
* 业务类型(采购、销售、退货、调拨等)
|
||||
*/
|
||||
@NotBlank(message = "业务类型(采购、销售、退货、调拨等)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String bizType;
|
||||
|
||||
/**
|
||||
* 单据状态(0=草稿,1=已提交,2=已审核,3=已完成)
|
||||
*/
|
||||
@NotNull(message = "单据状态(0=草稿,1=已提交,2=已审核,3=已完成)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
// ...如有其他主表字段可补充
|
||||
|
||||
// 明细列表
|
||||
private List<WmsStockIoDetailBo> details;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.klp.domain.WmsStockIo;
|
||||
import com.klp.domain.vo.WmsStockIoDetailVo;
|
||||
import com.klp.domain.vo.WmsStockIoVo;
|
||||
import com.klp.domain.bo.WmsStockIoBo;
|
||||
import com.klp.domain.bo.WmsStockIoWithDetailBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
@@ -67,4 +68,9 @@ public interface IWmsStockIoService {
|
||||
* 更新出入库单状态
|
||||
*/
|
||||
Boolean updateStatus(Long stockIoId, Integer status);
|
||||
|
||||
/**
|
||||
* 批量新增主表和明细
|
||||
*/
|
||||
void addWithDetail(WmsStockIoWithDetailBo bo);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import com.klp.common.exception.ServiceException;
|
||||
import com.klp.domain.bo.WmsStockIoWithDetailBo;
|
||||
import com.klp.domain.bo.WmsStockIoDetailBo;
|
||||
|
||||
/**
|
||||
* 出入库单主Service业务层处理
|
||||
@@ -123,6 +125,25 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量新增主表和明细
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void addWithDetail(WmsStockIoWithDetailBo bo) {
|
||||
// 插入主表
|
||||
WmsStockIo stockIo = BeanUtil.toBean(bo, WmsStockIo.class);
|
||||
baseMapper.insert(stockIo);
|
||||
// 插入明细
|
||||
if (bo.getDetails() != null && !bo.getDetails().isEmpty()) {
|
||||
for (WmsStockIoDetailBo detailBo : bo.getDetails()) {
|
||||
WmsStockIoDetail detail = BeanUtil.toBean(detailBo, WmsStockIoDetail.class);
|
||||
detail.setStockIoId(stockIo.getStockIoId());
|
||||
stockIoDetailMapper.insert(detail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核出入库/移库单,变更库存,含库存校验
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user