出库部分

This commit is contained in:
张怡蓉
2025-05-23 13:58:55 +08:00
parent 1f61c0c84a
commit d128105ea7
38 changed files with 5033 additions and 22 deletions

View File

@@ -1,19 +0,0 @@
# API目录说明
## 目录用途
存放API相关配置文件和接口模块
## 主要功能
- 提供系统对外的API接口定义
- 存放API相关的配置文件
- 管理接口的版本控制
- 处理API的认证和授权
## 目录结构
```
api/
├── config/ # API配置文件
├── controller/ # API控制器
├── model/ # API数据模型
└── service/ # API业务逻辑
```

View File

@@ -0,0 +1,129 @@
package com.ruoyi.out.outStockout.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish;
import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 出库主单Controller
*
* @author ruoyi
* @date 2025-05-20
*/
@RestController
@RequestMapping("/out/outStockout")
public class OutStockoutController extends BaseController {
@Autowired
private IOutStockoutService outStockoutService;
@Autowired
private IOutStockoutFinishService outStockoutFinishService;
/**
* 查询出库主单列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockout:list')")
@GetMapping("/list")
public TableDataInfo list(OutStockout outStockout) {
startPage();
List<OutStockout> list = new ArrayList<>();
if(Integer.parseInt(outStockout.getStatus())<4){
list =outStockoutService.selectOutStockoutList(outStockout);
}else{
list=outStockoutFinishService.selectOutStockoutFinishListByOutStockout(outStockout);
}
return getDataTable(list);
}
/**
* 导出出库主单列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockout:export')")
@Log(title = "出库主单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, OutStockout outStockout) {
List<OutStockout> list = outStockoutService.selectOutStockoutList(outStockout);
ExcelUtil<OutStockout> util = new ExcelUtil<OutStockout>(OutStockout.class);
util.exportExcel(response, list, "出库主单数据");
}
/**
* 获取出库主单详细信息
*/
@PreAuthorize("@ss.hasPermi('out:outStockout:query')")
@GetMapping(value = "/{stockoutGuid}")
public AjaxResult getInfo(@PathVariable("stockoutGuid") String stockoutGuid) {
return success(outStockoutService.selectOutStockoutByStockoutGuid(stockoutGuid));
}
/**
* 新增出库主单
*/
@PreAuthorize("@ss.hasPermi('out:outStockout:add')")
@Log(title = "出库主单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody OutStockout outStockout) {
return toAjax(outStockoutService.insertOutStockout(outStockout));
}
/**
* 修改出库主单
*/
@PreAuthorize("@ss.hasPermi('out:outStockout:edit')")
@Log(title = "出库主单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody OutStockout outStockout) {
return toAjax(outStockoutService.updateOutStockout(outStockout));
}
/**
* 删除出库主单
*/
@PreAuthorize("@ss.hasPermi('out:outStockout:remove')")
@Log(title = "出库主单", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockoutGuids}")
public AjaxResult remove(@PathVariable String[] stockoutGuids) {
return toAjax(outStockoutService.deleteOutStockoutByStockoutGuids(stockoutGuids));
}
/**
* 出库单据保存
*
* @param outStockoutVo
* @return
*/
@Log(title = "出库主单保存", businessType = BusinessType.OTHER)
@PostMapping("/saveBill")
@ResponseBody
public AjaxResult saveBill(@RequestBody OutStockoutVo outStockoutVo) {
String stockOutId = outStockoutService.saveBill(outStockoutVo);
return AjaxResult.success(stockOutId);
}
/**
* 出库单据状态改变
*/
@Log(title = "出库主单状态改变", businessType = BusinessType.OTHER)
@RequestMapping("/changeStatus")
@ResponseBody
public String changeStatus(@RequestParam("stockoutIds") String[] stockoutIds, @RequestParam("status") String status,@RequestParam("newStatus")String newStatus) {
String s = outStockoutService.updateOutStockoutStatus(stockoutIds, status, newStatus);
return s;
}
}

View File

