电子请购单
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package com.klp.erp.controller;
|
||||
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.erp.domain.bo.ErpPurchaseRequisitionBo;
|
||||
import com.klp.erp.domain.vo.ErpPurchaseRequisitionVo;
|
||||
import com.klp.erp.service.IErpPurchaseRequisitionService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请购及采购单
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/erp/purchaseRequisition")
|
||||
public class ErpPurchaseRequisitionController extends BaseController {
|
||||
|
||||
private final IErpPurchaseRequisitionService iErpPurchaseRequisitionService;
|
||||
|
||||
/** 查询请购单列表 */
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<ErpPurchaseRequisitionVo> list(ErpPurchaseRequisitionBo bo, PageQuery pageQuery) {
|
||||
return iErpPurchaseRequisitionService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/** 导出请购单列表 */
|
||||
@Log(title = "请购及采购单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ErpPurchaseRequisitionBo bo, HttpServletResponse response) {
|
||||
List<ErpPurchaseRequisitionVo> list = iErpPurchaseRequisitionService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "请购及采购单", ErpPurchaseRequisitionVo.class, response);
|
||||
}
|
||||
|
||||
/** 获取请购单详细信息(含明细) */
|
||||
@GetMapping("/{reqId}")
|
||||
public R<ErpPurchaseRequisitionVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long reqId) {
|
||||
return R.ok(iErpPurchaseRequisitionService.queryById(reqId));
|
||||
}
|
||||
|
||||
/** 新增请购单 */
|
||||
@Log(title = "请购及采购单", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody ErpPurchaseRequisitionBo bo) {
|
||||
return toAjax(iErpPurchaseRequisitionService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/** 修改请购单 */
|
||||
@Log(title = "请购及采购单", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ErpPurchaseRequisitionBo bo) {
|
||||
return toAjax(iErpPurchaseRequisitionService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/** 删除请购单 */
|
||||
@Log(title = "请购及采购单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{reqIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] reqIds) {
|
||||
return toAjax(iErpPurchaseRequisitionService.deleteWithValidByIds(Arrays.asList(reqIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.klp.erp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 请购及采购单明细对象 erp_purchase_requisition_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("erp_purchase_requisition_item")
|
||||
public class ErpPurchaseRequisitionItem extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 明细ID */
|
||||
@TableId(value = "item_id")
|
||||
private Long itemId;
|
||||
|
||||
/** 关联请购单ID */
|
||||
private Long reqId;
|
||||
|
||||
/** 项次 */
|
||||
private String seq;
|
||||
|
||||
/** 品名 */
|
||||
private String itemName;
|
||||
|
||||
/** 规格 */
|
||||
private String specification;
|
||||
|
||||
/** 单位 */
|
||||
private String unit;
|
||||
|
||||
/** 请购量 */
|
||||
private String quantity;
|
||||
|
||||
/** 删除标志 */
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.klp.erp.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请购及采购单业务对象 erp_purchase_requisition
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ErpPurchaseRequisitionBo extends BaseEntity {
|
||||
|
||||
/** 主键 */
|
||||
@NotNull(message = "主键不能为空", groups = {EditGroup.class})
|
||||
private Long reqId;
|
||||
|
||||
/** 请购部门 */
|
||||
private String reqDept;
|
||||
|
||||
/** 品名 */
|
||||
private String itemName;
|
||||
|
||||
/** 规格 */
|
||||
private String specification;
|
||||
|
||||
/** 单位 */
|
||||
private String unit;
|
||||
|
||||
/** 请购量 */
|
||||
private String quantity;
|
||||
|
||||
/** 类别 */
|
||||
private String category;
|
||||
|
||||
/** 需求日期 */
|
||||
private String requiredDate;
|
||||
|
||||
/** 用途说明 */
|
||||
private String purposeDesc;
|
||||
|
||||
/** 使用部门 */
|
||||
private String useDept;
|
||||
|
||||
/** 品检条件 */
|
||||
private String inspectionCondition;
|
||||
|
||||
/** 试用天数 */
|
||||
private String trialDays;
|
||||
|
||||
/** 前期采购记录 */
|
||||
private String prevPurchaseRecord;
|
||||
|
||||
/** 采购拟办 */
|
||||
private String purchaseProposal;
|
||||
|
||||
/** 付款条件 */
|
||||
private String paymentTerms;
|
||||
|
||||
/** 采购金额 */
|
||||
private String totalAmount;
|
||||
|
||||
/** 董事长(采购单位) */
|
||||
private String signPurchaseChairman;
|
||||
|
||||
/** 部长/厂长(采购单位) */
|
||||
private String signPurchaseManager;
|
||||
|
||||
/** 主任(采购单位) */
|
||||
private String signPurchaseDirector;
|
||||
|
||||
/** 经办(采购单位) */
|
||||
private String signPurchaseHandler;
|
||||
|
||||
/** 生产总经理(请购单位) */
|
||||
private String signRequestGm;
|
||||
|
||||
/** 厂长(请购单位) */
|
||||
private String signRequestFactoryMgr;
|
||||
|
||||
/** 主任(请购单位) */
|
||||
private String signRequestDirector;
|
||||
|
||||
/** 经办(请购单位) */
|
||||
private String signRequestHandler;
|
||||
|
||||
/** 指定卸货位 */
|
||||
private String unloadLocation;
|
||||
|
||||
/** 卸货其他位置 */
|
||||
private String unloadOther;
|
||||
|
||||
/** 状态 */
|
||||
private String formStatus;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
/** 明细行 */
|
||||
private List<ErpPurchaseRequisitionItemBo> items;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.klp.erp.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 请购及采购单明细业务对象 erp_purchase_requisition_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ErpPurchaseRequisitionItemBo extends BaseEntity {
|
||||
|
||||
/** 明细ID */
|
||||
private Long itemId;
|
||||
|
||||
/** 关联请购单ID */
|
||||
private Long reqId;
|
||||
|
||||
/** 项次 */
|
||||
private String seq;
|
||||
|
||||
/** 品名 */
|
||||
private String itemName;
|
||||
|
||||
/** 规格 */
|
||||
private String specification;
|
||||
|
||||
/** 单位 */
|
||||
private String unit;
|
||||
|
||||
/** 请购量 */
|
||||
private String quantity;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.klp.erp.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 请购及采购单明细视图对象 erp_purchase_requisition_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ErpPurchaseRequisitionItemVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ExcelProperty(value = "明细ID")
|
||||
private Long itemId;
|
||||
|
||||
private Long reqId;
|
||||
|
||||
@ExcelProperty(value = "项次")
|
||||
private String seq;
|
||||
|
||||
@ExcelProperty(value = "品名")
|
||||
private String itemName;
|
||||
|
||||
@ExcelProperty(value = "规格")
|
||||
private String specification;
|
||||
|
||||
@ExcelProperty(value = "单位")
|
||||
private String unit;
|
||||
|
||||
@ExcelProperty(value = "请购量")
|
||||
private String quantity;
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.klp.erp.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请购及采购单视图对象 erp_purchase_requisition
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ErpPurchaseRequisitionVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ExcelProperty(value = "主键")
|
||||
private Long reqId;
|
||||
|
||||
@ExcelProperty(value = "请购部门")
|
||||
private String reqDept;
|
||||
|
||||
@ExcelProperty(value = "品名")
|
||||
private String itemName;
|
||||
|
||||
@ExcelProperty(value = "规格")
|
||||
private String specification;
|
||||
|
||||
@ExcelProperty(value = "单位")
|
||||
private String unit;
|
||||
|
||||
@ExcelProperty(value = "请购量")
|
||||
private String quantity;
|
||||
|
||||
@ExcelProperty(value = "类别")
|
||||
private String category;
|
||||
|
||||
@ExcelProperty(value = "需求日期")
|
||||
private String requiredDate;
|
||||
|
||||
@ExcelProperty(value = "用途说明")
|
||||
private String purposeDesc;
|
||||
|
||||
@ExcelProperty(value = "使用部门")
|
||||
private String useDept;
|
||||
|
||||
@ExcelProperty(value = "品检条件")
|
||||
private String inspectionCondition;
|
||||
|
||||
@ExcelProperty(value = "试用天数")
|
||||
private String trialDays;
|
||||
|
||||
@ExcelProperty(value = "前期采购记录")
|
||||
private String prevPurchaseRecord;
|
||||
|
||||
@ExcelProperty(value = "采购拟办")
|
||||
private String purchaseProposal;
|
||||
|
||||
@ExcelProperty(value = "付款条件")
|
||||
private String paymentTerms;
|
||||
|
||||
@ExcelProperty(value = "采购金额")
|
||||
private String totalAmount;
|
||||
|
||||
@ExcelProperty(value = "董事长(采购单位)")
|
||||
private String signPurchaseChairman;
|
||||
|
||||
@ExcelProperty(value = "部长/厂长(采购单位)")
|
||||
private String signPurchaseManager;
|
||||
|
||||
@ExcelProperty(value = "主任(采购单位)")
|
||||
private String signPurchaseDirector;
|
||||
|
||||
@ExcelProperty(value = "经办(采购单位)")
|
||||
private String signPurchaseHandler;
|
||||
|
||||
@ExcelProperty(value = "生产总经理(请购单位)")
|
||||
private String signRequestGm;
|
||||
|
||||
@ExcelProperty(value = "厂长(请购单位)")
|
||||
private String signRequestFactoryMgr;
|
||||
|
||||
@ExcelProperty(value = "主任(请购单位)")
|
||||
private String signRequestDirector;
|
||||
|
||||
@ExcelProperty(value = "经办(请购单位)")
|
||||
private String signRequestHandler;
|
||||
|
||||
@ExcelProperty(value = "指定卸货位")
|
||||
private String unloadLocation;
|
||||
|
||||
@ExcelProperty(value = "卸货其他位置")
|
||||
private String unloadOther;
|
||||
|
||||
@ExcelProperty(value = "状态")
|
||||
private String formStatus;
|
||||
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/** 明细行 */
|
||||
private List<ErpPurchaseRequisitionItemVo> items;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.erp.mapper;
|
||||
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
import com.klp.erp.domain.ErpPurchaseRequisitionItem;
|
||||
import com.klp.erp.domain.vo.ErpPurchaseRequisitionItemVo;
|
||||
|
||||
/**
|
||||
* 请购及采购单明细Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
public interface ErpPurchaseRequisitionItemMapper extends BaseMapperPlus<ErpPurchaseRequisitionItemMapper, ErpPurchaseRequisitionItem, ErpPurchaseRequisitionItemVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.erp.mapper;
|
||||
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
import com.klp.erp.domain.ErpPurchaseRequisition;
|
||||
import com.klp.erp.domain.vo.ErpPurchaseRequisitionVo;
|
||||
|
||||
/**
|
||||
* 请购及采购单Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
public interface ErpPurchaseRequisitionMapper extends BaseMapperPlus<ErpPurchaseRequisitionMapper, ErpPurchaseRequisition, ErpPurchaseRequisitionVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.klp.erp.service;
|
||||
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.erp.domain.bo.ErpPurchaseRequisitionBo;
|
||||
import com.klp.erp.domain.vo.ErpPurchaseRequisitionVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请购及采购单Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
public interface IErpPurchaseRequisitionService {
|
||||
|
||||
/** 查询请购单详情(含明细) */
|
||||
ErpPurchaseRequisitionVo queryById(Long reqId);
|
||||
|
||||
/** 分页查询请购单 */
|
||||
TableDataInfo<ErpPurchaseRequisitionVo> queryPageList(ErpPurchaseRequisitionBo bo, PageQuery pageQuery);
|
||||
|
||||
/** 查询请购单列表 */
|
||||
List<ErpPurchaseRequisitionVo> queryList(ErpPurchaseRequisitionBo bo);
|
||||
|
||||
/** 新增请购单(含明细) */
|
||||
Boolean insertByBo(ErpPurchaseRequisitionBo bo);
|
||||
|
||||
/** 修改请购单(含明细) */
|
||||
Boolean updateByBo(ErpPurchaseRequisitionBo bo);
|
||||
|
||||
/** 校验并批量删除请购单 */
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
package com.klp.erp.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.erp.domain.ErpPurchaseRequisition;
|
||||
import com.klp.erp.domain.ErpPurchaseRequisitionItem;
|
||||
import com.klp.erp.domain.bo.ErpPurchaseRequisitionBo;
|
||||
import com.klp.erp.domain.bo.ErpPurchaseRequisitionItemBo;
|
||||
import com.klp.erp.domain.vo.ErpPurchaseRequisitionVo;
|
||||
import com.klp.erp.mapper.ErpPurchaseRequisitionItemMapper;
|
||||
import com.klp.erp.mapper.ErpPurchaseRequisitionMapper;
|
||||
import com.klp.erp.service.IErpPurchaseRequisitionService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请购及采购单Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-06-29
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class ErpPurchaseRequisitionServiceImpl implements IErpPurchaseRequisitionService {
|
||||
|
||||
private final ErpPurchaseRequisitionMapper baseMapper;
|
||||
private final ErpPurchaseRequisitionItemMapper itemMapper;
|
||||
|
||||
@Override
|
||||
public ErpPurchaseRequisitionVo queryById(Long reqId) {
|
||||
ErpPurchaseRequisitionVo vo = baseMapper.selectVoById(reqId);
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
// 明细
|
||||
vo.setItems(itemMapper.selectVoList(Wrappers.lambdaQuery(ErpPurchaseRequisitionItem.class)
|
||||
.eq(ErpPurchaseRequisitionItem::getReqId, reqId)));
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<ErpPurchaseRequisitionVo> queryPageList(ErpPurchaseRequisitionBo bo, PageQuery pageQuery) {
|
||||
Page<ErpPurchaseRequisitionVo> result = baseMapper.selectVoPage(pageQuery.build(), buildQueryWrapper(bo));
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ErpPurchaseRequisitionVo> queryList(ErpPurchaseRequisitionBo bo) {
|
||||
return baseMapper.selectVoList(buildQueryWrapper(bo));
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<ErpPurchaseRequisition> buildQueryWrapper(ErpPurchaseRequisitionBo bo) {
|
||||
LambdaQueryWrapper<ErpPurchaseRequisition> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getReqDept()), ErpPurchaseRequisition::getReqDept, bo.getReqDept());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getItemName()), ErpPurchaseRequisition::getItemName, bo.getItemName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFormStatus()), ErpPurchaseRequisition::getFormStatus, bo.getFormStatus());
|
||||
lqw.orderByDesc(ErpPurchaseRequisition::getReqId);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(ErpPurchaseRequisitionBo bo) {
|
||||
ErpPurchaseRequisition add = BeanUtil.toBean(bo, ErpPurchaseRequisition.class);
|
||||
if (StringUtils.isBlank(add.getFormStatus())) {
|
||||
add.setFormStatus("0");
|
||||
}
|
||||
add.setReqId(null);
|
||||
if (baseMapper.insert(add) <= 0) {
|
||||
return false;
|
||||
}
|
||||
bo.setReqId(add.getReqId());
|
||||
saveItems(add.getReqId(), bo.getItems());
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(ErpPurchaseRequisitionBo bo) {
|
||||
ErpPurchaseRequisition update = baseMapper.selectById(bo.getReqId());
|
||||
if (update == null) {
|
||||
return false;
|
||||
}
|
||||
BeanUtil.copyProperties(bo, update, "reqId", "createBy", "createTime");
|
||||
baseMapper.updateById(update);
|
||||
// 覆盖式重写明细
|
||||
itemMapper.delete(Wrappers.lambdaQuery(ErpPurchaseRequisitionItem.class)
|
||||
.eq(ErpPurchaseRequisitionItem::getReqId, bo.getReqId()));
|
||||
saveItems(bo.getReqId(), bo.getItems());
|
||||
return true;
|
||||
}
|
||||
|
||||
private void saveItems(Long reqId, List<ErpPurchaseRequisitionItemBo> items) {
|
||||
if (items == null || items.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (ErpPurchaseRequisitionItemBo itemBo : items) {
|
||||
ErpPurchaseRequisitionItem item = BeanUtil.toBean(itemBo, ErpPurchaseRequisitionItem.class);
|
||||
item.setItemId(null);
|
||||
item.setReqId(reqId);
|
||||
itemMapper.insert(item);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
for (Long reqId : ids) {
|
||||
itemMapper.delete(Wrappers.lambdaQuery(ErpPurchaseRequisitionItem.class)
|
||||
.eq(ErpPurchaseRequisitionItem::getReqId, reqId));
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user