生成入库单据,入库子单据

This commit is contained in:
liuhanqing
2025-09-15 15:03:46 +08:00
parent cfcfbb57c4
commit ad425472ce
4 changed files with 83 additions and 2 deletions

View File

@@ -8,6 +8,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.in.stockin.domain.InStockin;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockinfinish.service.IInStockinFinishService;
import jakarta.servlet.http.HttpServletResponse;
@@ -79,9 +80,9 @@ public class InStockinController extends BaseController
@PreAuthorize("@ss.hasPermi('in:stockIn:add')")
@Log(title = "入库单据", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody InStockin inStockin)
public AjaxResult add(@RequestBody InstockInVo instockInVo)
{
return toAjax(inStockinService.insertInStockin(inStockin));
return inStockinService.insertInStockin(instockInVo);
}
/**

View File

@@ -0,0 +1,30 @@
package com.ruoyi.in.stockin.domain.vo;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class InstockInVo {
@NotNull
private String warehouseId;
@NotNull
private String supplierNo;
@NotNull
private String inType;
private List<BasProduct> productVoList;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.in.stockin.service;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.in.stockin.domain.InStockin;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import java.util.List;
@@ -37,6 +38,14 @@ public interface IInStockinService
*/
public int insertInStockin(InStockin inStockin);
/**
* 新增入库单据
*
* @param inStockin 入库单据
* @return 结果
*/
public AjaxResult insertInStockin(InstockInVo inStockin);
/**
* 修改入库单据
*

View File

@@ -1,10 +1,17 @@
package com.ruoyi.in.stockin.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.in.stockin.domain.InStockin;
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
import com.ruoyi.in.stockin.mapper.InStockinMapper;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
@@ -28,6 +35,8 @@ public class InStockinServiceImpl implements IInStockinService
private InStockinMapper inStockinMapper;
@Autowired
private IInStockinDetailService iInStockinDetailService;
@Autowired
private IBasJobIdService iBasJobIdService;
/**
* 查询入库单据
@@ -66,6 +75,38 @@ public class InStockinServiceImpl implements IInStockinService
return inStockinMapper.insertInStockin(inStockin);
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult insertInStockin(InstockInVo inStockinVo) {
List<BasProduct> productVoList = inStockinVo.getProductVoList();
if (CollUtil.isEmpty(productVoList)){
return AjaxResult.error("物料不能为空");
}
InStockin inStockin = new InStockin();
inStockin.setStockinGuid(iBasJobIdService.getJobId("RKD"));
inStockin.setStockinId(iBasJobIdService.getJobId("RKD"));
inStockin.setCreateDate(DateUtil.formatDateTime(DateUtil.date()));
inStockin.setCreateManId(Convert.toStr(SecurityUtils.getUserId()));
inStockin.setDepartmentNo(Convert.toStr(SecurityUtils.getDeptId()));
inStockin.setSupplierNo(inStockinVo.getSupplierNo());
inStockin.setInType(inStockinVo.getInType());
inStockin.setWarehouseId(inStockinVo.getWarehouseId());
inStockin.setStatus("1");
inStockinMapper.insertInStockin(inStockin);
for (int i = 1; i <= productVoList.size(); i++) {
BasProduct basProduct = productVoList.get(i-1);
InStockinDetail inStockinDetail = new InStockinDetail();
BeanUtil.copyProperties(basProduct,inStockinDetail);
inStockinDetail.setStockinGuid(inStockin.getStockinGuid());
inStockinDetail.setStockinDetailId(inStockin.getStockinId()+"-"+i);
inStockinDetail.setStockinId(inStockin.getStockinId());
iInStockinDetailService.insertInStockinDetail(inStockinDetail);
}
return AjaxResult.success();
}
/**
* 修改入库单据
*