@@ -0,0 +1,271 @@
package com.ruoyi.out.outStockout.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 出库主单对象 out_stockout
*
* @author ruoyi
* @date 2025-05-20
*/
public class OutStockout extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 出库单guid */
@Excel(name = "出库单guid")
private String stockoutGuid;
/** 出库单编号 */
@Excel(name = "出库单编号")
private String stockoutId;
/** 出库类型 */
@Excel(name = "出库类型")
private String outType;
/** 创建时间 */
@Excel(name = "创建时间")
private String createDate;
/** 部门编号 */
@Excel(name = "部门编号")
private String departmentNo;
/** 客户编码 */
@Excel(name = "客户编码")
private String customerNo;
/** 建单人 */
@Excel(name = "建单人")
private String createManId;
/** 单据状态 */
@Excel(name = "单据状态")
private String status;
/** 单据来源 */
@Excel(name = "单据来源")
private String stockoutSource;
/** 仓库编号 */
@Excel(name = "仓库编号")
private String warehouseId;
/** 班组编码 */
@Excel(name = "班组编码")
private String classNowId;
/** 出口 */
@Excel(name = "出口")
private String exitId;
/** 车牌 */
@Excel(name = "车牌")
private String carNumber;
/** 外部订单号 */
@Excel(name = "外部订单号")
private String FID;
/** erp订单号 */
@Excel(name = "erp订单号")
private String erpStockoutId;
@Excel(name = "开始时间")
private String startDate;
@Excel(name = "确认时间")
private String finishDate;
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getFinishDate() {
return finishDate;
}
public void setFinishDate(String finishDate) {
this.finishDate = finishDate;
}
public void setStockoutGuid(String stockoutGuid)
{
this.stockoutGuid = stockoutGuid;
}
public String getStockoutGuid()
{
return stockoutGuid;
}
public void setStockoutId(String stockoutId)
{
this.stockoutId = stockoutId;
}
public String getStockoutId()
{
return stockoutId;
}
public void setOutType(String outType)
{
this.outType = outType;
}
public String getOutType()
{
return outType;
}
public void setCreateDate(String createDate)
{
this.createDate = createDate;
}
public String getCreateDate()
{
return createDate;
}
public void setDepartmentNo(String departmentNo)
{
this.departmentNo = departmentNo;
}
public String getDepartmentNo()
{
return departmentNo;
}
public void setCustomerNo(String customerNo)
{
this.customerNo = customerNo;
}
public String getCustomerNo()
{
return customerNo;
}
public void setCreateManId(String createManId)
{
this.createManId = createManId;
}
public String getCreateManId()
{
return createManId;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setStockoutSource(String stockoutSource)
{
this.stockoutSource = stockoutSource;
}
public String getStockoutSource()
{
return stockoutSource;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setClassNowId(String classNowId)
{
this.classNowId = classNowId;
}
public String getClassNowId()
{
return classNowId;
}
public void setExitId(String exitId)
{
this.exitId = exitId;
}
public String getExitId()
{
return exitId;
}
public void setCarNumber(String carNumber)
{
this.carNumber = carNumber;
}
public String getCarNumber()
{
return carNumber;
}
public void setFID(String FID)
{
this.FID = FID;
}
public String getFID()
{
return FID;
}
public void setErpStockoutId(String erpStockoutId)
{
this.erpStockoutId = erpStockoutId;
}
public String getErpStockoutId()
{
return erpStockoutId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockoutGuid", getStockoutGuid())
.append("stockoutId", getStockoutId())
.append("outType", getOutType())
.append("createDate", getCreateDate())
.append("departmentNo", getDepartmentNo())
.append("customerNo", getCustomerNo())
.append("createManId", getCreateManId())
.append("status", getStatus())
.append("stockoutSource", getStockoutSource())
.append("warehouseId", getWarehouseId())
.append("classNowId", getClassNowId())
.append("exitId", getExitId())
.append("carNumber", getCarNumber())
.append("FID", getFID())
.append("erpStockoutId", getErpStockoutId())
.toString();
}
}

View File

@@ -0,0 +1,30 @@
package com.ruoyi.out.outStockout.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import java.util.List;
public class OutStockoutVo {
private OutStockout outStockout;
private List<OutStockoutDetail> detailList;
public OutStockout getOutStockout() {
return outStockout;
}
public void setOutStockout(OutStockout outStockout) {
this.outStockout = outStockout;
}
public List<OutStockoutDetail> getDetailList() {
return detailList;
}
public void setDetailList(List<OutStockoutDetail> detailList) {
this.detailList = detailList;
}
}

View File

@@ -0,0 +1,64 @@
package com.ruoyi.out.outStockout.mapper;
import java.util.HashMap;
import java.util.List;
import com.ruoyi.out.outStockout.domain.OutStockout;
/**
* 出库主单Mapper接口
*
* @author ruoyi
* @date 2025-05-20
*/
public interface OutStockoutMapper
{
/**
* 查询出库主单
*
* @param stockoutGuid 出库主单主键
* @return 出库主单
*/
public OutStockout selectOutStockoutByStockoutGuid(String stockoutGuid);
/**
* 查询出库主单列表
*
* @param outStockout 出库主单
* @return 出库主单集合
*/
public List<OutStockout> selectOutStockoutList(OutStockout outStockout);
/**
* 新增出库主单
*
* @param outStockout 出库主单
* @return 结果
*/
public int insertOutStockout(OutStockout outStockout);
/**
* 修改出库主单
*
* @param outStockout 出库主单
* @return 结果
*/
public int updateOutStockout(OutStockout outStockout);
/**
* 删除出库主单
*
* @param stockoutGuid 出库主单主键
* @return 结果
*/
public int deleteOutStockoutByStockoutGuid(String stockoutGuid);
/**
* 批量删除出库主单
*
* @param stockoutGuids 需要删除的数据主键集合
* @return 结果
*/
public int deleteOutStockoutByStockoutGuids(String[] stockoutGuids);
public void updateOutStockoutStatus(HashMap<String,String> map);
}

View File

@@ -0,0 +1,68 @@
package com.ruoyi.out.outStockout.service;
import java.util.List;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
/**
* 出库主单Service接口
*
* @author ruoyi
* @date 2025-05-20
*/
public interface IOutStockoutService
{
/**
* 查询出库主单
*
* @param stockoutGuid 出库主单主键
* @return 出库主单
*/
public OutStockout selectOutStockoutByStockoutGuid(String stockoutGuid);
/**
* 查询出库主单列表
*
* @param outStockout 出库主单
* @return 出库主单集合
*/
public List<OutStockout> selectOutStockoutList(OutStockout outStockout);
/**
* 新增出库主单
*
* @param outStockout 出库主单
* @return 结果
*/
public int insertOutStockout(OutStockout outStockout);
/**
* 修改出库主单
*
* @param outStockout 出库主单
* @return 结果
*/
public int updateOutStockout(OutStockout outStockout);
/**
* 批量删除出库主单
*
* @param stockoutGuids 需要删除的出库主单主键集合
* @return 结果
*/
public int deleteOutStockoutByStockoutGuids(String[] stockoutGuids);
/**
* 删除出库主单信息
*
* @param stockoutGuid 出库主单主键
* @return 结果
*/
public int deleteOutStockoutByStockoutGuid(String stockoutGuid);
/**
* 保存单据
*/
public String saveBill(OutStockoutVo outStockoutVo);
public String updateOutStockoutStatus(String[] stockoutIds, String status,String newStatus);
}

View File

@@ -0,0 +1,152 @@
package com.ruoyi.out.outStockout.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetail.mapper.OutStockoutDetailMapper;
import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import com.ruoyi.out.outStockout.mapper.OutStockoutMapper;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import org.springframework.transaction.annotation.Transactional;
/**
* 出库主单Service业务层处理
*
* @author ruoyi
* @date 2025-05-20
*/
@Service
public class OutStockoutServiceImpl implements IOutStockoutService
{
@Autowired
private OutStockoutMapper outStockoutMapper;
@Autowired
private IBasJobIdService basJobIdService;
@Autowired
private OutStockoutDetailMapper outStockoutDetailMapper;
/**
* 查询出库主单
*
* @param stockoutGuid 出库主单主键
* @return 出库主单
*/
@Override
public OutStockout selectOutStockoutByStockoutGuid(String stockoutGuid)
{
return outStockoutMapper.selectOutStockoutByStockoutGuid(stockoutGuid);
}
/**
* 查询出库主单列表
*
* @param outStockout 出库主单
* @return 出库主单
*/
@Override
public List<OutStockout> selectOutStockoutList(OutStockout outStockout)
{
return outStockoutMapper.selectOutStockoutList(outStockout);
}
/**
* 新增出库主单
*
* @param outStockout 出库主单
* @return 结果
*/
@Override
public int insertOutStockout(OutStockout outStockout)
{
return outStockoutMapper.insertOutStockout(outStockout);
}
/**
* 修改出库主单
*
* @param outStockout 出库主单
* @return 结果
*/
@Override
public int updateOutStockout(OutStockout outStockout)
{
return outStockoutMapper.updateOutStockout(outStockout);
}
/**
* 批量删除出库主单
*
* @param stockoutGuids 需要删除的出库主单主键
* @return 结果
*/
@Override
public int deleteOutStockoutByStockoutGuids(String[] stockoutGuids)
{
return outStockoutMapper.deleteOutStockoutByStockoutGuids(stockoutGuids);
}
/**
* 删除出库主单信息
*
* @param stockoutGuid 出库主单主键
* @return 结果
*/
@Override
public int deleteOutStockoutByStockoutGuid(String stockoutGuid)
{
return outStockoutMapper.deleteOutStockoutByStockoutGuid(stockoutGuid);
}
@Override
@Transactional(rollbackFor = Exception.class)
public String saveBill(OutStockoutVo outStockoutVo) {
OutStockout outStockout = outStockoutVo.getOutStockout();
List<OutStockoutDetail> detailList = outStockoutVo.getDetailList();
String stockOutId = basJobIdService.getJobId("CKD");
outStockout.setStockoutId(stockOutId);
outStockout.setStockoutGuid(UUID.randomUUID().toString());
outStockout.setCreateDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
String username = SecurityContextHolder.getContext().getAuthentication().getName();
outStockout.setCreateManId(username);
outStockout.setStatus("1");
outStockout.setStockoutSource("0");
for (int i = 0; i < detailList.size(); i++) {
OutStockoutDetail outStockoutDetail = detailList.get(i);
outStockoutDetail.setStockoutDetailId(stockOutId + "-" + (i + 1));
outStockoutDetail.setStockoutGuid(outStockout.getStockoutGuid());
outStockoutDetail.setStockoutId(stockOutId);
outStockoutDetail.setAllotQuantity(BigDecimal.ZERO);
outStockoutDetail.setAssignNum(BigDecimal.ZERO);
outStockoutDetailMapper.insertOutStockoutDetail(outStockoutDetail);
}
outStockoutMapper.insertOutStockout(outStockout);
return stockOutId;
}
@Override
public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus) {
HashMap<String, String> map = new HashMap<>();
StringBuilder stringBuilder = new StringBuilder();
for(String stockoutId:stockoutIds){
map.put("outStockId",stockoutId);
map.put("status",status);
map.put("newStatus",newStatus);
outStockoutMapper.updateOutStockoutStatus(map);
stringBuilder.append(",").append(map.get("v_resultString"));
}
return stringBuilder.toString();
}
}

View File

@@ -0,0 +1,124 @@
package com.ruoyi.out.outStockoutDetail.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.out.outStockoutDetailFinish.service.IOutStockoutDetailFinishService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 出库子单Controller
*
* @author ruoyi
* @date 2025-05-20
*/
@RestController
@RequestMapping("/out/outStockoutDetail")
public class OutStockoutDetailController extends BaseController
{
@Autowired
private IOutStockoutDetailService outStockoutDetailService;
@Autowired
IOutStockoutDetailFinishService outStockoutDetailFinishService;
/**
* 查询出库子单列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:list')")
@GetMapping("/list")
public TableDataInfo list(OutStockoutDetail outStockoutDetail)
{
startPage();
List<OutStockoutDetail> list = outStockoutDetailService.selectOutStockoutDetailList(outStockoutDetail);
return getDataTable(list);
}
/**
* 导出出库子单列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:export')")
@Log(title = "出库子单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, OutStockoutDetail outStockoutDetail)
{
List<OutStockoutDetail> list = outStockoutDetailService.selectOutStockoutDetailList(outStockoutDetail);
ExcelUtil<OutStockoutDetail> util = new ExcelUtil<OutStockoutDetail>(OutStockoutDetail.class);
util.exportExcel(response, list, "出库子单数据");
}
/**
* 获取出库子单详细信息
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:query')")
@GetMapping(value = "/getStockoutByDetailId")
public AjaxResult getInfo(String stockoutDetailId)
{
return success(outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(stockoutDetailId));
}
/**
* 新增出库子单
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:add')")
@Log(title = "出库子单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody OutStockoutDetail outStockoutDetail)
{
return toAjax(outStockoutDetailService.insertOutStockoutDetail(outStockoutDetail));
}
/**
* 修改出库子单
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:edit')")
@Log(title = "出库子单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody OutStockoutDetail outStockoutDetail)
{
return toAjax(outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail));
}
/**
* 删除出库子单
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:remove')")
@Log(title = "出库子单", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockoutDetailIds}")
public AjaxResult remove(@PathVariable String[] stockoutDetailIds)
{
return toAjax(outStockoutDetailService.deleteOutStockoutDetailByStockoutDetailIds(stockoutDetailIds));
}
@PreAuthorize("@ss.hasPermi('out:outStockoutDetail:queryByGuid')")
@GetMapping(value = "/getDetailByGuid")
public TableDataInfo getStockoutInfo(String stockoutGuid,String status)
{
startPage();
List<OutStockoutDetail> outStockoutDetails=new ArrayList<>();
if(Integer.parseInt(status)<4){
outStockoutDetails = outStockoutDetailService.selectOutStockoutDetailByStockoutGuid(stockoutGuid);
}else{
outStockoutDetails=outStockoutDetailFinishService.selectOutStockoutDetailFinishListByStockoutGuid(stockoutGuid);
}
return getDataTable(outStockoutDetails);
}
}

View File

@@ -0,0 +1,476 @@
package com.ruoyi.out.outStockoutDetail.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 出库子单对象 out_stockout_detail
*
* @author ruoyi
* @date 2025-05-20
*/
public class OutStockoutDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 出库子单编号 */
@Excel(name = "出库子单编号")
private String stockoutDetailId;
/** 出库单guid */
@Excel(name = "出库单guid")
private String stockoutGuid;
/** 出库单编号 */
@Excel(name = "出库单编号")
private String stockoutId;
/** 批次 */
@Excel(name = "批次")
private String lotNo;
/** 物资guid */
@Excel(name = "物资guid")
private String productGuid;
/** 物资编码 */
@Excel(name = "物资编码")
private String productId;
/** 计划数量 */
@Excel(name = "计划数量")
private BigDecimal quantity;
/** 计划数量(箱) */
@Excel(name = "计划数量", readConverterExp = "箱=")
private BigDecimal quantityX;
/** 计划数量(件) */
@Excel(name = "计划数量", readConverterExp = "件=")
private BigDecimal quantityJ;
/** 实际数量 */
@Excel(name = "实际数量")
private BigDecimal assignNum;
/** 实际数量(箱) */
@Excel(name = "实际数量", readConverterExp = "箱=")
private BigDecimal assignNumX;
/** 实际数量(件) */
@Excel(name = "实际数量", readConverterExp = "件=")
private BigDecimal assignNumJ;
/** 分配数量 */
@Excel(name = "分配数量")
private BigDecimal allotQuantity;
/** 分配数量(箱) */
@Excel(name = "分配数量", readConverterExp = "箱=")
private BigDecimal allotQuantityX;
/** 分配数量(件) */
@Excel(name = "分配数量", readConverterExp = "件=")
private BigDecimal allotQuantityJ;
/** 价格 */
@Excel(name = "价格")
private String price;
/** 仓库编码 */
@Excel(name = "仓库编码")
private String warehouseId;
/** 出口 */
@Excel(name = "出口")
private String outId;
/** 可拆数量 */
@Excel(name = "可拆数量")
private String bukechaiQuantity;
/** 不可拆数量 */
@Excel(name = "不可拆数量")
private String kechaiQuantity;
/** 入口 */
@Excel(name = "入口")
private String entryid;
/** 浮动数量 */
@Excel(name = "浮动数量")
private String flatQuantity;
/** 外部订单号 */
@Excel(name = "外部订单号")
private String fid;
/** erp订单号 */
@Excel(name = "erp订单号")
private String erpStockoutId;
/** 单位 UNIT */
@Excel(name = "单位 UNIT")
private String unit;
/** 规格 SPEC */
@Excel(name = "规格 SPEC")
private String spec;
/** 物资名称 ASMAT_NAME */
@Excel(name = "物资名称 ASMAT_NAME")
private String productName;
/** 供应商代码 SUPPLIER_CODE */
@Excel(name = "供应商代码 SUPPLIER_CODE")
private String supplierId;
/** 品牌 */
@Excel(name = "品牌")
private String cargoNo;
/** 生产日期 */
@Excel(name = "生产日期")
private String printDate;
public void setStockoutDetailId(String stockoutDetailId)
{
this.stockoutDetailId = stockoutDetailId;
}
public String getStockoutDetailId()
{
return stockoutDetailId;
}
public void setStockoutGuid(String stockoutGuid)
{
this.stockoutGuid = stockoutGuid;
}
public String getStockoutGuid()
{
return stockoutGuid;
}
public void setStockoutId(String stockoutId)
{
this.stockoutId = stockoutId;
}
public String getStockoutId()
{
return stockoutId;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setProductGuid(String productGuid)
{
this.productGuid = productGuid;
}
public String getProductGuid()
{
return productGuid;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
{
return productId;
}
public void setQuantity(BigDecimal quantity)
{
this.quantity = quantity;
}
public BigDecimal getQuantity()
{
return quantity;
}
public void setQuantityX(BigDecimal quantityX)
{
this.quantityX = quantityX;
}
public BigDecimal getQuantityX()
{
return quantityX;
}
public void setQuantityJ(BigDecimal quantityJ)
{
this.quantityJ = quantityJ;
}
public BigDecimal getQuantityJ()
{
return quantityJ;
}
public void setAssignNum(BigDecimal assignNum)
{
this.assignNum = assignNum;
}
public BigDecimal getAssignNum()
{
return assignNum;
}
public void setAssignNumX(BigDecimal assignNumX)
{
this.assignNumX = assignNumX;
}
public BigDecimal getAssignNumX()
{
return assignNumX;
}
public void setAssignNumJ(BigDecimal assignNumJ)
{
this.assignNumJ = assignNumJ;
}
public BigDecimal getAssignNumJ()
{
return assignNumJ;
}
public void setAllotQuantity(BigDecimal allotQuantity)
{
this.allotQuantity = allotQuantity;
}
public BigDecimal getAllotQuantity()
{
return allotQuantity;
}
public void setAllotQuantityX(BigDecimal allotQuantityX)
{
this.allotQuantityX = allotQuantityX;
}
public BigDecimal getAllotQuantityX()
{
return allotQuantityX;
}
public void setAllotQuantityJ(BigDecimal allotQuantityJ)
{
this.allotQuantityJ = allotQuantityJ;
}
public BigDecimal getAllotQuantityJ()
{
return allotQuantityJ;
}
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
{
return price;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setOutId(String outId)
{
this.outId = outId;
}
public String getOutId()
{
return outId;
}
public void setBukechaiQuantity(String bukechaiQuantity)
{
this.bukechaiQuantity = bukechaiQuantity;
}
public String getBukechaiQuantity()
{
return bukechaiQuantity;
}
public void setKechaiQuantity(String kechaiQuantity)
{
this.kechaiQuantity = kechaiQuantity;
}
public String getKechaiQuantity()
{
return kechaiQuantity;
}
public void setEntryid(String entryid)
{
this.entryid = entryid;
}
public String getEntryid()
{
return entryid;
}
public void setFlatQuantity(String flatQuantity)
{
this.flatQuantity = flatQuantity;
}
public String getFlatQuantity()
{
return flatQuantity;
}
public void setFid(String fid)
{
this.fid = fid;
}
public String getFid()
{
return fid;
}
public void setErpStockoutId(String erpStockoutId)
{
this.erpStockoutId = erpStockoutId;
}
public String getErpStockoutId()
{
return erpStockoutId;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
{
return spec;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setSupplierId(String supplierId)
{
this.supplierId = supplierId;
}
public String getSupplierId()
{
return supplierId;
}
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
{
return cargoNo;
}
public void setPrintDate(String printDate)
{
this.printDate = printDate;
}
public String getPrintDate()
{
return printDate;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockoutDetailId", getStockoutDetailId())
.append("stockoutGuid", getStockoutGuid())
.append("stockoutId", getStockoutId())
.append("lotNo", getLotNo())
.append("productGuid", getProductGuid())
.append("productId", getProductId())
.append("quantity", getQuantity())
.append("quantityX", getQuantityX())
.append("quantityJ", getQuantityJ())
.append("assignNum", getAssignNum())
.append("assignNumX", getAssignNumX())
.append("assignNumJ", getAssignNumJ())
.append("allotQuantity", getAllotQuantity())
.append("allotQuantityX", getAllotQuantityX())
.append("allotQuantityJ", getAllotQuantityJ())
.append("price", getPrice())
.append("remark", getRemark())
.append("warehouseId", getWarehouseId())
.append("outId", getOutId())
.append("bukechaiQuantity", getBukechaiQuantity())
.append("kechaiQuantity", getKechaiQuantity())
.append("entryid", getEntryid())
.append("flatQuantity", getFlatQuantity())
.append("fid", getFid())
.append("erpStockoutId", getErpStockoutId())
.append("unit", getUnit())
.append("spec", getSpec())
.append("productName", getProductName())
.append("supplierId", getSupplierId())
.append("cargoNo", getCargoNo())
.append("createTime", getCreateTime())
.append("printDate", getPrintDate())
.toString();
}
}

View File

@@ -0,0 +1,68 @@
package com.ruoyi.out.outStockoutDetail.mapper;
import java.util.List;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
/**
* 出库子单Mapper接口
*
* @author ruoyi
* @date 2025-05-20
*/
public interface OutStockoutDetailMapper
{
/**
* 查询出库子单
*
* @param stockoutDetailId 出库子单主键
* @return 出库子单
*/
public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId);
/**
* 查询出库子单列表
*
* @param outStockoutDetail 出库子单
* @return 出库子单集合
*/
public List<OutStockoutDetail> selectOutStockoutDetailList(OutStockoutDetail outStockoutDetail);
/**
* 新增出库子单
*
* @param outStockoutDetail 出库子单
* @return 结果
*/
public int insertOutStockoutDetail(OutStockoutDetail outStockoutDetail);
/**
* 修改出库子单
*
* @param outStockoutDetail 出库子单
* @return 结果
*/
public int updateOutStockoutDetail(OutStockoutDetail outStockoutDetail);
/**
* 删除出库子单
*
* @param stockoutDetailId 出库子单主键
* @return 结果
*/
public int deleteOutStockoutDetailByStockoutDetailId(String stockoutDetailId);
/**
* 批量删除出库子单
*
* @param stockoutDetailIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteOutStockoutDetailByStockoutDetailIds(String[] stockoutDetailIds);
/**
* 根据主单guid查询出库子单信息
* @param stockoutId
* @return
*/
public List<OutStockoutDetail> selectOutStockoutDetailByStockoutGuid(String stockoutId);
}

View File

@@ -0,0 +1,66 @@
package com.ruoyi.out.outStockoutDetail.service;
import java.util.List;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
/**
* 出库子单Service接口
*
* @author ruoyi
* @date 2025-05-20
*/
public interface IOutStockoutDetailService
{
/**
* 查询出库子单
*
* @param stockoutDetailId 出库子单主键
* @return 出库子单
*/
public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId);
/**
* 查询出库子单列表
*
* @param outStockoutDetail 出库子单
* @return 出库子单集合
*/
public List<OutStockoutDetail> selectOutStockoutDetailList(OutStockoutDetail outStockoutDetail);
/**
* 新增出库子单
*
* @param outStockoutDetail 出库子单
* @return 结果
*/
public int insertOutStockoutDetail(OutStockoutDetail outStockoutDetail);
/**
* 修改出库子单
*
* @param outStockoutDetail 出库子单
* @return 结果
*/
public int updateOutStockoutDetail(OutStockoutDetail outStockoutDetail);
/**
* 批量删除出库子单
*
* @param stockoutDetailIds 需要删除的出库子单主键集合
* @return 结果
*/
public int deleteOutStockoutDetailByStockoutDetailIds(String[] stockoutDetailIds);
/**
* 删除出库子单信息
*
* @param stockoutDetailId 出库子单主键
* @return 结果
*/
public int deleteOutStockoutDetailByStockoutDetailId(String stockoutDetailId);
/**
* 根据主单guid查询出库子单信息
*/
public List<OutStockoutDetail> selectOutStockoutDetailByStockoutGuid(String stockoutGuid);
}

View File

@@ -0,0 +1,106 @@
package com.ruoyi.out.outStockoutDetail.service.impl;
import java.util.Collections;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.out.outStockoutDetail.mapper.OutStockoutDetailMapper;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService;
/**
* 出库子单Service业务层处理
*
* @author ruoyi
* @date 2025-05-20
*/
@Service
public class OutStockoutDetailServiceImpl implements IOutStockoutDetailService
{
@Autowired
private OutStockoutDetailMapper outStockoutDetailMapper;
/**
* 查询出库子单
*
* @param stockoutDetailId 出库子单主键
* @return 出库子单
*/
@Override
public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId)
{
return outStockoutDetailMapper.selectOutStockoutDetailByStockoutDetailId(stockoutDetailId);
}
/**
* 查询出库子单列表
*
* @param outStockoutDetail 出库子单
* @return 出库子单
*/
@Override
public List<OutStockoutDetail> selectOutStockoutDetailList(OutStockoutDetail outStockoutDetail)
{
return outStockoutDetailMapper.selectOutStockoutDetailList(outStockoutDetail);
}
/**
* 新增出库子单
*
* @param outStockoutDetail 出库子单
* @return 结果
*/
@Override
public int insertOutStockoutDetail(OutStockoutDetail outStockoutDetail)
{
outStockoutDetail.setCreateTime(DateUtils.getNowDate());
return outStockoutDetailMapper.insertOutStockoutDetail(outStockoutDetail);
}
/**
* 修改出库子单
*
* @param outStockoutDetail 出库子单
* @return 结果
*/
@Override
public int updateOutStockoutDetail(OutStockoutDetail outStockoutDetail)
{
return outStockoutDetailMapper.updateOutStockoutDetail(outStockoutDetail);
}
/**
* 批量删除出库子单
*
* @param stockoutDetailIds 需要删除的出库子单主键
* @return 结果
*/
@Override
public int deleteOutStockoutDetailByStockoutDetailIds(String[] stockoutDetailIds)
{
return outStockoutDetailMapper.deleteOutStockoutDetailByStockoutDetailIds(stockoutDetailIds);
}
/**
* 删除出库子单信息
*
* @param stockoutDetailId 出库子单主键
* @return 结果
*/
@Override
public int deleteOutStockoutDetailByStockoutDetailId(String stockoutDetailId)
{
return outStockoutDetailMapper.deleteOutStockoutDetailByStockoutDetailId(stockoutDetailId);
}
/**
* 根据主单guid查询出库子单信息
* @param stockoutGuid
* @return
*/
@Override
public List<OutStockoutDetail> selectOutStockoutDetailByStockoutGuid(String stockoutGuid) {
return outStockoutDetailMapper.selectOutStockoutDetailByStockoutGuid(stockoutGuid);
}
}

View File

@@ -0,0 +1,104 @@
package com.ruoyi.out.outStockoutDetailFinish.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish;
import com.ruoyi.out.outStockoutDetailFinish.service.IOutStockoutDetailFinishService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 出库单据子表Controller
*
* @author ruoyi
* @date 2025-05-23
*/
@RestController
@RequestMapping("/out/outStockoutDetailFinish")
public class OutStockoutDetailFinishController extends BaseController
{
@Autowired
private IOutStockoutDetailFinishService outStockoutDetailFinishService;
/**
* 查询出库单据子表列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:list')")
@GetMapping("/list")
public TableDataInfo list(OutStockoutDetailFinish outStockoutDetailFinish)
{
startPage();
List<OutStockoutDetailFinish> list = outStockoutDetailFinishService.selectOutStockoutDetailFinishList(outStockoutDetailFinish);
return getDataTable(list);
}
/**
* 导出出库单据子表列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:export')")
@Log(title = "出库单据子表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, OutStockoutDetailFinish outStockoutDetailFinish)
{
List<OutStockoutDetailFinish> list = outStockoutDetailFinishService.selectOutStockoutDetailFinishList(outStockoutDetailFinish);
ExcelUtil<OutStockoutDetailFinish> util = new ExcelUtil<OutStockoutDetailFinish>(OutStockoutDetailFinish.class);
util.exportExcel(response, list, "出库单据子表数据");
}
/**
* 获取出库单据子表详细信息
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:query')")
@GetMapping(value = "/{stockoutDetailId}")
public AjaxResult getInfo(@PathVariable("stockoutDetailId") String stockoutDetailId)
{
return success(outStockoutDetailFinishService.selectOutStockoutDetailFinishByStockoutDetailId(stockoutDetailId));
}
/**
* 新增出库单据子表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:add')")
@Log(title = "出库单据子表", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody OutStockoutDetailFinish outStockoutDetailFinish)
{
return toAjax(outStockoutDetailFinishService.insertOutStockoutDetailFinish(outStockoutDetailFinish));
}
/**
* 修改出库单据子表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:edit')")
@Log(title = "出库单据子表", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody OutStockoutDetailFinish outStockoutDetailFinish)
{
return toAjax(outStockoutDetailFinishService.updateOutStockoutDetailFinish(outStockoutDetailFinish));
}
/**
* 删除出库单据子表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:remove')")
@Log(title = "出库单据子表", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockoutDetailIds}")
public AjaxResult remove(@PathVariable String[] stockoutDetailIds)
{
return toAjax(outStockoutDetailFinishService.deleteOutStockoutDetailFinishByStockoutDetailIds(stockoutDetailIds));
}
}

View File

@@ -0,0 +1,476 @@
package com.ruoyi.out.outStockoutDetailFinish.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 出库单据子表对象 out_stockout_detail_finish
*
* @author ruoyi
* @date 2025-05-23
*/
public class OutStockoutDetailFinish extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 子单编码 */
@Excel(name = "子单编码")
private String stockoutDetailId;
/** 主单guid */
@Excel(name = "主单guid")
private String stockoutGuid;
/** 出库单号 */
@Excel(name = "出库单号")
private String stockoutId;
/** 批次 */
@Excel(name = "批次")
private String lotNo;
/** 物资guid */
@Excel(name = "物资guid")
private String productGuid;
/** 物资编码 */
@Excel(name = "物资编码")
private String productId;
/** 计划数量 */
@Excel(name = "计划数量")
private BigDecimal quantity;
/** 计划数量(箱) */
@Excel(name = "计划数量", readConverterExp = "箱=")
private BigDecimal quantityX;
/** 计划数量(件) */
@Excel(name = "计划数量", readConverterExp = "件=")
private BigDecimal quantityJ;
/** 实际数量 */
@Excel(name = "实际数量")
private BigDecimal assignNum;
/** 实际数量(箱) */
@Excel(name = "实际数量", readConverterExp = "箱=")
private BigDecimal assignNumX;
/** 实际数量(件) */
@Excel(name = "实际数量", readConverterExp = "件=")
private BigDecimal assignNumJ;
/** 分配数量 */
@Excel(name = "分配数量")
private BigDecimal allotQuantity;
/** 分配数量(箱) */
@Excel(name = "分配数量", readConverterExp = "箱=")
private BigDecimal allotQuantityX;
/** 分配数量(件) */
@Excel(name = "分配数量", readConverterExp = "件=")
private BigDecimal allotQuantityJ;
/** 价格 */
@Excel(name = "价格")
private String price;
/** 仓库 */
@Excel(name = "仓库")
private String warehouseId;
/** 出口 */
@Excel(name = "出口")
private String outId;
/** 不可拆数量 */
@Excel(name = "不可拆数量")
private String bukechaiQuantity;
/** 可拆数量 */
@Excel(name = "可拆数量")
private String kechaiQuantity;
/** 入口 */
@Excel(name = "入口")
private String entryid;
/** 浮动数量 */
@Excel(name = "浮动数量")
private String flatQuantity;
/** 外部订单号 */
@Excel(name = "外部订单号")
private String fid;
/** erp订单号 */
@Excel(name = "erp订单号")
private String erpStockoutId;
/** 单位 UNIT */
@Excel(name = "单位 UNIT")
private String unit;
/** 规格 SPEC */
@Excel(name = "规格 SPEC")
private String spec;
/** 资材名称 ASMAT_NAME */
@Excel(name = "资材名称 ASMAT_NAME")
private String productName;
/** 供应商代码 SUPPLIER_CODE */
@Excel(name = "供应商代码 SUPPLIER_CODE")
private String supplierId;
/** 品牌 */
@Excel(name = "品牌")
private String cargoNo;
/** 生产日期 */
@Excel(name = "生产日期")
private String printDate;
public void setStockoutDetailId(String stockoutDetailId)
{
this.stockoutDetailId = stockoutDetailId;
}
public String getStockoutDetailId()
{
return stockoutDetailId;
}
public void setStockoutGuid(String stockoutGuid)
{
this.stockoutGuid = stockoutGuid;
}
public String getStockoutGuid()
{
return stockoutGuid;
}
public void setStockoutId(String stockoutId)
{
this.stockoutId = stockoutId;
}
public String getStockoutId()
{
return stockoutId;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setProductGuid(String productGuid)
{
this.productGuid = productGuid;
}
public String getProductGuid()
{
return productGuid;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
{
return productId;
}
public void setQuantity(BigDecimal quantity)
{
this.quantity = quantity;
}
public BigDecimal getQuantity()
{
return quantity;
}
public void setQuantityX(BigDecimal quantityX)
{
this.quantityX = quantityX;
}
public BigDecimal getQuantityX()
{
return quantityX;
}
public void setQuantityJ(BigDecimal quantityJ)
{
this.quantityJ = quantityJ;
}
public BigDecimal getQuantityJ()
{
return quantityJ;
}
public void setAssignNum(BigDecimal assignNum)
{
this.assignNum = assignNum;
}
public BigDecimal getAssignNum()
{
return assignNum;
}
public void setAssignNumX(BigDecimal assignNumX)
{
this.assignNumX = assignNumX;
}
public BigDecimal getAssignNumX()
{
return assignNumX;
}
public void setAssignNumJ(BigDecimal assignNumJ)
{
this.assignNumJ = assignNumJ;
}
public BigDecimal getAssignNumJ()
{
return assignNumJ;
}
public void setAllotQuantity(BigDecimal allotQuantity)
{
this.allotQuantity = allotQuantity;
}
public BigDecimal getAllotQuantity()
{
return allotQuantity;
}
public void setAllotQuantityX(BigDecimal allotQuantityX)
{
this.allotQuantityX = allotQuantityX;
}
public BigDecimal getAllotQuantityX()
{
return allotQuantityX;
}
public void setAllotQuantityJ(BigDecimal allotQuantityJ)
{
this.allotQuantityJ = allotQuantityJ;
}
public BigDecimal getAllotQuantityJ()
{
return allotQuantityJ;
}
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
{
return price;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setOutId(String outId)
{
this.outId = outId;
}
public String getOutId()
{
return outId;
}
public void setBukechaiQuantity(String bukechaiQuantity)
{
this.bukechaiQuantity = bukechaiQuantity;
}
public String getBukechaiQuantity()
{
return bukechaiQuantity;
}
public void setKechaiQuantity(String kechaiQuantity)
{
this.kechaiQuantity = kechaiQuantity;
}
public String getKechaiQuantity()
{
return kechaiQuantity;
}
public void setEntryid(String entryid)
{
this.entryid = entryid;
}
public String getEntryid()
{
return entryid;
}
public void setFlatQuantity(String flatQuantity)
{
this.flatQuantity = flatQuantity;
}
public String getFlatQuantity()
{
return flatQuantity;
}
public void setFid(String fid)
{
this.fid = fid;
}
public String getFid()
{
return fid;
}
public void setErpStockoutId(String erpStockoutId)
{
this.erpStockoutId = erpStockoutId;
}
public String getErpStockoutId()
{
return erpStockoutId;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
{
return spec;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setSupplierId(String supplierId)
{
this.supplierId = supplierId;
}
public String getSupplierId()
{
return supplierId;
}
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
{
return cargoNo;
}
public void setPrintDate(String printDate)
{
this.printDate = printDate;
}
public String getPrintDate()
{
return printDate;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockoutDetailId", getStockoutDetailId())
.append("stockoutGuid", getStockoutGuid())
.append("stockoutId", getStockoutId())
.append("lotNo", getLotNo())
.append("productGuid", getProductGuid())
.append("productId", getProductId())
.append("quantity", getQuantity())
.append("quantityX", getQuantityX())
.append("quantityJ", getQuantityJ())
.append("assignNum", getAssignNum())
.append("assignNumX", getAssignNumX())
.append("assignNumJ", getAssignNumJ())
.append("allotQuantity", getAllotQuantity())
.append("allotQuantityX", getAllotQuantityX())
.append("allotQuantityJ", getAllotQuantityJ())
.append("price", getPrice())
.append("remark", getRemark())
.append("warehouseId", getWarehouseId())
.append("outId", getOutId())
.append("bukechaiQuantity", getBukechaiQuantity())
.append("kechaiQuantity", getKechaiQuantity())
.append("entryid", getEntryid())
.append("flatQuantity", getFlatQuantity())
.append("fid", getFid())
.append("erpStockoutId", getErpStockoutId())
.append("unit", getUnit())
.append("spec", getSpec())
.append("productName", getProductName())
.append("supplierId", getSupplierId())
.append("cargoNo", getCargoNo())
.append("createTime", getCreateTime())
.append("printDate", getPrintDate())
.toString();
}
}

View File

@@ -0,0 +1,65 @@
package com.ruoyi.out.outStockoutDetailFinish.mapper;
import java.util.List;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish;
/**
* 出库单据子表Mapper接口
*
* @author ruoyi
* @date 2025-05-23
*/
public interface OutStockoutDetailFinishMapper
{
/**
* 查询出库单据子表
*
* @param stockoutDetailId 出库单据子表主键
* @return 出库单据子表
*/
public OutStockoutDetailFinish selectOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId);
/**
* 查询出库单据子表列表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 出库单据子表集合
*/
public List<OutStockoutDetailFinish> selectOutStockoutDetailFinishList(OutStockoutDetailFinish outStockoutDetailFinish);
/**
* 新增出库单据子表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 结果
*/
public int insertOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish);
/**
* 修改出库单据子表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 结果
*/
public int updateOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish);
/**
* 删除出库单据子表
*
* @param stockoutDetailId 出库单据子表主键
* @return 结果
*/
public int deleteOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId);
/**
* 批量删除出库单据子表
*
* @param stockoutDetailIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteOutStockoutDetailFinishByStockoutDetailIds(String[] stockoutDetailIds);
public List<OutStockoutDetail> selectOutStockoutDetailFinishListByStockoutGuid(String stockoutGuid);
}

View File

@@ -0,0 +1,65 @@
package com.ruoyi.out.outStockoutDetailFinish.service;
import java.util.List;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish;
/**
* 出库单据子表Service接口
*
* @author ruoyi
* @date 2025-05-23
*/
public interface IOutStockoutDetailFinishService
{
/**
* 查询出库单据子表
*
* @param stockoutDetailId 出库单据子表主键
* @return 出库单据子表
*/
public OutStockoutDetailFinish selectOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId);
/**
* 查询出库单据子表列表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 出库单据子表集合
*/
public List<OutStockoutDetailFinish> selectOutStockoutDetailFinishList(OutStockoutDetailFinish outStockoutDetailFinish);
/**
* 新增出库单据子表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 结果
*/
public int insertOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish);
/**
* 修改出库单据子表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 结果
*/
public int updateOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish);
/**
* 批量删除出库单据子表
*
* @param stockoutDetailIds 需要删除的出库单据子表主键集合
* @return 结果
*/
public int deleteOutStockoutDetailFinishByStockoutDetailIds(String[] stockoutDetailIds);
/**
* 删除出库单据子表信息
*
* @param stockoutDetailId 出库单据子表主键
* @return 结果
*/
public int deleteOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId);
public List<OutStockoutDetail> selectOutStockoutDetailFinishListByStockoutGuid(String stockoutGuid);
}

View File

@@ -0,0 +1,102 @@
package com.ruoyi.out.outStockoutDetailFinish.service.impl;
import java.util.Collections;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.out.outStockoutDetailFinish.mapper.OutStockoutDetailFinishMapper;
import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish;
import com.ruoyi.out.outStockoutDetailFinish.service.IOutStockoutDetailFinishService;
/**
* 出库单据子表Service业务层处理
*
* @author ruoyi
* @date 2025-05-23
*/
@Service
public class OutStockoutDetailFinishServiceImpl implements IOutStockoutDetailFinishService
{
@Autowired
private OutStockoutDetailFinishMapper outStockoutDetailFinishMapper;
/**
* 查询出库单据子表
*
* @param stockoutDetailId 出库单据子表主键
* @return 出库单据子表
*/
@Override
public OutStockoutDetailFinish selectOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId)
{
return outStockoutDetailFinishMapper.selectOutStockoutDetailFinishByStockoutDetailId(stockoutDetailId);
}
/**
* 查询出库单据子表列表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 出库单据子表
*/
@Override
public List<OutStockoutDetailFinish> selectOutStockoutDetailFinishList(OutStockoutDetailFinish outStockoutDetailFinish)
{
return outStockoutDetailFinishMapper.selectOutStockoutDetailFinishList(outStockoutDetailFinish);
}
/**
* 新增出库单据子表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 结果
*/
@Override
public int insertOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish)
{
outStockoutDetailFinish.setCreateTime(DateUtils.getNowDate());
return outStockoutDetailFinishMapper.insertOutStockoutDetailFinish(outStockoutDetailFinish);
}
/**
* 修改出库单据子表
*
* @param outStockoutDetailFinish 出库单据子表
* @return 结果
*/
@Override
public int updateOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish)
{
return outStockoutDetailFinishMapper.updateOutStockoutDetailFinish(outStockoutDetailFinish);
}
/**
* 批量删除出库单据子表
*
* @param stockoutDetailIds 需要删除的出库单据子表主键
* @return 结果
*/
@Override
public int deleteOutStockoutDetailFinishByStockoutDetailIds(String[] stockoutDetailIds)
{
return outStockoutDetailFinishMapper.deleteOutStockoutDetailFinishByStockoutDetailIds(stockoutDetailIds);
}
/**
* 删除出库单据子表信息
*
* @param stockoutDetailId 出库单据子表主键
* @return 结果
*/
@Override
public int deleteOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId)
{
return outStockoutDetailFinishMapper.deleteOutStockoutDetailFinishByStockoutDetailId(stockoutDetailId);
}
@Override
public List<OutStockoutDetail> selectOutStockoutDetailFinishListByStockoutGuid(String stockoutGuid) {
return outStockoutDetailFinishMapper.selectOutStockoutDetailFinishListByStockoutGuid(stockoutGuid);
}
}

View File

@@ -0,0 +1,104 @@
package com.ruoyi.out.outStockoutFinish.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish;
import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 出库单据完成表Controller
*
* @author ruoyi
* @date 2025-05-23
*/
@RestController
@RequestMapping("/out/outStockoutFinish")
public class OutStockoutFinishController extends BaseController
{
@Autowired
private IOutStockoutFinishService outStockoutFinishService;
/**
* 查询出库单据完成表列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutFinish:list')")
@GetMapping("/list")
public TableDataInfo list(OutStockoutFinish outStockoutFinish)
{
startPage();
List<OutStockoutFinish> list = outStockoutFinishService.selectOutStockoutFinishList(outStockoutFinish);
return getDataTable(list);
}
/**
* 导出出库单据完成表列表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutFinish:export')")
@Log(title = "出库单据完成表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, OutStockoutFinish outStockoutFinish)
{
List<OutStockoutFinish> list = outStockoutFinishService.selectOutStockoutFinishList(outStockoutFinish);
ExcelUtil<OutStockoutFinish> util = new ExcelUtil<OutStockoutFinish>(OutStockoutFinish.class);
util.exportExcel(response, list, "出库单据完成表数据");
}
/**
* 获取出库单据完成表详细信息
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutFinish:query')")
@GetMapping(value = "/{stockoutGuid}")
public AjaxResult getInfo(@PathVariable("stockoutGuid") String stockoutGuid)
{
return success(outStockoutFinishService.selectOutStockoutFinishByStockoutGuid(stockoutGuid));
}
/**
* 新增出库单据完成表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutFinish:add')")
@Log(title = "出库单据完成表", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody OutStockoutFinish outStockoutFinish)
{
return toAjax(outStockoutFinishService.insertOutStockoutFinish(outStockoutFinish));
}
/**
* 修改出库单据完成表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutFinish:edit')")
@Log(title = "出库单据完成表", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody OutStockoutFinish outStockoutFinish)
{
return toAjax(outStockoutFinishService.updateOutStockoutFinish(outStockoutFinish));
}
/**
* 删除出库单据完成表
*/
@PreAuthorize("@ss.hasPermi('out:outStockoutFinish:remove')")
@Log(title = "出库单据完成表", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockoutGuids}")
public AjaxResult remove(@PathVariable String[] stockoutGuids)
{
return toAjax(outStockoutFinishService.deleteOutStockoutFinishByStockoutGuids(stockoutGuids));
}
}

View File

@@ -0,0 +1,278 @@
package com.ruoyi.out.outStockoutFinish.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 出库单据完成表对象 out_stockout_finish
*
* @author ruoyi
* @date 2025-05-23
*/
public class OutStockoutFinish extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 出库单据guid */
@Excel(name = "出库单据guid")
private String stockoutGuid;
/** 出库单编码 */
@Excel(name = "出库单编码")
private String stockoutId;
/** 出库类型 */
@Excel(name = "出库类型")
private String outType;
/** 创建时间 */
@Excel(name = "创建时间")
private String createDate;
/** 部门编号 */
@Excel(name = "部门编号")
private String departmentNo;
/** 客户编号 */
@Excel(name = "客户编号")
private String customerNo;
/** 建单人 */
@Excel(name = "建单人")
private String createManId;
/** 单据状态 */
@Excel(name = "单据状态")
private String status;
/** 单据来源 */
@Excel(name = "单据来源")
private String stockoutSource;
/** 仓库 */
@Excel(name = "仓库")
private String warehouseId;
/** 班组 */
@Excel(name = "班组")
private String classNowId;
/** 出口 */
@Excel(name = "出口")
private String exitId;
/** 车牌 */
@Excel(name = "车牌")
private String carNumber;
/** 外部订单号 */
@Excel(name = "外部订单号")
private String FID;
/** erp订单号 */
@Excel(name = "erp订单号")
private String erpStockoutId;
/** 开始时间 */
@Excel(name = "开始时间")
private String startDate;
/** 完成时间 */
@Excel(name = "完成时间")
private String finishDate;
public void setStockoutGuid(String stockoutGuid)
{
this.stockoutGuid = stockoutGuid;
}
public String getStockoutGuid()
{
return stockoutGuid;
}
public void setStockoutId(String stockoutId)
{
this.stockoutId = stockoutId;
}
public String getStockoutId()
{
return stockoutId;
}
public void setOutType(String outType)
{
this.outType = outType;
}
public String getOutType()
{
return outType;
}
public void setCreateDate(String createDate)
{
this.createDate = createDate;
}
public String getCreateDate()
{
return createDate;
}
public void setDepartmentNo(String departmentNo)
{
this.departmentNo = departmentNo;
}
public String getDepartmentNo()
{
return departmentNo;
}
public void setCustomerNo(String customerNo)
{
this.customerNo = customerNo;
}
public String getCustomerNo()
{
return customerNo;
}
public void setCreateManId(String createManId)
{
this.createManId = createManId;
}
public String getCreateManId()
{
return createManId;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setStockoutSource(String stockoutSource)
{
this.stockoutSource = stockoutSource;
}
public String getStockoutSource()
{
return stockoutSource;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setClassNowId(String classNowId)
{
this.classNowId = classNowId;
}
public String getClassNowId()
{
return classNowId;
}
public void setExitId(String exitId)
{
this.exitId = exitId;
}
public String getExitId()
{
return exitId;
}
public void setCarNumber(String carNumber)
{
this.carNumber = carNumber;
}
public String getCarNumber()
{
return carNumber;
}
public void setFID(String FID)
{
this.FID = FID;
}
public String getFID()
{
return FID;
}
public void setErpStockoutId(String erpStockoutId)
{
this.erpStockoutId = erpStockoutId;
}
public String getErpStockoutId()
{
return erpStockoutId;
}
public void setStartDate(String startDate)
{
this.startDate = startDate;
}
public String getStartDate()
{
return startDate;
}
public void setFinishDate(String finishDate)
{
this.finishDate = finishDate;
}
public String getFinishDate()
{
return finishDate;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockoutGuid", getStockoutGuid())
.append("stockoutId", getStockoutId())
.append("outType", getOutType())
.append("createDate", getCreateDate())
.append("departmentNo", getDepartmentNo())
.append("customerNo", getCustomerNo())
.append("createManId", getCreateManId())
.append("status", getStatus())
.append("stockoutSource", getStockoutSource())
.append("warehouseId", getWarehouseId())
.append("classNowId", getClassNowId())
.append("exitId", getExitId())
.append("carNumber", getCarNumber())
.append("FID", getFID())
.append("erpStockoutId", getErpStockoutId())
.append("startDate", getStartDate())
.append("finishDate", getFinishDate())
.toString();
}
}

View File

@@ -0,0 +1,65 @@
package com.ruoyi.out.outStockoutFinish.mapper;
import java.util.List;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish;
/**
* 出库单据完成表Mapper接口
*
* @author ruoyi
* @date 2025-05-23
*/
public interface OutStockoutFinishMapper
{
/**
* 查询出库单据完成表
*
* @param stockoutGuid 出库单据完成表主键
* @return 出库单据完成表
*/
public OutStockoutFinish selectOutStockoutFinishByStockoutGuid(String stockoutGuid);
/**
* 查询出库单据完成表列表
*
* @param outStockoutFinish 出库单据完成表
* @return 出库单据完成表集合
*/
public List<OutStockoutFinish> selectOutStockoutFinishList(OutStockoutFinish outStockoutFinish);
/**
* 新增出库单据完成表
*
* @param outStockoutFinish 出库单据完成表
* @return 结果
*/
public int insertOutStockoutFinish(OutStockoutFinish outStockoutFinish);
/**
* 修改出库单据完成表
*
* @param outStockoutFinish 出库单据完成表
* @return 结果
*/
public int updateOutStockoutFinish(OutStockoutFinish outStockoutFinish);
/**
* 删除出库单据完成表
*
* @param stockoutGuid 出库单据完成表主键
* @return 结果
*/
public int deleteOutStockoutFinishByStockoutGuid(String stockoutGuid);
/**
* 批量删除出库单据完成表
*
* @param stockoutGuids 需要删除的数据主键集合
* @return 结果
*/
public int deleteOutStockoutFinishByStockoutGuids(String[] stockoutGuids);
public List<OutStockout> selectOutStockoutFinishListByOutStockout(OutStockout outStockout);
}

View File

@@ -0,0 +1,65 @@
package com.ruoyi.out.outStockoutFinish.service;
import java.util.List;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish;
/**
* 出库单据完成表Service接口
*
* @author ruoyi
* @date 2025-05-23
*/
public interface IOutStockoutFinishService
{
/**
* 查询出库单据完成表
*
* @param stockoutGuid 出库单据完成表主键
* @return 出库单据完成表
*/
public OutStockoutFinish selectOutStockoutFinishByStockoutGuid(String stockoutGuid);
/**
* 查询出库单据完成表列表
*
* @param outStockoutFinish 出库单据完成表
* @return 出库单据完成表集合
*/
public List<OutStockoutFinish> selectOutStockoutFinishList(OutStockoutFinish outStockoutFinish);
/**
* 新增出库单据完成表
*
* @param outStockoutFinish 出库单据完成表
* @return 结果
*/
public int insertOutStockoutFinish(OutStockoutFinish outStockoutFinish);
/**
* 修改出库单据完成表
*
* @param outStockoutFinish 出库单据完成表
* @return 结果
*/
public int updateOutStockoutFinish(OutStockoutFinish outStockoutFinish);
/**
* 批量删除出库单据完成表
*
* @param stockoutGuids 需要删除的出库单据完成表主键集合
* @return 结果
*/
public int deleteOutStockoutFinishByStockoutGuids(String[] stockoutGuids);
/**
* 删除出库单据完成表信息
*
* @param stockoutGuid 出库单据完成表主键
* @return 结果
*/
public int deleteOutStockoutFinishByStockoutGuid(String stockoutGuid);
public List<OutStockout> selectOutStockoutFinishListByOutStockout(OutStockout outStockout);
}

View File

@@ -0,0 +1,101 @@
package com.ruoyi.out.outStockoutFinish.service.impl;
import java.util.Collections;
import java.util.List;
import com.ruoyi.out.outStockout.domain.OutStockout;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.out.outStockoutFinish.mapper.OutStockoutFinishMapper;
import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish;
import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService;
/**
* 出库单据完成表Service业务层处理
*
* @author ruoyi
* @date 2025-05-23
*/
@Service
public class OutStockoutFinishServiceImpl implements IOutStockoutFinishService
{
@Autowired
private OutStockoutFinishMapper outStockoutFinishMapper;
/**
* 查询出库单据完成表
*
* @param stockoutGuid 出库单据完成表主键
* @return 出库单据完成表
*/
@Override
public OutStockoutFinish selectOutStockoutFinishByStockoutGuid(String stockoutGuid)
{
return outStockoutFinishMapper.selectOutStockoutFinishByStockoutGuid(stockoutGuid);
}
/**
* 查询出库单据完成表列表
*
* @param outStockoutFinish 出库单据完成表
* @return 出库单据完成表
*/
@Override
public List<OutStockoutFinish> selectOutStockoutFinishList(OutStockoutFinish outStockoutFinish)
{
return outStockoutFinishMapper.selectOutStockoutFinishList(outStockoutFinish);
}
/**
* 新增出库单据完成表
*
* @param outStockoutFinish 出库单据完成表
* @return 结果
*/
@Override
public int insertOutStockoutFinish(OutStockoutFinish outStockoutFinish)
{
return outStockoutFinishMapper.insertOutStockoutFinish(outStockoutFinish);
}
/**
* 修改出库单据完成表
*
* @param outStockoutFinish 出库单据完成表
* @return 结果
*/
@Override
public int updateOutStockoutFinish(OutStockoutFinish outStockoutFinish)
{
return outStockoutFinishMapper.updateOutStockoutFinish(outStockoutFinish);
}
/**
* 批量删除出库单据完成表
*
* @param stockoutGuids 需要删除的出库单据完成表主键
* @return 结果
*/
@Override
public int deleteOutStockoutFinishByStockoutGuids(String[] stockoutGuids)
{
return outStockoutFinishMapper.deleteOutStockoutFinishByStockoutGuids(stockoutGuids);
}
/**
* 删除出库单据完成表信息
*
* @param stockoutGuid 出库单据完成表主键
* @return 结果
*/
@Override
public int deleteOutStockoutFinishByStockoutGuid(String stockoutGuid)
{
return outStockoutFinishMapper.deleteOutStockoutFinishByStockoutGuid(stockoutGuid);
}
@Override
public List<OutStockout> selectOutStockoutFinishListByOutStockout(OutStockout outStockout) {
return outStockoutFinishMapper.selectOutStockoutFinishListByOutStockout(outStockout);
}
}

View File

@@ -0,0 +1,104 @@
package com.ruoyi.out.productAndStock.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
import com.ruoyi.out.productAndStock.service.IViewProductAndStockService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 可出库的库存物资信息Controller
*
* @author ruoyi
* @date 2025-05-21
*/
@RestController
@RequestMapping("/out/productAndStock")
public class ViewProductAndStockController extends BaseController
{
@Autowired
private IViewProductAndStockService viewProductAndStockService;
/**
* 查询可出库的库存物资信息列表
*/
@PreAuthorize("@ss.hasPermi('out:productAndStock:list')")
@GetMapping("/list")
public TableDataInfo list(ViewProductAndStock viewProductAndStock)
{
startPage();
List<ViewProductAndStock> list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock);
return getDataTable(list);
}
/**
* 导出可出库的库存物资信息列表
*/
@PreAuthorize("@ss.hasPermi('out:productAndStock:export')")
@Log(title = "可出库的库存物资信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ViewProductAndStock viewProductAndStock)
{
List<ViewProductAndStock> list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock);
ExcelUtil<ViewProductAndStock> util = new ExcelUtil<ViewProductAndStock>(ViewProductAndStock.class);
util.exportExcel(response, list, "可出库的库存物资信息数据");
}
/**
* 获取可出库的库存物资信息详细信息
*/
@PreAuthorize("@ss.hasPermi('out:productAndStock:query')")
@GetMapping(value = "/{onlyIdentity}")
public AjaxResult getInfo(@PathVariable("onlyIdentity") Long onlyIdentity)
{
return success(viewProductAndStockService.selectViewProductAndStockByOnlyIdentity(onlyIdentity));
}
/**
* 新增可出库的库存物资信息
*/
@PreAuthorize("@ss.hasPermi('out:productAndStock:add')")
@Log(title = "可出库的库存物资信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ViewProductAndStock viewProductAndStock)
{
return toAjax(viewProductAndStockService.insertViewProductAndStock(viewProductAndStock));
}
/**
* 修改可出库的库存物资信息
*/
@PreAuthorize("@ss.hasPermi('out:productAndStock:edit')")
@Log(title = "可出库的库存物资信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ViewProductAndStock viewProductAndStock)
{
return toAjax(viewProductAndStockService.updateViewProductAndStock(viewProductAndStock));
}
/**
* 删除可出库的库存物资信息
*/
@PreAuthorize("@ss.hasPermi('out:productAndStock:remove')")
@Log(title = "可出库的库存物资信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{onlyIdentitys}")
public AjaxResult remove(@PathVariable Long[] onlyIdentitys)
{
return toAjax(viewProductAndStockService.deleteViewProductAndStockByOnlyIdentitys(onlyIdentitys));
}
}

View File

@@ -0,0 +1,113 @@
package com.ruoyi.out.productAndStock.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 可出库的库存物资信息对象 view_product_and_stock
*
* @author ruoyi
* @date 2025-05-21
*/
public class ViewProductAndStock extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 序号 */
@Excel(name = "序号")
private Long onlyIdentity;
/** 物资编码 */
@Excel(name = "物资编码")
private String productId;
/** 批号 */
@Excel(name = "批号")
private String lotNo;
/** 物资名称 */
@Excel(name = "物资名称")
private String productName;
/** 数量 */
@Excel(name = "数量")
private String quantity;
/** 仓库 */
@Excel(name = "仓库")
private String warehouseId;
public void setOnlyIdentity(Long onlyIdentity)
{
this.onlyIdentity = onlyIdentity;
}
public Long getOnlyIdentity()
{
return onlyIdentity;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
{
return productId;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setQuantity(String quantity)
{
this.quantity = quantity;
}
public String getQuantity()
{
return quantity;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("onlyIdentity", getOnlyIdentity())
.append("productId", getProductId())
.append("lotNo", getLotNo())
.append("productName", getProductName())
.append("quantity", getQuantity())
.append("warehouseId", getWarehouseId())
.toString();
}
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.out.productAndStock.mapper;
import java.util.List;
import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
/**
* 可出库的库存物资信息Mapper接口
*
* @author ruoyi
* @date 2025-05-21
*/
public interface ViewProductAndStockMapper
{
/**
* 查询可出库的库存物资信息
*
* @param onlyIdentity 可出库的库存物资信息主键
* @return 可出库的库存物资信息
*/
public ViewProductAndStock selectViewProductAndStockByOnlyIdentity(Long onlyIdentity);
/**
* 查询可出库的库存物资信息列表
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 可出库的库存物资信息集合
*/
public List<ViewProductAndStock> selectViewProductAndStockList(ViewProductAndStock viewProductAndStock);
/**
* 新增可出库的库存物资信息
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 结果
*/
public int insertViewProductAndStock(ViewProductAndStock viewProductAndStock);
/**
* 修改可出库的库存物资信息
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 结果
*/
public int updateViewProductAndStock(ViewProductAndStock viewProductAndStock);
/**
* 删除可出库的库存物资信息
*
* @param onlyIdentity 可出库的库存物资信息主键
* @return 结果
*/
public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity);
/**
* 批量删除可出库的库存物资信息
*
* @param onlyIdentitys 需要删除的数据主键集合
* @return 结果
*/
public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys);
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.out.productAndStock.service;
import java.util.List;
import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
/**
* 可出库的库存物资信息Service接口
*
* @author ruoyi
* @date 2025-05-21
*/
public interface IViewProductAndStockService
{
/**
* 查询可出库的库存物资信息
*
* @param onlyIdentity 可出库的库存物资信息主键
* @return 可出库的库存物资信息
*/
public ViewProductAndStock selectViewProductAndStockByOnlyIdentity(Long onlyIdentity);
/**
* 查询可出库的库存物资信息列表
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 可出库的库存物资信息集合
*/
public List<ViewProductAndStock> selectViewProductAndStockList(ViewProductAndStock viewProductAndStock);
/**
* 新增可出库的库存物资信息
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 结果
*/
public int insertViewProductAndStock(ViewProductAndStock viewProductAndStock);
/**
* 修改可出库的库存物资信息
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 结果
*/
public int updateViewProductAndStock(ViewProductAndStock viewProductAndStock);
/**
* 批量删除可出库的库存物资信息
*
* @param onlyIdentitys 需要删除的可出库的库存物资信息主键集合
* @return 结果
*/
public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys);
/**
* 删除可出库的库存物资信息信息
*
* @param onlyIdentity 可出库的库存物资信息主键
* @return 结果
*/
public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity);
}

View File

@@ -0,0 +1,93 @@
package com.ruoyi.out.productAndStock.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.out.productAndStock.mapper.ViewProductAndStockMapper;
import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
import com.ruoyi.out.productAndStock.service.IViewProductAndStockService;
/**
* 可出库的库存物资信息Service业务层处理
*
* @author ruoyi
* @date 2025-05-21
*/
@Service
public class ViewProductAndStockServiceImpl implements IViewProductAndStockService
{
@Autowired
private ViewProductAndStockMapper viewProductAndStockMapper;
/**
* 查询可出库的库存物资信息
*
* @param onlyIdentity 可出库的库存物资信息主键
* @return 可出库的库存物资信息
*/
@Override
public ViewProductAndStock selectViewProductAndStockByOnlyIdentity(Long onlyIdentity)
{
return viewProductAndStockMapper.selectViewProductAndStockByOnlyIdentity(onlyIdentity);
}
/**
* 查询可出库的库存物资信息列表
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 可出库的库存物资信息
*/
@Override
public List<ViewProductAndStock> selectViewProductAndStockList(ViewProductAndStock viewProductAndStock)
{
return viewProductAndStockMapper.selectViewProductAndStockList(viewProductAndStock);
}
/**
* 新增可出库的库存物资信息
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 结果
*/
@Override
public int insertViewProductAndStock(ViewProductAndStock viewProductAndStock)
{
return viewProductAndStockMapper.insertViewProductAndStock(viewProductAndStock);
}
/**
* 修改可出库的库存物资信息
*
* @param viewProductAndStock 可出库的库存物资信息
* @return 结果
*/
@Override
public int updateViewProductAndStock(ViewProductAndStock viewProductAndStock)
{
return viewProductAndStockMapper.updateViewProductAndStock(viewProductAndStock);
}
/**
* 批量删除可出库的库存物资信息
*
* @param onlyIdentitys 需要删除的可出库的库存物资信息主键
* @return 结果
*/
@Override
public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys)
{
return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentitys(onlyIdentitys);
}
/**
* 删除可出库的库存物资信息信息
*
* @param onlyIdentity 可出库的库存物资信息主键
* @return 结果
*/
@Override
public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity)
{
return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentity(onlyIdentity);
}
}