入库作业流水、入库单据历史、出库单据历史、KPI所有页面改仓库下拉框

This commit is contained in:
猫猫guowen
2025-05-28 17:24:21 +08:00
parent 75dbbd648d
commit 4f7461f79b
29 changed files with 5050 additions and 7 deletions

View File

@@ -0,0 +1,104 @@
package com.ruoyi.search.ViewInJobFlow.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.search.ViewInJobFlow.domain.ViewInJobFlow;
import com.ruoyi.search.ViewInJobFlow.service.IViewInJobFlowService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 入库作业流水Controller
*
* @author gw
* @date 2025-05-28
*/
@RestController
@RequestMapping("/search/ViewInJobFlow")
public class ViewInJobFlowController extends BaseController
{
@Autowired
private IViewInJobFlowService viewInJobFlowService;
/**
* 查询入库作业流水列表
*/
@PreAuthorize("@ss.hasPermi('search:ViewInJobFlow:list')")
@GetMapping("/list")
public TableDataInfo list(ViewInJobFlow viewInJobFlow)
{
startPage();
List<ViewInJobFlow> list = viewInJobFlowService.selectViewInJobFlowList(viewInJobFlow);
return getDataTable(list);
}
/**
* 导出入库作业流水列表
*/
@PreAuthorize("@ss.hasPermi('search:ViewInJobFlow:export')")
@Log(title = "入库作业流水", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ViewInJobFlow viewInJobFlow)
{
List<ViewInJobFlow> list = viewInJobFlowService.selectViewInJobFlowList(viewInJobFlow);
ExcelUtil<ViewInJobFlow> util = new ExcelUtil<ViewInJobFlow>(ViewInJobFlow.class);
util.exportExcel(response, list, "入库作业流水数据");
}
/**
* 获取入库作业流水详细信息
*/
@PreAuthorize("@ss.hasPermi('search:ViewInJobFlow:query')")
@GetMapping(value = "/{jobId}")
public AjaxResult getInfo(@PathVariable("jobId") String jobId)
{
return success(viewInJobFlowService.selectViewInJobFlowByJobId(jobId));
}
/**
* 新增入库作业流水
*/
@PreAuthorize("@ss.hasPermi('search:ViewInJobFlow:add')")
@Log(title = "入库作业流水", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ViewInJobFlow viewInJobFlow)
{
return toAjax(viewInJobFlowService.insertViewInJobFlow(viewInJobFlow));
}
/**
* 修改入库作业流水
*/
@PreAuthorize("@ss.hasPermi('search:ViewInJobFlow:edit')")
@Log(title = "入库作业流水", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ViewInJobFlow viewInJobFlow)
{
return toAjax(viewInJobFlowService.updateViewInJobFlow(viewInJobFlow));
}
/**
* 删除入库作业流水
*/
@PreAuthorize("@ss.hasPermi('search:ViewInJobFlow:remove')")
@Log(title = "入库作业流水", businessType = BusinessType.DELETE)
@DeleteMapping("/{jobIds}")
public AjaxResult remove(@PathVariable String[] jobIds)
{
return toAjax(viewInJobFlowService.deleteViewInJobFlowByJobIds(jobIds));
}
}

View File

@@ -0,0 +1,459 @@
package com.ruoyi.search.ViewInJobFlow.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_in_job_flow
*
* @author gw
* @date 2025-05-28
*/
public class ViewInJobFlow extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 作业ID */
@Excel(name = "作业ID")
private String jobId;
/** 子作业ID */
@Excel(name = "子作业ID")
private String jobDetailId;
/** 状态 */
@Excel(name = "状态")
private String status;
/** 任务号 */
@Excel(name = "任务号")
private String taskNo;
/** 托盘号 */
@Excel(name = "托盘号")
private String trayCode;
/** 巷道ID */
@Excel(name = "巷道ID")
private String roadwayId;
/** 货位ID */
@Excel(name = "货位ID")
private String cargoSpaceId;
/** 货位名称 */
@Excel(name = "货位名称")
private String cargoSpaceName;
/** 排 */
@Excel(name = "排")
private Long thePlatoon;
/** 列 */
@Excel(name = "列")
private Long theColumn;
/** 层 */
@Excel(name = "层")
private Long theFloor;
/** 优先级 */
@Excel(name = "优先级")
private Long priority;
/** 执行阶段 */
@Excel(name = "执行阶段")
private String executionPhase;
/** 作业类型 */
@Excel(name = "作业类型")
private String inOrOut;
/** 入口ID */
@Excel(name = "入口ID")
private String entranceId;
/** 物料ID */
@Excel(name = "物料ID")
private String productId;
/** 批号 */
@Excel(name = "批号")
private String lotNo;
/** 垛型ID */
@Excel(name = "垛型ID")
private String stackingId;
/** 库存状态 */
@Excel(name = "库存状态")
private String stockStatus;
/** 入库数量 */
@Excel(name = "入库数量")
private String inQuantity;
/** 单据ID */
@Excel(name = "单据ID")
private String inOrOutId;
/** 子单据ID */
@Excel(name = "子单据ID")
private String inOrOutDId;
/** 开始时间 */
@Excel(name = "开始时间")
private String startTime;
/** 结束时间 */
@Excel(name = "结束时间")
private String finishTime;
/** 仓库ID */
@Excel(name = "仓库ID")
private String warehouseId;
/** 物料名称 */
@Excel(name = "物料名称")
private String productName;
/** 规格 */
@Excel(name = "规格")
private String spec;
/** 品牌 */
@Excel(name = "品牌")
private String cargoNo;
/** 单位 */
@Excel(name = "单位")
private String unit;
public void setJobId(String jobId)
{
this.jobId = jobId;
}
public String getJobId()
{
return jobId;
}
public void setJobDetailId(String jobDetailId)
{
this.jobDetailId = jobDetailId;
}
public String getJobDetailId()
{
return jobDetailId;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setTaskNo(String taskNo)
{
this.taskNo = taskNo;
}
public String getTaskNo()
{
return taskNo;
}
public void setTrayCode(String trayCode)
{
this.trayCode = trayCode;
}
public String getTrayCode()
{
return trayCode;
}
public void setRoadwayId(String roadwayId)
{
this.roadwayId = roadwayId;
}
public String getRoadwayId()
{
return roadwayId;
}
public void setCargoSpaceId(String cargoSpaceId)
{
this.cargoSpaceId = cargoSpaceId;
}
public String getCargoSpaceId()
{
return cargoSpaceId;
}
public void setCargoSpaceName(String cargoSpaceName)
{
this.cargoSpaceName = cargoSpaceName;
}
public String getCargoSpaceName()
{
return cargoSpaceName;
}
public void setThePlatoon(Long thePlatoon)
{
this.thePlatoon = thePlatoon;
}
public Long getThePlatoon()
{
return thePlatoon;
}
public void setTheColumn(Long theColumn)
{
this.theColumn = theColumn;
}
public Long getTheColumn()
{
return theColumn;
}
public void setTheFloor(Long theFloor)
{
this.theFloor = theFloor;
}
public Long getTheFloor()
{
return theFloor;
}
public void setPriority(Long priority)
{
this.priority = priority;
}
public Long getPriority()
{
return priority;
}
public void setExecutionPhase(String executionPhase)
{
this.executionPhase = executionPhase;
}
public String getExecutionPhase()
{
return executionPhase;
}
public void setInOrOut(String inOrOut)
{
this.inOrOut = inOrOut;
}
public String getInOrOut()
{
return inOrOut;
}
public void setEntranceId(String entranceId)
{
this.entranceId = entranceId;
}
public String getEntranceId()
{
return entranceId;
}
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 setStackingId(String stackingId)
{
this.stackingId = stackingId;
}
public String getStackingId()
{
return stackingId;
}
public void setStockStatus(String stockStatus)
{
this.stockStatus = stockStatus;
}
public String getStockStatus()
{
return stockStatus;
}
public void setInQuantity(String inQuantity)
{
this.inQuantity = inQuantity;
}
public String getInQuantity()
{
return inQuantity;
}
public void setInOrOutId(String inOrOutId)
{
this.inOrOutId = inOrOutId;
}
public String getInOrOutId()
{
return inOrOutId;
}
public void setInOrOutDId(String inOrOutDId)
{
this.inOrOutDId = inOrOutDId;
}
public String getInOrOutDId()
{
return inOrOutDId;
}
public void setStartTime(String startTime)
{
this.startTime = startTime;
}
public String getStartTime()
{
return startTime;
}
public void setFinishTime(String finishTime)
{
this.finishTime = finishTime;
}
public String getFinishTime()
{
return finishTime;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
{
return spec;
}
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
{
return cargoNo;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("jobId", getJobId())
.append("jobDetailId", getJobDetailId())
.append("status", getStatus())
.append("taskNo", getTaskNo())
.append("trayCode", getTrayCode())
.append("roadwayId", getRoadwayId())
.append("cargoSpaceId", getCargoSpaceId())
.append("cargoSpaceName", getCargoSpaceName())
.append("thePlatoon", getThePlatoon())
.append("theColumn", getTheColumn())
.append("theFloor", getTheFloor())
.append("priority", getPriority())
.append("executionPhase", getExecutionPhase())
.append("inOrOut", getInOrOut())
.append("entranceId", getEntranceId())
.append("productId", getProductId())
.append("lotNo", getLotNo())
.append("stackingId", getStackingId())
.append("stockStatus", getStockStatus())
.append("inQuantity", getInQuantity())
.append("inOrOutId", getInOrOutId())
.append("inOrOutDId", getInOrOutDId())
.append("createTime", getCreateTime())
.append("startTime", getStartTime())
.append("finishTime", getFinishTime())
.append("warehouseId", getWarehouseId())
.append("productName", getProductName())
.append("spec", getSpec())
.append("cargoNo", getCargoNo())
.append("unit", getUnit())
.toString();
}
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.search.ViewInJobFlow.mapper;
import java.util.List;
import com.ruoyi.search.ViewInJobFlow.domain.ViewInJobFlow;
/**
* 入库作业流水Mapper接口
*
* @author gw
* @date 2025-05-28
*/
public interface ViewInJobFlowMapper
{
/**
* 查询入库作业流水
*
* @param jobId 入库作业流水主键
* @return 入库作业流水
*/
public ViewInJobFlow selectViewInJobFlowByJobId(String jobId);
/**
* 查询入库作业流水列表
*
* @param viewInJobFlow 入库作业流水
* @return 入库作业流水集合
*/
public List<ViewInJobFlow> selectViewInJobFlowList(ViewInJobFlow viewInJobFlow);
/**
* 新增入库作业流水
*
* @param viewInJobFlow 入库作业流水
* @return 结果
*/
public int insertViewInJobFlow(ViewInJobFlow viewInJobFlow);
/**
* 修改入库作业流水
*
* @param viewInJobFlow 入库作业流水
* @return 结果
*/
public int updateViewInJobFlow(ViewInJobFlow viewInJobFlow);
/**
* 删除入库作业流水
*
* @param jobId 入库作业流水主键
* @return 结果
*/
public int deleteViewInJobFlowByJobId(String jobId);
/**
* 批量删除入库作业流水
*
* @param jobIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteViewInJobFlowByJobIds(String[] jobIds);
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.search.ViewInJobFlow.service;
import java.util.List;
import com.ruoyi.search.ViewInJobFlow.domain.ViewInJobFlow;
/**
* 入库作业流水Service接口
*
* @author gw
* @date 2025-05-28
*/
public interface IViewInJobFlowService
{
/**
* 查询入库作业流水
*
* @param jobId 入库作业流水主键
* @return 入库作业流水
*/
public ViewInJobFlow selectViewInJobFlowByJobId(String jobId);
/**
* 查询入库作业流水列表
*
* @param viewInJobFlow 入库作业流水
* @return 入库作业流水集合
*/
public List<ViewInJobFlow> selectViewInJobFlowList(ViewInJobFlow viewInJobFlow);
/**
* 新增入库作业流水
*
* @param viewInJobFlow 入库作业流水
* @return 结果
*/
public int insertViewInJobFlow(ViewInJobFlow viewInJobFlow);
/**
* 修改入库作业流水
*
* @param viewInJobFlow 入库作业流水
* @return 结果
*/
public int updateViewInJobFlow(ViewInJobFlow viewInJobFlow);
/**
* 批量删除入库作业流水
*
* @param jobIds 需要删除的入库作业流水主键集合
* @return 结果
*/
public int deleteViewInJobFlowByJobIds(String[] jobIds);
/**
* 删除入库作业流水信息
*
* @param jobId 入库作业流水主键
* @return 结果
*/
public int deleteViewInJobFlowByJobId(String jobId);
}

View File

@@ -0,0 +1,95 @@
package com.ruoyi.search.ViewInJobFlow.service.impl;
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.search.ViewInJobFlow.mapper.ViewInJobFlowMapper;
import com.ruoyi.search.ViewInJobFlow.domain.ViewInJobFlow;
import com.ruoyi.search.ViewInJobFlow.service.IViewInJobFlowService;
/**
* 入库作业流水Service业务层处理
*
* @author gw
* @date 2025-05-28
*/
@Service
public class ViewInJobFlowServiceImpl implements IViewInJobFlowService
{
@Autowired
private ViewInJobFlowMapper viewInJobFlowMapper;
/**
* 查询入库作业流水
*
* @param jobId 入库作业流水主键
* @return 入库作业流水
*/
@Override
public ViewInJobFlow selectViewInJobFlowByJobId(String jobId)
{
return viewInJobFlowMapper.selectViewInJobFlowByJobId(jobId);
}
/**
* 查询入库作业流水列表
*
* @param viewInJobFlow 入库作业流水
* @return 入库作业流水
*/
@Override
public List<ViewInJobFlow> selectViewInJobFlowList(ViewInJobFlow viewInJobFlow)
{
return viewInJobFlowMapper.selectViewInJobFlowList(viewInJobFlow);
}
/**
* 新增入库作业流水
*
* @param viewInJobFlow 入库作业流水
* @return 结果
*/
@Override
public int insertViewInJobFlow(ViewInJobFlow viewInJobFlow)
{
viewInJobFlow.setCreateTime(DateUtils.getNowDate());
return viewInJobFlowMapper.insertViewInJobFlow(viewInJobFlow);
}
/**
* 修改入库作业流水
*
* @param viewInJobFlow 入库作业流水
* @return 结果
*/
@Override
public int updateViewInJobFlow(ViewInJobFlow viewInJobFlow)
{
return viewInJobFlowMapper.updateViewInJobFlow(viewInJobFlow);
}
/**
* 批量删除入库作业流水
*
* @param jobIds 需要删除的入库作业流水主键
* @return 结果
*/
@Override
public int deleteViewInJobFlowByJobIds(String[] jobIds)
{
return viewInJobFlowMapper.deleteViewInJobFlowByJobIds(jobIds);
}
/**
* 删除入库作业流水信息
*
* @param jobId 入库作业流水主键
* @return 结果
*/
@Override
public int deleteViewInJobFlowByJobId(String jobId)
{
return viewInJobFlowMapper.deleteViewInJobFlowByJobId(jobId);
}
}

View File

@@ -0,0 +1,104 @@
package com.ruoyi.search.ViewStockinHistory.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.search.ViewStockinHistory.domain.ViewStockinHistory;
import com.ruoyi.search.ViewStockinHistory.service.IViewStockinHistoryService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 入库单据历史Controller
*
* @author gw
* @date 2025-05-28
*/
@RestController
@RequestMapping("/search/ViewStockinHistory")
public class ViewStockinHistoryController extends BaseController
{
@Autowired
private IViewStockinHistoryService viewStockinHistoryService;
/**
* 查询入库单据历史列表
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockinHistory:list')")
@GetMapping("/list")
public TableDataInfo list(ViewStockinHistory viewStockinHistory)
{
startPage();
List<ViewStockinHistory> list = viewStockinHistoryService.selectViewStockinHistoryList(viewStockinHistory);
return getDataTable(list);
}
/**
* 导出入库单据历史列表
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockinHistory:export')")
@Log(title = "入库单据历史", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ViewStockinHistory viewStockinHistory)
{
List<ViewStockinHistory> list = viewStockinHistoryService.selectViewStockinHistoryList(viewStockinHistory);
ExcelUtil<ViewStockinHistory> util = new ExcelUtil<ViewStockinHistory>(ViewStockinHistory.class);
util.exportExcel(response, list, "入库单据历史数据");
}
/**
* 获取入库单据历史详细信息
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockinHistory:query')")
@GetMapping(value = "/{stockinGuid}")
public AjaxResult getInfo(@PathVariable("stockinGuid") String stockinGuid)
{
return success(viewStockinHistoryService.selectViewStockinHistoryByStockinGuid(stockinGuid));
}
/**
* 新增入库单据历史
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockinHistory:add')")
@Log(title = "入库单据历史", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ViewStockinHistory viewStockinHistory)
{
return toAjax(viewStockinHistoryService.insertViewStockinHistory(viewStockinHistory));
}
/**
* 修改入库单据历史
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockinHistory:edit')")
@Log(title = "入库单据历史", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ViewStockinHistory viewStockinHistory)
{
return toAjax(viewStockinHistoryService.updateViewStockinHistory(viewStockinHistory));
}
/**
* 删除入库单据历史
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockinHistory:remove')")
@Log(title = "入库单据历史", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockinGuids}")
public AjaxResult remove(@PathVariable String[] stockinGuids)
{
return toAjax(viewStockinHistoryService.deleteViewStockinHistoryByStockinGuids(stockinGuids));
}
}

View File

@@ -0,0 +1,579 @@
package com.ruoyi.search.ViewStockinHistory.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_stockin_history
*
* @author gw
* @date 2025-05-28
*/
public class ViewStockinHistory extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 入库单guid */
@Excel(name = "入库单guid")
private String stockinGuid;
/** 入库单号 */
@Excel(name = "入库单号")
private String stockinId;
/** 入库类型 */
@Excel(name = "入库类型")
private String inType;
/** 创建时间 */
@Excel(name = "创建时间")
private String createDate;
/** 创建人 */
@Excel(name = "创建人")
private String createManId;
/** 单据状态 */
@Excel(name = "单据状态")
private String status;
/** 仓库ID */
@Excel(name = "仓库ID")
private String warehouseId;
/** 完成时间 */
@Excel(name = "完成时间")
private String finishDate;
/** ERP单号 */
@Excel(name = "ERP单号")
private String erpBill;
/** 单据来源 */
@Excel(name = "单据来源")
private String stockSource;
/** 部门编码 */
@Excel(name = "部门编码")
private String departmentNo;
/** 班组编码 */
@Excel(name = "班组编码")
private String classNo;
/** 供应商编号 */
@Excel(name = "供应商编号")
private String supplierNo;
/** 供应商名称 */
@Excel(name = "供应商名称")
private String supplierName;
/** 供应商简称 */
@Excel(name = "供应商简称")
private String simpleName;
/** 联系人 */
@Excel(name = "联系人")
private String contactName;
/** 联系电话 */
@Excel(name = "联系电话")
private String contactNumber;
/** 供应商地址 */
@Excel(name = "供应商地址")
private String address;
/** 入库明细ID */
@Excel(name = "入库明细ID")
private String stockinDetailId;
/** 批次号 */
@Excel(name = "批次号")
private String lotNo;
/** 计划数量 */
@Excel(name = "计划数量")
private String quantity;
/** 计划箱数 */
@Excel(name = "计划箱数")
private String quantityX;
/** 计划件数 */
@Excel(name = "计划件数")
private String quantityJ;
/** 实际数量 */
@Excel(name = "实际数量")
private String assignNum;
/** 实际箱数 */
@Excel(name = "实际箱数")
private String assignNumX;
/** 实际件数 */
@Excel(name = "实际件数")
private String assignNumJ;
/** 扫码数量 */
@Excel(name = "扫码数量")
private String scanNum;
/** 扫码箱数 */
@Excel(name = "扫码箱数")
private String scanNumX;
/** 扫码件数 */
@Excel(name = "扫码件数")
private String scanNumJ;
/** 入库日期 */
@Excel(name = "入库日期")
private String printDate;
/** 库存状态 */
@Excel(name = "库存状态")
private String stockStatus;
/** 单价 */
@Excel(name = "单价")
private String price;
/** 物料编码 */
@Excel(name = "物料编码")
private String productId;
/** 物料名称 */
@Excel(name = "物料名称")
private String productName;
/** 品牌 */
@Excel(name = "品牌")
private String cargoNo;
/** 单位 */
@Excel(name = "单位")
private String unit;
/** 规格 */
@Excel(name = "规格")
private String spec;
public void setStockinGuid(String stockinGuid)
{
this.stockinGuid = stockinGuid;
}
public String getStockinGuid()
{
return stockinGuid;
}
public void setStockinId(String stockinId)
{
this.stockinId = stockinId;
}
public String getStockinId()
{
return stockinId;
}
public void setInType(String inType)
{
this.inType = inType;
}
public String getInType()
{
return inType;
}
public void setCreateDate(String createDate)
{
this.createDate = createDate;
}
public String getCreateDate()
{
return createDate;
}
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 setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setFinishDate(String finishDate)
{
this.finishDate = finishDate;
}
public String getFinishDate()
{
return finishDate;
}
public void setErpBill(String erpBill)
{
this.erpBill = erpBill;
}
public String getErpBill()
{
return erpBill;
}
public void setStockSource(String stockSource)
{
this.stockSource = stockSource;
}
public String getStockSource()
{
return stockSource;
}
public void setDepartmentNo(String departmentNo)
{
this.departmentNo = departmentNo;
}
public String getDepartmentNo()
{
return departmentNo;
}
public void setClassNo(String classNo)
{
this.classNo = classNo;
}
public String getClassNo()
{
return classNo;
}
public void setSupplierNo(String supplierNo)
{
this.supplierNo = supplierNo;
}
public String getSupplierNo()
{
return supplierNo;
}
public void setSupplierName(String supplierName)
{
this.supplierName = supplierName;
}
public String getSupplierName()
{
return supplierName;
}
public void setSimpleName(String simpleName)
{
this.simpleName = simpleName;
}
public String getSimpleName()
{
return simpleName;
}
public void setContactName(String contactName)
{
this.contactName = contactName;
}
public String getContactName()
{
return contactName;
}
public void setContactNumber(String contactNumber)
{
this.contactNumber = contactNumber;
}
public String getContactNumber()
{
return contactNumber;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setStockinDetailId(String stockinDetailId)
{
this.stockinDetailId = stockinDetailId;
}
public String getStockinDetailId()
{
return stockinDetailId;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setQuantity(String quantity)
{
this.quantity = quantity;
}
public String getQuantity()
{
return quantity;
}
public void setQuantityX(String quantityX)
{
this.quantityX = quantityX;
}
public String getQuantityX()
{
return quantityX;
}
public void setQuantityJ(String quantityJ)
{
this.quantityJ = quantityJ;
}
public String getQuantityJ()
{
return quantityJ;
}
public void setAssignNum(String assignNum)
{
this.assignNum = assignNum;
}
public String getAssignNum()
{
return assignNum;
}
public void setAssignNumX(String assignNumX)
{
this.assignNumX = assignNumX;
}
public String getAssignNumX()
{
return assignNumX;
}
public void setAssignNumJ(String assignNumJ)
{
this.assignNumJ = assignNumJ;
}
public String getAssignNumJ()
{
return assignNumJ;
}
public void setScanNum(String scanNum)
{
this.scanNum = scanNum;
}
public String getScanNum()
{
return scanNum;
}
public void setScanNumX(String scanNumX)
{
this.scanNumX = scanNumX;
}
public String getScanNumX()
{
return scanNumX;
}
public void setScanNumJ(String scanNumJ)
{
this.scanNumJ = scanNumJ;
}
public String getScanNumJ()
{
return scanNumJ;
}
public void setPrintDate(String printDate)
{
this.printDate = printDate;
}
public String getPrintDate()
{
return printDate;
}
public void setStockStatus(String stockStatus)
{
this.stockStatus = stockStatus;
}
public String getStockStatus()
{
return stockStatus;
}
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
{
return price;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
{
return productId;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
{
return cargoNo;
}
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;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockinGuid", getStockinGuid())
.append("stockinId", getStockinId())
.append("inType", getInType())
.append("createDate", getCreateDate())
.append("createManId", getCreateManId())
.append("status", getStatus())
.append("warehouseId", getWarehouseId())
.append("finishDate", getFinishDate())
.append("erpBill", getErpBill())
.append("stockSource", getStockSource())
.append("departmentNo", getDepartmentNo())
.append("classNo", getClassNo())
.append("supplierNo", getSupplierNo())
.append("supplierName", getSupplierName())
.append("simpleName", getSimpleName())
.append("contactName", getContactName())
.append("contactNumber", getContactNumber())
.append("address", getAddress())
.append("stockinDetailId", getStockinDetailId())
.append("lotNo", getLotNo())
.append("quantity", getQuantity())
.append("quantityX", getQuantityX())
.append("quantityJ", getQuantityJ())
.append("assignNum", getAssignNum())
.append("assignNumX", getAssignNumX())
.append("assignNumJ", getAssignNumJ())
.append("scanNum", getScanNum())
.append("scanNumX", getScanNumX())
.append("scanNumJ", getScanNumJ())
.append("printDate", getPrintDate())
.append("stockStatus", getStockStatus())
.append("price", getPrice())
.append("remark", getRemark())
.append("productId", getProductId())
.append("productName", getProductName())
.append("cargoNo", getCargoNo())
.append("unit", getUnit())
.append("spec", getSpec())
.toString();
}
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.search.ViewStockinHistory.mapper;
import java.util.List;
import com.ruoyi.search.ViewStockinHistory.domain.ViewStockinHistory;
/**
* 入库单据历史Mapper接口
*
* @author gw
* @date 2025-05-28
*/
public interface ViewStockinHistoryMapper
{
/**
* 查询入库单据历史
*
* @param stockinGuid 入库单据历史主键
* @return 入库单据历史
*/
public ViewStockinHistory selectViewStockinHistoryByStockinGuid(String stockinGuid);
/**
* 查询入库单据历史列表
*
* @param viewStockinHistory 入库单据历史
* @return 入库单据历史集合
*/
public List<ViewStockinHistory> selectViewStockinHistoryList(ViewStockinHistory viewStockinHistory);
/**
* 新增入库单据历史
*
* @param viewStockinHistory 入库单据历史
* @return 结果
*/
public int insertViewStockinHistory(ViewStockinHistory viewStockinHistory);
/**
* 修改入库单据历史
*
* @param viewStockinHistory 入库单据历史
* @return 结果
*/
public int updateViewStockinHistory(ViewStockinHistory viewStockinHistory);
/**
* 删除入库单据历史
*
* @param stockinGuid 入库单据历史主键
* @return 结果
*/
public int deleteViewStockinHistoryByStockinGuid(String stockinGuid);
/**
* 批量删除入库单据历史
*
* @param stockinGuids 需要删除的数据主键集合
* @return 结果
*/
public int deleteViewStockinHistoryByStockinGuids(String[] stockinGuids);
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.search.ViewStockinHistory.service;
import java.util.List;
import com.ruoyi.search.ViewStockinHistory.domain.ViewStockinHistory;
/**
* 入库单据历史Service接口
*
* @author gw
* @date 2025-05-28
*/
public interface IViewStockinHistoryService
{
/**
* 查询入库单据历史
*
* @param stockinGuid 入库单据历史主键
* @return 入库单据历史
*/
public ViewStockinHistory selectViewStockinHistoryByStockinGuid(String stockinGuid);
/**
* 查询入库单据历史列表
*
* @param viewStockinHistory 入库单据历史
* @return 入库单据历史集合
*/
public List<ViewStockinHistory> selectViewStockinHistoryList(ViewStockinHistory viewStockinHistory);
/**
* 新增入库单据历史
*
* @param viewStockinHistory 入库单据历史
* @return 结果
*/
public int insertViewStockinHistory(ViewStockinHistory viewStockinHistory);
/**
* 修改入库单据历史
*
* @param viewStockinHistory 入库单据历史
* @return 结果
*/
public int updateViewStockinHistory(ViewStockinHistory viewStockinHistory);
/**
* 批量删除入库单据历史
*
* @param stockinGuids 需要删除的入库单据历史主键集合
* @return 结果
*/
public int deleteViewStockinHistoryByStockinGuids(String[] stockinGuids);
/**
* 删除入库单据历史信息
*
* @param stockinGuid 入库单据历史主键
* @return 结果
*/
public int deleteViewStockinHistoryByStockinGuid(String stockinGuid);
}

View File

@@ -0,0 +1,93 @@
package com.ruoyi.search.ViewStockinHistory.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.search.ViewStockinHistory.mapper.ViewStockinHistoryMapper;
import com.ruoyi.search.ViewStockinHistory.domain.ViewStockinHistory;
import com.ruoyi.search.ViewStockinHistory.service.IViewStockinHistoryService;
/**
* 入库单据历史Service业务层处理
*
* @author gw
* @date 2025-05-28
*/
@Service
public class ViewStockinHistoryServiceImpl implements IViewStockinHistoryService
{
@Autowired
private ViewStockinHistoryMapper viewStockinHistoryMapper;
/**
* 查询入库单据历史
*
* @param stockinGuid 入库单据历史主键
* @return 入库单据历史
*/
@Override
public ViewStockinHistory selectViewStockinHistoryByStockinGuid(String stockinGuid)
{
return viewStockinHistoryMapper.selectViewStockinHistoryByStockinGuid(stockinGuid);
}
/**
* 查询入库单据历史列表
*
* @param viewStockinHistory 入库单据历史
* @return 入库单据历史
*/
@Override
public List<ViewStockinHistory> selectViewStockinHistoryList(ViewStockinHistory viewStockinHistory)
{
return viewStockinHistoryMapper.selectViewStockinHistoryList(viewStockinHistory);
}
/**
* 新增入库单据历史
*
* @param viewStockinHistory 入库单据历史
* @return 结果
*/
@Override
public int insertViewStockinHistory(ViewStockinHistory viewStockinHistory)
{
return viewStockinHistoryMapper.insertViewStockinHistory(viewStockinHistory);
}
/**
* 修改入库单据历史
*
* @param viewStockinHistory 入库单据历史
* @return 结果
*/
@Override
public int updateViewStockinHistory(ViewStockinHistory viewStockinHistory)
{
return viewStockinHistoryMapper.updateViewStockinHistory(viewStockinHistory);
}
/**
* 批量删除入库单据历史
*
* @param stockinGuids 需要删除的入库单据历史主键
* @return 结果
*/
@Override
public int deleteViewStockinHistoryByStockinGuids(String[] stockinGuids)
{
return viewStockinHistoryMapper.deleteViewStockinHistoryByStockinGuids(stockinGuids);
}
/**
* 删除入库单据历史信息
*
* @param stockinGuid 入库单据历史主键
* @return 结果
*/
@Override
public int deleteViewStockinHistoryByStockinGuid(String stockinGuid)
{
return viewStockinHistoryMapper.deleteViewStockinHistoryByStockinGuid(stockinGuid);
}
}

View File

@@ -0,0 +1,104 @@
package com.ruoyi.search.ViewStockoutHistory.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.search.ViewStockoutHistory.domain.ViewStockoutHistory;
import com.ruoyi.search.ViewStockoutHistory.service.IViewStockoutHistoryService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 出库单据历史Controller
*
* @author gw
* @date 2025-05-28
*/
@RestController
@RequestMapping("/search/ViewStockoutHistory")
public class ViewStockoutHistoryController extends BaseController
{
@Autowired
private IViewStockoutHistoryService viewStockoutHistoryService;
/**
* 查询出库单据历史列表
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockoutHistory:list')")
@GetMapping("/list")
public TableDataInfo list(ViewStockoutHistory viewStockoutHistory)
{
startPage();
List<ViewStockoutHistory> list = viewStockoutHistoryService.selectViewStockoutHistoryList(viewStockoutHistory);
return getDataTable(list);
}
/**
* 导出出库单据历史列表
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockoutHistory:export')")
@Log(title = "出库单据历史", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ViewStockoutHistory viewStockoutHistory)
{
List<ViewStockoutHistory> list = viewStockoutHistoryService.selectViewStockoutHistoryList(viewStockoutHistory);
ExcelUtil<ViewStockoutHistory> util = new ExcelUtil<ViewStockoutHistory>(ViewStockoutHistory.class);
util.exportExcel(response, list, "出库单据历史数据");
}
/**
* 获取出库单据历史详细信息
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockoutHistory:query')")
@GetMapping(value = "/{stockoutId}")
public AjaxResult getInfo(@PathVariable("stockoutId") String stockoutId)
{
return success(viewStockoutHistoryService.selectViewStockoutHistoryByStockoutId(stockoutId));
}
/**
* 新增出库单据历史
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockoutHistory:add')")
@Log(title = "出库单据历史", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ViewStockoutHistory viewStockoutHistory)
{
return toAjax(viewStockoutHistoryService.insertViewStockoutHistory(viewStockoutHistory));
}
/**
* 修改出库单据历史
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockoutHistory:edit')")
@Log(title = "出库单据历史", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ViewStockoutHistory viewStockoutHistory)
{
return toAjax(viewStockoutHistoryService.updateViewStockoutHistory(viewStockoutHistory));
}
/**
* 删除出库单据历史
*/
@PreAuthorize("@ss.hasPermi('search:ViewStockoutHistory:remove')")
@Log(title = "出库单据历史", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockoutIds}")
public AjaxResult remove(@PathVariable String[] stockoutIds)
{
return toAjax(viewStockoutHistoryService.deleteViewStockoutHistoryByStockoutIds(stockoutIds));
}
}

View File

@@ -0,0 +1,324 @@
package com.ruoyi.search.ViewStockoutHistory.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;
/**
* 出库单据历史对象 view_stockout_history
*
* @author gw
* @date 2025-05-28
*/
public class ViewStockoutHistory extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 出库单号 */
@Excel(name = "出库单号")
private String stockoutId;
/** 出库类型 */
@Excel(name = "出库类型")
private String outType;
/** 创建日期 */
@Excel(name = "创建日期")
private String createDate;
/** 创建人ID */
@Excel(name = "创建人ID")
private String createManId;
/** 出库状态 */
@Excel(name = "出库状态")
private String status;
/** 出库来源 */
@Excel(name = "出库来源")
private String stockoutSource;
/** 出口类型 */
@Excel(name = "出口类型")
private String exitId;
/** 出库明细ID */
@Excel(name = "出库明细ID")
private String stockoutDetailId;
/** 产品ID */
@Excel(name = "产品ID")
private String productId;
/** 产品名称 */
@Excel(name = "产品名称")
private String productName;
/** 批次号 */
@Excel(name = "批次号")
private String lotNo;
/** 出库数量 */
@Excel(name = "出库数量")
private BigDecimal quantity;
/** 分配数量 */
@Excel(name = "分配数量")
private BigDecimal allotQuantity;
/** 分配编号 */
@Excel(name = "分配编号")
private BigDecimal assignNum;
/** ERP出库单ID */
@Excel(name = "ERP出库单ID")
private String erpStockoutId;
/** 客户编号 */
@Excel(name = "客户编号")
private String entryid;
/** 客户名称 */
@Excel(name = "客户名称")
private String customerName;
/** 规格 */
@Excel(name = "规格")
private String spec;
/** 品牌 */
@Excel(name = "品牌")
private String cargoNo;
/** 单位 */
@Excel(name = "单位")
private String unit;
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 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 setExitId(String exitId)
{
this.exitId = exitId;
}
public String getExitId()
{
return exitId;
}
public void setStockoutDetailId(String stockoutDetailId)
{
this.stockoutDetailId = stockoutDetailId;
}
public String getStockoutDetailId()
{
return stockoutDetailId;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
{
return productId;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setQuantity(BigDecimal quantity)
{
this.quantity = quantity;
}
public BigDecimal getQuantity()
{
return quantity;
}
public void setAllotQuantity(BigDecimal allotQuantity)
{
this.allotQuantity = allotQuantity;
}
public BigDecimal getAllotQuantity()
{
return allotQuantity;
}
public void setAssignNum(BigDecimal assignNum)
{
this.assignNum = assignNum;
}
public BigDecimal getAssignNum()
{
return assignNum;
}
public void setErpStockoutId(String erpStockoutId)
{
this.erpStockoutId = erpStockoutId;
}
public String getErpStockoutId()
{
return erpStockoutId;
}
public void setEntryid(String entryid)
{
this.entryid = entryid;
}
public String getEntryid()
{
return entryid;
}
public void setCustomerName(String customerName)
{
this.customerName = customerName;
}
public String getCustomerName()
{
return customerName;
}
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
{
return spec;
}
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
{
return cargoNo;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockoutId", getStockoutId())
.append("outType", getOutType())
.append("createDate", getCreateDate())
.append("createManId", getCreateManId())
.append("status", getStatus())
.append("stockoutSource", getStockoutSource())
.append("exitId", getExitId())
.append("stockoutDetailId", getStockoutDetailId())
.append("productId", getProductId())
.append("productName", getProductName())
.append("lotNo", getLotNo())
.append("quantity", getQuantity())
.append("allotQuantity", getAllotQuantity())
.append("assignNum", getAssignNum())
.append("erpStockoutId", getErpStockoutId())
.append("entryid", getEntryid())
.append("customerName", getCustomerName())
.append("spec", getSpec())
.append("cargoNo", getCargoNo())
.append("unit", getUnit())
.toString();
}
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.search.ViewStockoutHistory.mapper;
import java.util.List;
import com.ruoyi.search.ViewStockoutHistory.domain.ViewStockoutHistory;
/**
* 出库单据历史Mapper接口
*
* @author gw
* @date 2025-05-28
*/
public interface ViewStockoutHistoryMapper
{
/**
* 查询出库单据历史
*
* @param stockoutId 出库单据历史主键
* @return 出库单据历史
*/
public ViewStockoutHistory selectViewStockoutHistoryByStockoutId(String stockoutId);
/**
* 查询出库单据历史列表
*
* @param viewStockoutHistory 出库单据历史
* @return 出库单据历史集合
*/
public List<ViewStockoutHistory> selectViewStockoutHistoryList(ViewStockoutHistory viewStockoutHistory);
/**
* 新增出库单据历史
*
* @param viewStockoutHistory 出库单据历史
* @return 结果
*/
public int insertViewStockoutHistory(ViewStockoutHistory viewStockoutHistory);
/**
* 修改出库单据历史
*
* @param viewStockoutHistory 出库单据历史
* @return 结果
*/
public int updateViewStockoutHistory(ViewStockoutHistory viewStockoutHistory);
/**
* 删除出库单据历史
*
* @param stockoutId 出库单据历史主键
* @return 结果
*/
public int deleteViewStockoutHistoryByStockoutId(String stockoutId);
/**
* 批量删除出库单据历史
*
* @param stockoutIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteViewStockoutHistoryByStockoutIds(String[] stockoutIds);
}

View File

@@ -0,0 +1,61 @@
package com.ruoyi.search.ViewStockoutHistory.service;
import java.util.List;
import com.ruoyi.search.ViewStockoutHistory.domain.ViewStockoutHistory;
/**
* 出库单据历史Service接口
*
* @author gw
* @date 2025-05-28
*/
public interface IViewStockoutHistoryService
{
/**
* 查询出库单据历史
*
* @param stockoutId 出库单据历史主键
* @return 出库单据历史
*/
public ViewStockoutHistory selectViewStockoutHistoryByStockoutId(String stockoutId);
/**
* 查询出库单据历史列表
*
* @param viewStockoutHistory 出库单据历史
* @return 出库单据历史集合
*/
public List<ViewStockoutHistory> selectViewStockoutHistoryList(ViewStockoutHistory viewStockoutHistory);
/**
* 新增出库单据历史
*
* @param viewStockoutHistory 出库单据历史
* @return 结果
*/
public int insertViewStockoutHistory(ViewStockoutHistory viewStockoutHistory);
/**
* 修改出库单据历史
*
* @param viewStockoutHistory 出库单据历史
* @return 结果
*/
public int updateViewStockoutHistory(ViewStockoutHistory viewStockoutHistory);
/**
* 批量删除出库单据历史
*
* @param stockoutIds 需要删除的出库单据历史主键集合
* @return 结果
*/
public int deleteViewStockoutHistoryByStockoutIds(String[] stockoutIds);
/**
* 删除出库单据历史信息
*
* @param stockoutId 出库单据历史主键
* @return 结果
*/
public int deleteViewStockoutHistoryByStockoutId(String stockoutId);
}

View File

@@ -0,0 +1,93 @@
package com.ruoyi.search.ViewStockoutHistory.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.search.ViewStockoutHistory.mapper.ViewStockoutHistoryMapper;
import com.ruoyi.search.ViewStockoutHistory.domain.ViewStockoutHistory;
import com.ruoyi.search.ViewStockoutHistory.service.IViewStockoutHistoryService;
/**
* 出库单据历史Service业务层处理
*
* @author gw
* @date 2025-05-28
*/
@Service
public class ViewStockoutHistoryServiceImpl implements IViewStockoutHistoryService
{
@Autowired
private ViewStockoutHistoryMapper viewStockoutHistoryMapper;
/**
* 查询出库单据历史
*
* @param stockoutId 出库单据历史主键
* @return 出库单据历史
*/
@Override
public ViewStockoutHistory selectViewStockoutHistoryByStockoutId(String stockoutId)
{
return viewStockoutHistoryMapper.selectViewStockoutHistoryByStockoutId(stockoutId);
}
/**
* 查询出库单据历史列表
*
* @param viewStockoutHistory 出库单据历史
* @return 出库单据历史
*/
@Override
public List<ViewStockoutHistory> selectViewStockoutHistoryList(ViewStockoutHistory viewStockoutHistory)
{
return viewStockoutHistoryMapper.selectViewStockoutHistoryList(viewStockoutHistory);
}
/**
* 新增出库单据历史
*
* @param viewStockoutHistory 出库单据历史
* @return 结果
*/
@Override
public int insertViewStockoutHistory(ViewStockoutHistory viewStockoutHistory)
{
return viewStockoutHistoryMapper.insertViewStockoutHistory(viewStockoutHistory);
}
/**
* 修改出库单据历史
*
* @param viewStockoutHistory 出库单据历史
* @return 结果
*/
@Override
public int updateViewStockoutHistory(ViewStockoutHistory viewStockoutHistory)
{
return viewStockoutHistoryMapper.updateViewStockoutHistory(viewStockoutHistory);
}
/**
* 批量删除出库单据历史
*
* @param stockoutIds 需要删除的出库单据历史主键
* @return 结果
*/
@Override
public int deleteViewStockoutHistoryByStockoutIds(String[] stockoutIds)
{
return viewStockoutHistoryMapper.deleteViewStockoutHistoryByStockoutIds(stockoutIds);
}
/**
* 删除出库单据历史信息
*
* @param stockoutId 出库单据历史主键
* @return 结果
*/
@Override
public int deleteViewStockoutHistoryByStockoutId(String stockoutId)
{
return viewStockoutHistoryMapper.deleteViewStockoutHistoryByStockoutId(stockoutId);
}
}

View File

@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.ViewInJobFlow.mapper.ViewInJobFlowMapper">
<resultMap type="ViewInJobFlow" id="ViewInJobFlowResult">
<result property="jobId" column="job_id" />
<result property="jobDetailId" column="job_detail_id" />
<result property="status" column="status" />
<result property="taskNo" column="task_no" />
<result property="trayCode" column="tray_code" />
<result property="roadwayId" column="roadway_id" />
<result property="cargoSpaceId" column="cargo_space_id" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="thePlatoon" column="the_platoon" />
<result property="theColumn" column="the_column" />
<result property="theFloor" column="the_floor" />
<result property="priority" column="priority" />
<result property="executionPhase" column="execution_phase" />
<result property="inOrOut" column="in_or_out" />
<result property="entranceId" column="entrance_id" />
<result property="productId" column="product_id" />
<result property="lotNo" column="lot_no" />
<result property="stackingId" column="stacking_id" />
<result property="stockStatus" column="stock_status" />
<result property="inQuantity" column="in_quantity" />
<result property="inOrOutId" column="in_or_out_id" />
<result property="inOrOutDId" column="in_or_out_d_id" />
<result property="createTime" column="create_time" />
<result property="startTime" column="start_time" />
<result property="finishTime" column="finish_time" />
<result property="warehouseId" column="warehouse_id" />
<result property="productName" column="product_name" />
<result property="spec" column="spec" />
<result property="cargoNo" column="cargo_no" />
<result property="unit" column="unit" />
</resultMap>
<sql id="selectViewInJobFlowVo">
select job_id, job_detail_id, status, task_no, tray_code, roadway_id, cargo_space_id, cargo_space_name, the_platoon, the_column, the_floor, priority, execution_phase, in_or_out, entrance_id, product_id, lot_no, stacking_id, stock_status, in_quantity, in_or_out_id, in_or_out_d_id, create_time, start_time, finish_time, warehouse_id, product_name, spec, cargo_no, unit from view_in_job_flow
</sql>
<select id="selectViewInJobFlowList" parameterType="ViewInJobFlow" resultMap="ViewInJobFlowResult">
<include refid="selectViewInJobFlowVo"/>
<where>
<if test="jobId != null and jobId != ''"> and job_id like concat('%', #{jobId}, '%')</if>
<if test="jobDetailId != null and jobDetailId != ''"> and job_detail_id like concat('%', #{jobDetailId}, '%')</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="taskNo != null and taskNo != ''"> and task_no like concat('%', #{taskNo}, '%')</if>
<if test="trayCode != null and trayCode != ''"> and tray_code like concat('%', #{trayCode}, '%')</if>
<if test="roadwayId != null and roadwayId != ''"> and roadway_id like concat('%', #{roadwayId}, '%')</if>
<if test="cargoSpaceId != null and cargoSpaceId != ''"> and cargo_space_id like concat('%', #{cargoSpaceId}, '%')</if>
<if test="cargoSpaceName != null and cargoSpaceName != ''"> and cargo_space_name like concat('%', #{cargoSpaceName}, '%')</if>
<if test="thePlatoon != null "> and the_platoon like concat('%', #{thePlatoon}, '%')</if>
<if test="theColumn != null "> and the_column like concat('%', #{theColumn}, '%')</if>
<if test="theFloor != null "> and the_floor like concat('%', #{theFloor}, '%')</if>
<if test="priority != null "> and priority like concat('%', #{priority}, '%')</if>
<if test="executionPhase != null and executionPhase != ''"> and execution_phase = #{executionPhase}</if>
<if test="inOrOut != null and inOrOut != ''"> and in_or_out like concat('%', #{inOrOut}, '%')</if>
<if test="entranceId != null and entranceId != ''"> and entrance_id like concat('%', #{entranceId}, '%')</if>
<if test="productId != null and productId != ''"> and product_id like concat('%', #{productId}, '%')</if>
<if test="lotNo != null and lotNo != ''"> and lot_no like concat('%', #{lotNo}, '%')</if>
<if test="stackingId != null and stackingId != ''"> and stacking_id like concat('%', #{stackingId}, '%')</if>
<if test="stockStatus != null and stockStatus != ''"> and stock_status = #{stockStatus}</if>
<if test="inQuantity != null and inQuantity != ''"> and in_quantity like concat('%', #{inQuantity}, '%')</if>
<if test="inOrOutId != null and inOrOutId != ''"> and in_or_out_id like concat('%', #{inOrOutId}, '%')</if>
<if test="inOrOutDId != null and inOrOutDId != ''"> and in_or_out_d_id like concat('%', #{inOrOutDId}, '%')</if>
<if test="createTime != null and createTime != ''"> and create_time like concat('%', #{createTime}, '%')</if>
<if test="startTime != null and startTime != ''"> and start_time like concat('%', #{startTime}, '%')</if>
<if test="finishTime != null and finishTime != ''"> and finish_time like concat('%', #{finishTime}, '%')</if>
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id like concat('%', #{warehouseId}, '%')</if>
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
<if test="spec != null and spec != ''"> and spec like concat('%', #{spec}, '%')</if>
<if test="cargoNo != null and cargoNo != ''"> and cargo_no like concat('%', #{cargoNo}, '%')</if>
<if test="unit != null and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
</where>
</select>
<select id="selectViewInJobFlowByJobId" parameterType="String" resultMap="ViewInJobFlowResult">
<include refid="selectViewInJobFlowVo"/>
where job_id = #{jobId}
</select>
<insert id="insertViewInJobFlow" parameterType="ViewInJobFlow">
insert into view_in_job_flow
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="jobId != null and jobId != ''">job_id,</if>
<if test="jobDetailId != null">job_detail_id,</if>
<if test="status != null">status,</if>
<if test="taskNo != null">task_no,</if>
<if test="trayCode != null">tray_code,</if>
<if test="roadwayId != null">roadway_id,</if>
<if test="cargoSpaceId != null">cargo_space_id,</if>
<if test="cargoSpaceName != null">cargo_space_name,</if>
<if test="thePlatoon != null">the_platoon,</if>
<if test="theColumn != null">the_column,</if>
<if test="theFloor != null">the_floor,</if>
<if test="priority != null">priority,</if>
<if test="executionPhase != null">execution_phase,</if>
<if test="inOrOut != null">in_or_out,</if>
<if test="entranceId != null">entrance_id,</if>
<if test="productId != null">product_id,</if>
<if test="lotNo != null">lot_no,</if>
<if test="stackingId != null">stacking_id,</if>
<if test="stockStatus != null">stock_status,</if>
<if test="inQuantity != null">in_quantity,</if>
<if test="inOrOutId != null">in_or_out_id,</if>
<if test="inOrOutDId != null">in_or_out_d_id,</if>
<if test="createTime != null">create_time,</if>
<if test="startTime != null">start_time,</if>
<if test="finishTime != null">finish_time,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="productName != null">product_name,</if>
<if test="spec != null">spec,</if>
<if test="cargoNo != null">cargo_no,</if>
<if test="unit != null">unit,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="jobId != null and jobId != ''">#{jobId},</if>
<if test="jobDetailId != null">#{jobDetailId},</if>
<if test="status != null">#{status},</if>
<if test="taskNo != null">#{taskNo},</if>
<if test="trayCode != null">#{trayCode},</if>
<if test="roadwayId != null">#{roadwayId},</if>
<if test="cargoSpaceId != null">#{cargoSpaceId},</if>
<if test="cargoSpaceName != null">#{cargoSpaceName},</if>
<if test="thePlatoon != null">#{thePlatoon},</if>
<if test="theColumn != null">#{theColumn},</if>
<if test="theFloor != null">#{theFloor},</if>
<if test="priority != null">#{priority},</if>
<if test="executionPhase != null">#{executionPhase},</if>
<if test="inOrOut != null">#{inOrOut},</if>
<if test="entranceId != null">#{entranceId},</if>
<if test="productId != null">#{productId},</if>
<if test="lotNo != null">#{lotNo},</if>
<if test="stackingId != null">#{stackingId},</if>
<if test="stockStatus != null">#{stockStatus},</if>
<if test="inQuantity != null">#{inQuantity},</if>
<if test="inOrOutId != null">#{inOrOutId},</if>
<if test="inOrOutDId != null">#{inOrOutDId},</if>
<if test="createTime != null">#{createTime},</if>
<if test="startTime != null">#{startTime},</if>
<if test="finishTime != null">#{finishTime},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="productName != null">#{productName},</if>
<if test="spec != null">#{spec},</if>
<if test="cargoNo != null">#{cargoNo},</if>
<if test="unit != null">#{unit},</if>
</trim>
</insert>
<update id="updateViewInJobFlow" parameterType="ViewInJobFlow">
update view_in_job_flow
<trim prefix="SET" suffixOverrides=",">
<if test="jobDetailId != null">job_detail_id = #{jobDetailId},</if>
<if test="status != null">status = #{status},</if>
<if test="taskNo != null">task_no = #{taskNo},</if>
<if test="trayCode != null">tray_code = #{trayCode},</if>
<if test="roadwayId != null">roadway_id = #{roadwayId},</if>
<if test="cargoSpaceId != null">cargo_space_id = #{cargoSpaceId},</if>
<if test="cargoSpaceName != null">cargo_space_name = #{cargoSpaceName},</if>
<if test="thePlatoon != null">the_platoon = #{thePlatoon},</if>
<if test="theColumn != null">the_column = #{theColumn},</if>
<if test="theFloor != null">the_floor = #{theFloor},</if>
<if test="priority != null">priority = #{priority},</if>
<if test="executionPhase != null">execution_phase = #{executionPhase},</if>
<if test="inOrOut != null">in_or_out = #{inOrOut},</if>
<if test="entranceId != null">entrance_id = #{entranceId},</if>
<if test="productId != null">product_id = #{productId},</if>
<if test="lotNo != null">lot_no = #{lotNo},</if>
<if test="stackingId != null">stacking_id = #{stackingId},</if>
<if test="stockStatus != null">stock_status = #{stockStatus},</if>
<if test="inQuantity != null">in_quantity = #{inQuantity},</if>
<if test="inOrOutId != null">in_or_out_id = #{inOrOutId},</if>
<if test="inOrOutDId != null">in_or_out_d_id = #{inOrOutDId},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="finishTime != null">finish_time = #{finishTime},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="productName != null">product_name = #{productName},</if>
<if test="spec != null">spec = #{spec},</if>
<if test="cargoNo != null">cargo_no = #{cargoNo},</if>
<if test="unit != null">unit = #{unit},</if>
</trim>
where job_id = #{jobId}
</update>
<delete id="deleteViewInJobFlowByJobId" parameterType="String">
delete from view_in_job_flow where job_id = #{jobId}
</delete>
<delete id="deleteViewInJobFlowByJobIds" parameterType="String">
delete from view_in_job_flow where job_id in
<foreach item="jobId" collection="array" open="(" separator="," close=")">
#{jobId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.ViewStockinHistory.mapper.ViewStockinHistoryMapper">
<resultMap type="ViewStockinHistory" id="ViewStockinHistoryResult">
<result property="stockinGuid" column="stockin_guid" />
<result property="stockinId" column="stockin_id" />
<result property="inType" column="in_type" />
<result property="createDate" column="create_date" />
<result property="createManId" column="create_man_id" />
<result property="status" column="status" />
<result property="warehouseId" column="warehouse_id" />
<result property="finishDate" column="finish_date" />
<result property="erpBill" column="erp_bill" />
<result property="stockSource" column="stock_source" />
<result property="departmentNo" column="department_no" />
<result property="classNo" column="class_no" />
<result property="supplierNo" column="supplier_no" />
<result property="supplierName" column="supplier_name" />
<result property="simpleName" column="simple_name" />
<result property="contactName" column="contact_name" />
<result property="contactNumber" column="contact_number" />
<result property="address" column="address" />
<result property="stockinDetailId" column="stockin_detail_id" />
<result property="lotNo" column="lot_no" />
<result property="quantity" column="quantity" />
<result property="quantityX" column="quantity_x" />
<result property="quantityJ" column="quantity_j" />
<result property="assignNum" column="assign_num" />
<result property="assignNumX" column="assign_num_x" />
<result property="assignNumJ" column="assign_num_j" />
<result property="scanNum" column="scan_num" />
<result property="scanNumX" column="scan_num_x" />
<result property="scanNumJ" column="scan_num_j" />
<result property="printDate" column="print_date" />
<result property="stockStatus" column="stock_status" />
<result property="price" column="price" />
<result property="remark" column="remark" />
<result property="productId" column="product_id" />
<result property="productName" column="product_name" />
<result property="cargoNo" column="cargo_no" />
<result property="unit" column="unit" />
<result property="spec" column="spec" />
</resultMap>
<sql id="selectViewStockinHistoryVo">
select stockin_guid, stockin_id, in_type, create_date, create_man_id, status, warehouse_id, finish_date, erp_bill, stock_source, department_no, class_no, supplier_no, supplier_name, simple_name, contact_name, contact_number, address, stockin_detail_id, lot_no, quantity, quantity_x, quantity_j, assign_num, assign_num_x, assign_num_j, scan_num, scan_num_x, scan_num_j, print_date, stock_status, price, remark, product_id, product_name, cargo_no, unit, spec from view_stockin_history
</sql>
<select id="selectViewStockinHistoryList" parameterType="ViewStockinHistory" resultMap="ViewStockinHistoryResult">
<include refid="selectViewStockinHistoryVo"/>
<where>
<if test="stockinGuid != null and stockinGuid != ''"> and stockin_guid like concat('%', #{stockinGuid}, '%')</if>
<if test="stockinId != null and stockinId != ''"> and stockin_id like concat('%', #{stockinId}, '%')</if>
<if test="inType != null and inType != ''"> and in_type = #{inType}</if>
<if test="createDate != null and createDate != ''"> and create_date like concat('%', #{createDate}, '%')</if>
<if test="createManId != null and createManId != ''"> and create_man_id like concat('%', #{createManId}, '%')</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id like concat('%', #{warehouseId}, '%')</if>
<if test="finishDate != null and finishDate != ''"> and finish_date like concat('%', #{finishDate}, '%')</if>
<if test="erpBill != null and erpBill != ''"> and erp_bill like concat('%', #{erpBill}, '%')</if>
<if test="stockSource != null and stockSource != ''"> and stock_source like concat('%', #{stockSource}, '%')</if>
<if test="departmentNo != null and departmentNo != ''"> and department_no like concat('%', #{departmentNo}, '%')</if>
<if test="classNo != null and classNo != ''"> and class_no like concat('%', #{classNo}, '%')</if>
<if test="supplierNo != null and supplierNo != ''"> and supplier_no like concat('%', #{supplierNo}, '%')</if>
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="simpleName != null and simpleName != ''"> and simple_name like concat('%', #{simpleName}, '%')</if>
<if test="contactName != null and contactName != ''"> and contact_name like concat('%', #{contactName}, '%')</if>
<if test="contactNumber != null and contactNumber != ''"> and contact_number like concat('%', #{contactNumber}, '%')</if>
<if test="address != null and address != ''"> and address like concat('%', #{address}, '%')</if>
<if test="stockinDetailId != null and stockinDetailId != ''"> and stockin_detail_id like concat('%', #{stockinDetailId}, '%')</if>
<if test="lotNo != null and lotNo != ''"> and lot_no like concat('%', #{lotNo}, '%')</if>
<if test="quantity != null and quantity != ''"> and quantity like concat('%', #{quantity}, '%')</if>
<if test="quantityX != null and quantityX != ''"> and quantity_x like concat('%', #{quantityX}, '%')</if>
<if test="quantityJ != null and quantityJ != ''"> and quantity_j like concat('%', #{quantityJ}, '%')</if>
<if test="assignNum != null and assignNum != ''"> and assign_num = #{assignNum}</if>
<if test="assignNumX != null and assignNumX != ''"> and assign_num_x = #{assignNumX}</if>
<if test="assignNumJ != null and assignNumJ != ''"> and assign_num_j = #{assignNumJ}</if>
<if test="scanNum != null and scanNum != ''"> and scan_num = #{scanNum}</if>
<if test="scanNumX != null and scanNumX != ''"> and scan_num_x = #{scanNumX}</if>
<if test="scanNumJ != null and scanNumJ != ''"> and scan_num_j = #{scanNumJ}</if>
<if test="printDate != null and printDate != ''"> and print_date like concat('%', #{printDate}, '%')</if>
<if test="stockStatus != null and stockStatus != ''"> and stock_status = #{stockStatus}</if>
<if test="price != null and price != ''"> and price like concat('%', #{price}, '%')</if>
<if test="remark != null and remark != ''"> and remark like concat('%', #{remark}, '%')</if>
<if test="productId != null and productId != ''"> and product_id like concat('%', #{productId}, '%')</if>
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
<if test="cargoNo != null and cargoNo != ''"> and cargo_no like concat('%', #{cargoNo}, '%')</if>
<if test="unit != null and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
<if test="spec != null and spec != ''"> and spec like concat('%', #{spec}, '%')</if>
</where>
</select>
<select id="selectViewStockinHistoryByStockinGuid" parameterType="String" resultMap="ViewStockinHistoryResult">
<include refid="selectViewStockinHistoryVo"/>
where stockin_guid = #{stockinGuid}
</select>
<insert id="insertViewStockinHistory" parameterType="ViewStockinHistory">
insert into view_stockin_history
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="stockinGuid != null and stockinGuid != ''">stockin_guid,</if>
<if test="stockinId != null">stockin_id,</if>
<if test="inType != null">in_type,</if>
<if test="createDate != null">create_date,</if>
<if test="createManId != null">create_man_id,</if>
<if test="status != null">status,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="finishDate != null">finish_date,</if>
<if test="erpBill != null">erp_bill,</if>
<if test="stockSource != null">stock_source,</if>
<if test="departmentNo != null">department_no,</if>
<if test="classNo != null">class_no,</if>
<if test="supplierNo != null">supplier_no,</if>
<if test="supplierName != null">supplier_name,</if>
<if test="simpleName != null">simple_name,</if>
<if test="contactName != null">contact_name,</if>
<if test="contactNumber != null">contact_number,</if>
<if test="address != null">address,</if>
<if test="stockinDetailId != null">stockin_detail_id,</if>
<if test="lotNo != null">lot_no,</if>
<if test="quantity != null">quantity,</if>
<if test="quantityX != null">quantity_x,</if>
<if test="quantityJ != null">quantity_j,</if>
<if test="assignNum != null">assign_num,</if>
<if test="assignNumX != null">assign_num_x,</if>
<if test="assignNumJ != null">assign_num_j,</if>
<if test="scanNum != null">scan_num,</if>
<if test="scanNumX != null">scan_num_x,</if>
<if test="scanNumJ != null">scan_num_j,</if>
<if test="printDate != null">print_date,</if>
<if test="stockStatus != null">stock_status,</if>
<if test="price != null">price,</if>
<if test="remark != null">remark,</if>
<if test="productId != null">product_id,</if>
<if test="productName != null">product_name,</if>
<if test="cargoNo != null">cargo_no,</if>
<if test="unit != null">unit,</if>
<if test="spec != null">spec,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="stockinGuid != null and stockinGuid != ''">#{stockinGuid},</if>
<if test="stockinId != null">#{stockinId},</if>
<if test="inType != null">#{inType},</if>
<if test="createDate != null">#{createDate},</if>
<if test="createManId != null">#{createManId},</if>
<if test="status != null">#{status},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="finishDate != null">#{finishDate},</if>
<if test="erpBill != null">#{erpBill},</if>
<if test="stockSource != null">#{stockSource},</if>
<if test="departmentNo != null">#{departmentNo},</if>
<if test="classNo != null">#{classNo},</if>
<if test="supplierNo != null">#{supplierNo},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="simpleName != null">#{simpleName},</if>
<if test="contactName != null">#{contactName},</if>
<if test="contactNumber != null">#{contactNumber},</if>
<if test="address != null">#{address},</if>
<if test="stockinDetailId != null">#{stockinDetailId},</if>
<if test="lotNo != null">#{lotNo},</if>
<if test="quantity != null">#{quantity},</if>
<if test="quantityX != null">#{quantityX},</if>
<if test="quantityJ != null">#{quantityJ},</if>
<if test="assignNum != null">#{assignNum},</if>
<if test="assignNumX != null">#{assignNumX},</if>
<if test="assignNumJ != null">#{assignNumJ},</if>
<if test="scanNum != null">#{scanNum},</if>
<if test="scanNumX != null">#{scanNumX},</if>
<if test="scanNumJ != null">#{scanNumJ},</if>
<if test="printDate != null">#{printDate},</if>
<if test="stockStatus != null">#{stockStatus},</if>
<if test="price != null">#{price},</if>
<if test="remark != null">#{remark},</if>
<if test="productId != null">#{productId},</if>
<if test="productName != null">#{productName},</if>
<if test="cargoNo != null">#{cargoNo},</if>
<if test="unit != null">#{unit},</if>
<if test="spec != null">#{spec},</if>
</trim>
</insert>
<update id="updateViewStockinHistory" parameterType="ViewStockinHistory">
update view_stockin_history
<trim prefix="SET" suffixOverrides=",">
<if test="stockinId != null">stockin_id = #{stockinId},</if>
<if test="inType != null">in_type = #{inType},</if>
<if test="createDate != null">create_date = #{createDate},</if>
<if test="createManId != null">create_man_id = #{createManId},</if>
<if test="status != null">status = #{status},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="finishDate != null">finish_date = #{finishDate},</if>
<if test="erpBill != null">erp_bill = #{erpBill},</if>
<if test="stockSource != null">stock_source = #{stockSource},</if>
<if test="departmentNo != null">department_no = #{departmentNo},</if>
<if test="classNo != null">class_no = #{classNo},</if>
<if test="supplierNo != null">supplier_no = #{supplierNo},</if>
<if test="supplierName != null">supplier_name = #{supplierName},</if>
<if test="simpleName != null">simple_name = #{simpleName},</if>
<if test="contactName != null">contact_name = #{contactName},</if>
<if test="contactNumber != null">contact_number = #{contactNumber},</if>
<if test="address != null">address = #{address},</if>
<if test="stockinDetailId != null">stockin_detail_id = #{stockinDetailId},</if>
<if test="lotNo != null">lot_no = #{lotNo},</if>
<if test="quantity != null">quantity = #{quantity},</if>
<if test="quantityX != null">quantity_x = #{quantityX},</if>
<if test="quantityJ != null">quantity_j = #{quantityJ},</if>
<if test="assignNum != null">assign_num = #{assignNum},</if>
<if test="assignNumX != null">assign_num_x = #{assignNumX},</if>
<if test="assignNumJ != null">assign_num_j = #{assignNumJ},</if>
<if test="scanNum != null">scan_num = #{scanNum},</if>
<if test="scanNumX != null">scan_num_x = #{scanNumX},</if>
<if test="scanNumJ != null">scan_num_j = #{scanNumJ},</if>
<if test="printDate != null">print_date = #{printDate},</if>
<if test="stockStatus != null">stock_status = #{stockStatus},</if>
<if test="price != null">price = #{price},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="productId != null">product_id = #{productId},</if>
<if test="productName != null">product_name = #{productName},</if>
<if test="cargoNo != null">cargo_no = #{cargoNo},</if>
<if test="unit != null">unit = #{unit},</if>
<if test="spec != null">spec = #{spec},</if>
</trim>
where stockin_guid = #{stockinGuid}
</update>
<delete id="deleteViewStockinHistoryByStockinGuid" parameterType="String">
delete from view_stockin_history where stockin_guid = #{stockinGuid}
</delete>
<delete id="deleteViewStockinHistoryByStockinGuids" parameterType="String">
delete from view_stockin_history where stockin_guid in
<foreach item="stockinGuid" collection="array" open="(" separator="," close=")">
#{stockinGuid}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.ViewStockoutHistory.mapper.ViewStockoutHistoryMapper">
<resultMap type="ViewStockoutHistory" id="ViewStockoutHistoryResult">
<result property="stockoutId" column="stockout_id" />
<result property="outType" column="out_type" />
<result property="createDate" column="create_date" />
<result property="createManId" column="create_man_id" />
<result property="status" column="status" />
<result property="stockoutSource" column="stockout_source" />
<result property="exitId" column="exit_id" />
<result property="stockoutDetailId" column="stockout_detail_id" />
<result property="productId" column="product_id" />
<result property="productName" column="product_name" />
<result property="lotNo" column="lot_no" />
<result property="quantity" column="quantity" />
<result property="allotQuantity" column="allot_quantity" />
<result property="assignNum" column="assign_num" />
<result property="erpStockoutId" column="erp_stockout_id" />
<result property="entryid" column="entryid" />
<result property="customerName" column="customer_name" />
<result property="spec" column="spec" />
<result property="cargoNo" column="cargo_no" />
<result property="unit" column="unit" />
</resultMap>
<sql id="selectViewStockoutHistoryVo">
select stockout_id, out_type, create_date, create_man_id, status, stockout_source, exit_id, stockout_detail_id, product_id, product_name, lot_no, quantity, allot_quantity, assign_num, erp_stockout_id, entryid, customer_name, spec, cargo_no, unit from view_stockout_history
</sql>
<select id="selectViewStockoutHistoryList" parameterType="ViewStockoutHistory" resultMap="ViewStockoutHistoryResult">
<include refid="selectViewStockoutHistoryVo"/>
<where>
<if test="stockoutId != null and stockoutId != ''"> and stockout_id like concat('%', #{stockoutId}, '%')</if>
<if test="outType != null and outType != ''"> and out_type = #{outType}</if>
<if test="createDate != null and createDate != ''"> and create_date like concat('%', #{createDate}, '%')</if>
<if test="createManId != null and createManId != ''"> and create_man_id like concat('%', #{createManId}, '%')</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="stockoutSource != null and stockoutSource != ''"> and stockout_source like concat('%', #{stockoutSource}, '%')</if>
<if test="exitId != null and exitId != ''"> and exit_id like concat('%', #{exitId}, '%')</if>
<if test="stockoutDetailId != null and stockoutDetailId != ''"> and stockout_detail_id like concat('%', #{stockoutDetailId}, '%')</if>
<if test="productId != null and productId != ''"> and product_id like concat('%', #{productId}, '%')</if>
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
<if test="lotNo != null and lotNo != ''"> and lot_no like concat('%', #{lotNo}, '%')</if>
<if test="quantity != null "> and quantity like concat('%', #{quantity}, '%')</if>
<if test="allotQuantity != null "> and allot_quantity like concat('%', #{allotQuantity}, '%')</if>
<if test="assignNum != null "> and assign_num like concat('%', #{assignNum}, '%')</if>
<if test="erpStockoutId != null and erpStockoutId != ''"> and erp_stockout_id like concat('%', #{erpStockoutId}, '%')</if>
<if test="entryid != null and entryid != ''"> and entryid like concat('%', #{entryid}, '%')</if>
<if test="customerName != null and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
<if test="spec != null and spec != ''"> and spec like concat('%', #{spec}, '%')</if>
<if test="cargoNo != null and cargoNo != ''"> and cargo_no like concat('%', #{cargoNo}, '%')</if>
<if test="unit != null and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
</where>
</select>
<select id="selectViewStockoutHistoryByStockoutId" parameterType="String" resultMap="ViewStockoutHistoryResult">
<include refid="selectViewStockoutHistoryVo"/>
where stockout_id = #{stockoutId}
</select>
<insert id="insertViewStockoutHistory" parameterType="ViewStockoutHistory">
insert into view_stockout_history
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="stockoutId != null and stockoutId != ''">stockout_id,</if>
<if test="outType != null">out_type,</if>
<if test="createDate != null">create_date,</if>
<if test="createManId != null">create_man_id,</if>
<if test="status != null">status,</if>
<if test="stockoutSource != null">stockout_source,</if>
<if test="exitId != null">exit_id,</if>
<if test="stockoutDetailId != null">stockout_detail_id,</if>
<if test="productId != null">product_id,</if>
<if test="productName != null">product_name,</if>
<if test="lotNo != null">lot_no,</if>
<if test="quantity != null">quantity,</if>
<if test="allotQuantity != null">allot_quantity,</if>
<if test="assignNum != null">assign_num,</if>
<if test="erpStockoutId != null">erp_stockout_id,</if>
<if test="entryid != null">entryid,</if>
<if test="customerName != null">customer_name,</if>
<if test="spec != null">spec,</if>
<if test="cargoNo != null">cargo_no,</if>
<if test="unit != null">unit,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="stockoutId != null and stockoutId != ''">#{stockoutId},</if>
<if test="outType != null">#{outType},</if>
<if test="createDate != null">#{createDate},</if>
<if test="createManId != null">#{createManId},</if>
<if test="status != null">#{status},</if>
<if test="stockoutSource != null">#{stockoutSource},</if>
<if test="exitId != null">#{exitId},</if>
<if test="stockoutDetailId != null">#{stockoutDetailId},</if>
<if test="productId != null">#{productId},</if>
<if test="productName != null">#{productName},</if>
<if test="lotNo != null">#{lotNo},</if>
<if test="quantity != null">#{quantity},</if>
<if test="allotQuantity != null">#{allotQuantity},</if>
<if test="assignNum != null">#{assignNum},</if>
<if test="erpStockoutId != null">#{erpStockoutId},</if>
<if test="entryid != null">#{entryid},</if>
<if test="customerName != null">#{customerName},</if>
<if test="spec != null">#{spec},</if>
<if test="cargoNo != null">#{cargoNo},</if>
<if test="unit != null">#{unit},</if>
</trim>
</insert>
<update id="updateViewStockoutHistory" parameterType="ViewStockoutHistory">
update view_stockout_history
<trim prefix="SET" suffixOverrides=",">
<if test="outType != null">out_type = #{outType},</if>
<if test="createDate != null">create_date = #{createDate},</if>
<if test="createManId != null">create_man_id = #{createManId},</if>
<if test="status != null">status = #{status},</if>
<if test="stockoutSource != null">stockout_source = #{stockoutSource},</if>
<if test="exitId != null">exit_id = #{exitId},</if>
<if test="stockoutDetailId != null">stockout_detail_id = #{stockoutDetailId},</if>
<if test="productId != null">product_id = #{productId},</if>
<if test="productName != null">product_name = #{productName},</if>
<if test="lotNo != null">lot_no = #{lotNo},</if>
<if test="quantity != null">quantity = #{quantity},</if>
<if test="allotQuantity != null">allot_quantity = #{allotQuantity},</if>
<if test="assignNum != null">assign_num = #{assignNum},</if>
<if test="erpStockoutId != null">erp_stockout_id = #{erpStockoutId},</if>
<if test="entryid != null">entryid = #{entryid},</if>
<if test="customerName != null">customer_name = #{customerName},</if>
<if test="spec != null">spec = #{spec},</if>
<if test="cargoNo != null">cargo_no = #{cargoNo},</if>
<if test="unit != null">unit = #{unit},</if>
</trim>
where stockout_id = #{stockoutId}
</update>
<delete id="deleteViewStockoutHistoryByStockoutId" parameterType="String">
delete from view_stockout_history where stockout_id = #{stockoutId}
</delete>
<delete id="deleteViewStockoutHistoryByStockoutIds" parameterType="String">
delete from view_stockout_history where stockout_id in
<foreach item="stockoutId" collection="array" open="(" separator="," close=")">
#{stockoutId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询入库作业流水列表
export function listViewInJobFlow(query) {
return request({
url: '/search/ViewInJobFlow/list',
method: 'get',
params: query
})
}
// 查询入库作业流水详细
export function getViewInJobFlow(jobId) {
return request({
url: '/search/ViewInJobFlow/' + jobId,
method: 'get'
})
}
// 新增入库作业流水
export function addViewInJobFlow(data) {
return request({
url: '/search/ViewInJobFlow',
method: 'post',
data: data
})
}
// 修改入库作业流水
export function updateViewInJobFlow(data) {
return request({
url: '/search/ViewInJobFlow',
method: 'put',
data: data
})
}
// 删除入库作业流水
export function delViewInJobFlow(jobId) {
return request({
url: '/search/ViewInJobFlow/' + jobId,
method: 'delete'
})
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询入库单据历史列表
export function listViewStockinHistory(query) {
return request({
url: '/search/ViewStockinHistory/list',
method: 'get',
params: query
})
}
// 查询入库单据历史详细
export function getViewStockinHistory(stockinGuid) {
return request({
url: '/search/ViewStockinHistory/' + stockinGuid,
method: 'get'
})
}
// 新增入库单据历史
export function addViewStockinHistory(data) {
return request({
url: '/search/ViewStockinHistory',
method: 'post',
data: data
})
}
// 修改入库单据历史
export function updateViewStockinHistory(data) {
return request({
url: '/search/ViewStockinHistory',
method: 'put',
data: data
})
}
// 删除入库单据历史
export function delViewStockinHistory(stockinGuid) {
return request({
url: '/search/ViewStockinHistory/' + stockinGuid,
method: 'delete'
})
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询出库单据历史列表
export function listViewStockoutHistory(query) {
return request({
url: '/search/ViewStockoutHistory/list',
method: 'get',
params: query
})
}
// 查询出库单据历史详细
export function getViewStockoutHistory(stockoutId) {
return request({
url: '/search/ViewStockoutHistory/' + stockoutId,
method: 'get'
})
}
// 新增出库单据历史
export function addViewStockoutHistory(data) {
return request({
url: '/search/ViewStockoutHistory',
method: 'post',
data: data
})
}
// 修改出库单据历史
export function updateViewStockoutHistory(data) {
return request({
url: '/search/ViewStockoutHistory',
method: 'put',
data: data
})
}
// 删除出库单据历史
export function delViewStockoutHistory(stockoutId) {
return request({
url: '/search/ViewStockoutHistory/' + stockoutId,
method: 'delete'
})
}

View File

@@ -37,6 +37,7 @@
<script>
import * as echarts from '@/plugins/echarts.min.js'
import { getInAnalysisList } from "@/api/kpi/inAnalysis"
import { listWarehouse } from "@/api/bas/warehouse"
export default {
name: "inAnalysis",
@@ -79,7 +80,10 @@ export default {
/** 查询仓库列表 */
getWarehouseList() {
// TODO: 调用获取仓库列表接口
this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
// this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
},
/** 搜索按钮操作 */
handleQuery() {

View File

@@ -37,6 +37,7 @@
<script>
import * as echarts from '@/plugins/echarts.min.js'
import { getOutAnalysisList } from "@/api/kpi/outAnalysis"
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "inAnalysis",
@@ -79,7 +80,10 @@ export default {
/** 查询仓库列表 */
getWarehouseList() {
// TODO: 调用获取仓库列表接口
this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
// this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
},
/** 搜索按钮操作 */
handleQuery() {

View File

@@ -47,6 +47,7 @@
<script>
import * as echarts from '@/plugins/echarts.min.js'
import { getRoadwayAnalysisList } from "@/api/kpi/roadwayAnalysis"
import { listWarehouse } from "@/api/bas/warehouse"
export default {
name: "roadwayAnalysis",
@@ -91,7 +92,10 @@ export default {
/** 查询仓库列表 */
getWarehouseList() {
// TODO: 调用获取仓库列表接口
this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
// this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
},
/** 搜索按钮操作 */
handleQuery() {

View File

@@ -27,6 +27,7 @@
<script>
import * as echarts from '@/plugins/echarts.min.js'
import { getSpaceAnalysisList } from "@/api/kpi/spaceAnalysis"
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "spaceAnalysis",
data() {
@@ -68,7 +69,10 @@ export default {
/** 查询仓库列表 */
getWarehouseList() {
// TODO: 调用获取仓库列表接口
this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
// this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
}
,
/** 搜索按钮操作 */

View File

@@ -4,8 +4,12 @@
<el-form :model="queryParams" ref="queryForm" :inline="true">
<el-form-item label="仓库">
<el-select v-model="queryParams.warehouseId" style="width: 150px" @change="handleWarehouseChange">
<el-option label="仓库1" value="01"/>
<el-option label="仓库2" value="02"/>
<el-option
v-for="dict in warehouseOptions"
:key="dict.warehouseId"
:label="dict.warehouseName"
:value="dict.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item label="巷道">
@@ -30,6 +34,7 @@
<script>
import * as echarts from 'echarts'
import {getRoadways, getPlatoons, getChartData, getChartMag} from "@/api/kpi/spacePlan"
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: 'SpacePlan',
@@ -49,7 +54,9 @@ export default {
class_workshop_date_time: '',
class_now_date_time: '',
print_date: '',
lot_no: ''
lot_no: '',
// 仓库选项
warehouseOptions: []
},
// 巷道选项
roadwayOptions: [],
@@ -77,10 +84,19 @@ export default {
}
},
mounted() {
this.initCharts()
this.handleWarehouseChange()
},
methods: {
/** 查询仓库列表 */
getWarehouseList() {
// TODO: 调用获取仓库列表接口
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
// this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}];
},
// 初始化图表
initCharts() {
this.normalChart = echarts.init(document.getElementById('container'))

View File

@@ -0,0 +1,714 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="作业ID" prop="jobId">-->
<!-- <el-input-->
<!-- v-model="queryParams.jobId"-->
<!-- placeholder="请输入作业ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="子作业ID" prop="jobDetailId">-->
<!-- <el-input-->
<!-- v-model="queryParams.jobDetailId"-->
<!-- placeholder="请输入子作业ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.mydo_job_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="任务号" prop="taskNo">
<el-input
v-model="queryParams.taskNo"
placeholder="请输入任务号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="巷道ID" prop="roadwayId">-->
<!-- <el-input-->
<!-- v-model="queryParams.roadwayId"-->
<!-- placeholder="请输入巷道ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="货位ID" prop="cargoSpaceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoSpaceId"-->
<!-- placeholder="请输入货位ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="货位名称" prop="cargoSpaceName">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoSpaceName"-->
<!-- placeholder="请输入货位名称"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="排" prop="thePlatoon">
<el-input
v-model="queryParams.thePlatoon"
placeholder="请输入排"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="列" prop="theColumn">
<el-input
v-model="queryParams.theColumn"
placeholder="请输入列"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="层" prop="theFloor">
<el-input
v-model="queryParams.theFloor"
placeholder="请输入层"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="托盘号" prop="trayCode">
<el-input
v-model="queryParams.trayCode"
placeholder="请输入托盘号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="优先级" prop="priority">-->
<!-- <el-input-->
<!-- v-model="queryParams.priority"-->
<!-- placeholder="请输入优先级"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="执行阶段" prop="executionPhase">-->
<!-- <el-select v-model="queryParams.executionPhase" placeholder="请选择执行阶段" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.execution_phase_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="作业类型" prop="inOrOut">-->
<!-- <el-input-->
<!-- v-model="queryParams.inOrOut"-->
<!-- placeholder="请输入作业类型"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="入口ID" prop="entranceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.entranceId"-->
<!-- placeholder="请输入入口ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="物料ID" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批号" prop="lotNo">
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="垛型ID" prop="stackingId">-->
<!-- <el-input-->
<!-- v-model="queryParams.stackingId"-->
<!-- placeholder="请输入垛型ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="库存状态" prop="stockStatus">
<el-select v-model="queryParams.stockStatus" placeholder="请选择库存状态" clearable>
<el-option
v-for="dict in dict.type.stock_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="入库数量" prop="inQuantity">-->
<!-- <el-input-->
<!-- v-model="queryParams.inQuantity"-->
<!-- placeholder="请输入入库数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="单据ID" prop="inOrOutId">-->
<!-- <el-input-->
<!-- v-model="queryParams.inOrOutId"-->
<!-- placeholder="请输入单据ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="子单据ID" prop="inOrOutDId">-->
<!-- <el-input-->
<!-- v-model="queryParams.inOrOutDId"-->
<!-- placeholder="请输入子单据ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建时间" prop="createTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="queryParams.createTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="请选择创建时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item label="仓库ID" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="finishTime">
<el-date-picker clearable
v-model="queryParams.finishTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="规格" prop="spec">-->
<!-- <el-input-->
<!-- v-model="queryParams.spec"-->
<!-- placeholder="请输入规格"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="品牌" prop="cargoNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoNo"-->
<!-- placeholder="请输入品牌"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="单位" prop="unit">-->
<!-- <el-input-->
<!-- v-model="queryParams.unit"-->
<!-- placeholder="请输入单位"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['search:ViewInJobFlow:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['search:ViewInJobFlow:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['search:ViewInJobFlow:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['search:ViewInJobFlow:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="ViewInJobFlowList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="作业ID" align="center" prop="jobId" />
<el-table-column label="子作业ID" align="center" prop="jobDetailId" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.mydo_job_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="任务号" align="center" prop="taskNo" />
<el-table-column label="托盘号" align="center" prop="trayCode" />
<el-table-column label="巷道ID" align="center" prop="roadwayId" />
<!-- <el-table-column label="货位ID" align="center" prop="cargoSpaceId" />-->
<el-table-column label="货位名称" align="center" prop="cargoSpaceName" />
<!-- <el-table-column label="排" align="center" prop="thePlatoon" />-->
<!-- <el-table-column label="列" align="center" prop="theColumn" />-->
<!-- <el-table-column label="层" align="center" prop="theFloor" />-->
<el-table-column label="优先级" align="center" prop="priority" />
<el-table-column label="执行阶段" align="center" prop="executionPhase">
<template slot-scope="scope">
<dict-tag :options="dict.type.execution_phase_type" :value="scope.row.executionPhase"/>
</template>
</el-table-column>
<el-table-column label="作业类型" align="center" prop="inOrOut" />
<el-table-column label="入口ID" align="center" prop="entranceId" />
<el-table-column label="物料ID" align="center" prop="productId" />
<el-table-column label="批号" align="center" prop="lotNo" />
<el-table-column label="垛型ID" align="center" prop="stackingId" />
<el-table-column label="库存状态" align="center" prop="stockStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_status" :value="scope.row.stockStatus"/>
</template>
</el-table-column>
<el-table-column label="入库数量" align="center" prop="inQuantity" />
<el-table-column label="单据ID" align="center" prop="inOrOutId" />
<el-table-column label="子单据ID" align="center" prop="inOrOutDId" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="结束时间" align="center" prop="finishTime" width="180">
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="仓库ID" align="center" prop="warehouseId" />
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="品牌" align="center" prop="cargoNo" />
<el-table-column label="单位" align="center" prop="unit" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['search:ViewInJobFlow:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['search:ViewInJobFlow:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改入库作业流水对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="作业ID" prop="jobId">
<el-input v-model="form.jobId" placeholder="请输入作业ID" />
</el-form-item>
<el-form-item label="子作业ID" prop="jobDetailId">
<el-input v-model="form.jobDetailId" placeholder="请输入子作业ID" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="form.status" placeholder="请选择状态">
<el-option
v-for="dict in dict.type.mydo_job_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="任务号" prop="taskNo">
<el-input v-model="form.taskNo" placeholder="请输入任务号" />
</el-form-item>
<el-form-item label="托盘号" prop="trayCode">
<el-input v-model="form.trayCode" placeholder="请输入托盘号" />
</el-form-item>
<el-form-item label="巷道ID" prop="roadwayId">
<el-input v-model="form.roadwayId" placeholder="请输入巷道ID" />
</el-form-item>
<el-form-item label="货位ID" prop="cargoSpaceId">
<el-input v-model="form.cargoSpaceId" placeholder="请输入货位ID" />
</el-form-item>
<el-form-item label="货位名称" prop="cargoSpaceName">
<el-input v-model="form.cargoSpaceName" placeholder="请输入货位名称" />
</el-form-item>
<el-form-item label="排" prop="thePlatoon">
<el-input v-model="form.thePlatoon" placeholder="请输入排" />
</el-form-item>
<el-form-item label="列" prop="theColumn">
<el-input v-model="form.theColumn" placeholder="请输入列" />
</el-form-item>
<el-form-item label="层" prop="theFloor">
<el-input v-model="form.theFloor" placeholder="请输入层" />
</el-form-item>
<el-form-item label="优先级" prop="priority">
<el-input v-model="form.priority" placeholder="请输入优先级" />
</el-form-item>
<el-form-item label="执行阶段" prop="executionPhase">
<el-select v-model="form.executionPhase" placeholder="请选择执行阶段">
<el-option
v-for="dict in dict.type.execution_phase_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="作业类型" prop="inOrOut">
<el-input v-model="form.inOrOut" placeholder="请输入作业类型" />
</el-form-item>
<el-form-item label="入口ID" prop="entranceId">
<el-input v-model="form.entranceId" placeholder="请输入入口ID" />
</el-form-item>
<el-form-item label="物料ID" prop="productId">
<el-input v-model="form.productId" placeholder="请输入物料ID" />
</el-form-item>
<el-form-item label="批号" prop="lotNo">
<el-input v-model="form.lotNo" placeholder="请输入批号" />
</el-form-item>
<el-form-item label="垛型ID" prop="stackingId">
<el-input v-model="form.stackingId" placeholder="请输入垛型ID" />
</el-form-item>
<el-form-item label="库存状态" prop="stockStatus">
<el-select v-model="form.stockStatus" placeholder="请选择库存状态">
<el-option
v-for="dict in dict.type.stock_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="入库数量" prop="inQuantity">
<el-input v-model="form.inQuantity" placeholder="请输入入库数量" />
</el-form-item>
<el-form-item label="单据ID" prop="inOrOutId">
<el-input v-model="form.inOrOutId" placeholder="请输入单据ID" />
</el-form-item>
<el-form-item label="子单据ID" prop="inOrOutDId">
<el-input v-model="form.inOrOutDId" placeholder="请输入子单据ID" />
</el-form-item>
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable
v-model="form.startTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="finishTime">
<el-date-picker clearable
v-model="form.finishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="仓库ID" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库ID" />
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入物料名称" />
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-input v-model="form.spec" placeholder="请输入规格" />
</el-form-item>
<el-form-item label="品牌" prop="cargoNo">
<el-input v-model="form.cargoNo" placeholder="请输入品牌" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listViewInJobFlow, getViewInJobFlow, delViewInJobFlow, addViewInJobFlow, updateViewInJobFlow } from "@/api/search/ViewInJobFlow"
export default {
name: "ViewInJobFlow",
dicts: ['execution_phase_type', 'mydo_job_status', 'stock_status'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 入库作业流水表格数据
ViewInJobFlowList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
jobId: null,
jobDetailId: null,
status: null,
taskNo: null,
trayCode: null,
roadwayId: null,
cargoSpaceId: null,
cargoSpaceName: null,
thePlatoon: null,
theColumn: null,
theFloor: null,
priority: null,
executionPhase: null,
inOrOut: null,
entranceId: null,
productId: null,
lotNo: null,
stackingId: null,
stockStatus: null,
inQuantity: null,
inOrOutId: null,
inOrOutDId: null,
createTime: null,
startTime: null,
finishTime: null,
warehouseId: null,
productName: null,
spec: null,
cargoNo: null,
unit: null
},
// 表单参数
form: {},
// 表单校验
rules: {
jobId: [
{ required: true, message: "作业ID不能为空", trigger: "blur" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询入库作业流水列表 */
getList() {
this.loading = true
listViewInJobFlow(this.queryParams).then(response => {
this.ViewInJobFlowList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
jobId: null,
jobDetailId: null,
status: null,
taskNo: null,
trayCode: null,
roadwayId: null,
cargoSpaceId: null,
cargoSpaceName: null,
thePlatoon: null,
theColumn: null,
theFloor: null,
priority: null,
executionPhase: null,
inOrOut: null,
entranceId: null,
productId: null,
lotNo: null,
stackingId: null,
stockStatus: null,
inQuantity: null,
inOrOutId: null,
inOrOutDId: null,
createTime: null,
startTime: null,
finishTime: null,
warehouseId: null,
productName: null,
spec: null,
cargoNo: null,
unit: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.jobId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加入库作业流水"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const jobId = row.jobId || this.ids
getViewInJobFlow(jobId).then(response => {
this.form = response.data
this.open = true
this.title = "修改入库作业流水"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.jobId != null) {
updateViewInJobFlow(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addViewInJobFlow(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const jobIds = row.jobId || this.ids
this.$modal.confirm('是否确认删除入库作业流水编号为"' + jobIds + '"的数据项?').then(function() {
return delViewInJobFlow(jobIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('search/ViewInJobFlow/export', {
...this.queryParams
}, `ViewInJobFlow_${new Date().getTime()}.xlsx`)
}
}
}
</script>

View File

@@ -0,0 +1,709 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="入库单guid" prop="stockinGuid">-->
<!-- <el-input-->
<!-- v-model="queryParams.stockinGuid"-->
<!-- placeholder="请输入入库单guid"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="入库单号" prop="stockinId">
<el-input
v-model="queryParams.stockinId"
placeholder="请输入入库单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库类型" prop="inType">
<el-select v-model="queryParams.inType" placeholder="请选择入库类型" clearable>
<el-option
v-for="dict in dict.type.in_job_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="createDate">
<el-date-picker
v-model="queryParams.createDate"
type="datetime"
placeholder="请选择创建时间"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</el-form-item>
<el-form-item label="完成时间" prop="finishDate">
<el-date-picker
v-model="queryParams.finishDate"
type="datetime"
placeholder="请选择完成时间"
value-format="yyyy-MM-dd HH:mm:ss"
clearable
/>
</el-form-item>
<!-- <el-form-item label="创建人" prop="createManId">-->
<!-- <el-input-->
<!-- v-model="queryParams.createManId"-->
<!-- placeholder="请输入创建人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="单据状态" prop="status">-->
<!-- <el-select v-model="queryParams.status" placeholder="请选择单据状态" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.in_bill_status"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="仓库ID" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="ERP单号" prop="erpBill" style="white-space: nowrap">
<el-input
v-model="queryParams.erpBill"
placeholder="请输入ERP单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="单据来源" prop="stockSource">-->
<!-- <el-input-->
<!-- v-model="queryParams.stockSource"-->
<!-- placeholder="请输入单据来源"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="班组编码" prop="classNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.classNo"-->
<!-- placeholder="请输入班组编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="供应商编号" prop="supplierNo" style="white-space: nowrap">
<el-input
v-model="queryParams.supplierNo"
placeholder="请输入供应商编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商名称" prop="supplierName" style="white-space: nowrap">
<el-input
v-model="queryParams.supplierName"
placeholder="请输入供应商名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="供应商简称" prop="simpleName">-->
<!-- <el-input-->
<!-- v-model="queryParams.simpleName"-->
<!-- placeholder="请输入供应商简称"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="联系人" prop="contactName">-->
<!-- <el-input-->
<!-- v-model="queryParams.contactName"-->
<!-- placeholder="请输入联系人"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="联系电话" prop="contactNumber">-->
<!-- <el-input-->
<!-- v-model="queryParams.contactNumber"-->
<!-- placeholder="请输入联系电话"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="供应商地址" prop="address">-->
<!-- <el-input-->
<!-- v-model="queryParams.address"-->
<!-- placeholder="请输入供应商地址"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="入库明细ID" prop="stockinDetailId" style="white-space: nowrap">-->
<!-- <el-input-->
<!-- v-model="queryParams.stockinDetailId"-->
<!-- placeholder="请输入入库明细ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="批次号" prop="lotNo">
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批次号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库日期" prop="printDate">
<el-date-picker clearable
v-model="queryParams.printDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择入库日期">
</el-date-picker>
</el-form-item>
<el-form-item label="库存状态" prop="stockStatus">
<el-select v-model="queryParams.stockStatus" placeholder="请选择库存状态" clearable>
<el-option
v-for="dict in dict.type.stock_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="单价" prop="price">-->
<!-- <el-input-->
<!-- v-model="queryParams.price"-->
<!-- placeholder="请输入单价"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备注" prop="remark">-->
<!-- <el-input-->
<!-- v-model="queryParams.remark"-->
<!-- placeholder="请输入备注"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="品牌" prop="cargoNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoNo"-->
<!-- placeholder="请输入品牌"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="单位" prop="unit">-->
<!-- <el-input-->
<!-- v-model="queryParams.unit"-->
<!-- placeholder="请输入单位"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="规格" prop="spec">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['search:ViewStockinHistory:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['search:ViewStockinHistory:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['search:ViewStockinHistory:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['search:ViewStockinHistory:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="ViewStockinHistoryList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="入库单guid" align="center" prop="stockinGuid" />-->
<el-table-column label="入库单号" align="center" prop="stockinId" />
<el-table-column label="入库类型" align="center" prop="inType">
<template slot-scope="scope">
<dict-tag :options="dict.type.in_job_type" :value="scope.row.inType"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createDate" />
<el-table-column label="创建人" align="center" prop="createManId" />
<el-table-column label="单据状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.in_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="仓库ID" align="center" prop="warehouseId" />
<el-table-column label="完成时间" align="center" prop="finishDate" />
<el-table-column label="ERP单号" align="center" prop="erpBill" />
<el-table-column label="单据来源" align="center" prop="stockSource" />
<el-table-column label="部门编码" align="center" prop="departmentNo" />
<el-table-column label="班组编码" align="center" prop="classNo" />
<el-table-column label="供应商编号" align="center" prop="supplierNo" />
<el-table-column label="供应商名称" align="center" prop="supplierName" />
<el-table-column label="供应商简称" align="center" prop="simpleName" />
<el-table-column label="联系人" align="center" prop="contactName" />
<el-table-column label="联系电话" align="center" prop="contactNumber" />
<el-table-column label="供应商地址" align="center" prop="address" />
<el-table-column label="入库明细ID" align="center" prop="stockinDetailId" />
<el-table-column label="批次号" align="center" prop="lotNo" />
<el-table-column label="计划数量" align="center" prop="quantity" />
<el-table-column label="计划箱数" align="center" prop="quantityX" />
<el-table-column label="计划件数" align="center" prop="quantityJ" />
<el-table-column label="实际数量" align="center" prop="assignNum" />
<el-table-column label="实际箱数" align="center" prop="assignNumX" />
<el-table-column label="实际件数" align="center" prop="assignNumJ" />
<el-table-column label="扫码数量" align="center" prop="scanNum" />
<el-table-column label="扫码箱数" align="center" prop="scanNumX" />
<el-table-column label="扫码件数" align="center" prop="scanNumJ" />
<el-table-column label="入库日期" align="center" prop="printDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.printDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="库存状态" align="center" prop="stockStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_status" :value="scope.row.stockStatus"/>
</template>
</el-table-column>
<el-table-column label="单价" align="center" prop="price" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="品牌" align="center" prop="cargoNo" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="规格" align="center" prop="spec" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['search:ViewStockinHistory:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['search:ViewStockinHistory:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改入库单据历史对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="入库单guid" prop="stockinGuid">
<el-input v-model="form.stockinGuid" placeholder="请输入入库单guid" />
</el-form-item>
<el-form-item label="入库单号" prop="stockinId">
<el-input v-model="form.stockinId" placeholder="请输入入库单号" />
</el-form-item>
<el-form-item label="入库类型" prop="inType">
<el-select v-model="form.inType" placeholder="请选择入库类型">
<el-option
v-for="dict in dict.type.in_job_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="createDate">
<el-input v-model="form.createDate" placeholder="请输入创建时间" />
</el-form-item>
<el-form-item label="创建人" prop="createManId">
<el-input v-model="form.createManId" placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="单据状态" prop="status">
<el-select v-model="form.status" placeholder="请选择单据状态">
<el-option
v-for="dict in dict.type.in_bill_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="仓库ID" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库ID" />
</el-form-item>
<el-form-item label="完成时间" prop="finishDate">
<el-input v-model="form.finishDate" placeholder="请输入完成时间" />
</el-form-item>
<el-form-item label="ERP单号" prop="erpBill">
<el-input v-model="form.erpBill" placeholder="请输入ERP单号" />
</el-form-item>
<el-form-item label="单据来源" prop="stockSource">
<el-input v-model="form.stockSource" placeholder="请输入单据来源" />
</el-form-item>
<el-form-item label="部门编码" prop="departmentNo">
<el-input v-model="form.departmentNo" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="班组编码" prop="classNo">
<el-input v-model="form.classNo" placeholder="请输入班组编码" />
</el-form-item>
<el-form-item label="供应商编号" prop="supplierNo">
<el-input v-model="form.supplierNo" placeholder="请输入供应商编号" />
</el-form-item>
<el-form-item label="供应商名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请输入供应商名称" />
</el-form-item>
<el-form-item label="供应商简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入供应商简称" />
</el-form-item>
<el-form-item label="联系人" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="联系电话" prop="contactNumber">
<el-input v-model="form.contactNumber" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="供应商地址" prop="address">
<el-input v-model="form.address" placeholder="请输入供应商地址" />
</el-form-item>
<el-form-item label="入库明细ID" prop="stockinDetailId">
<el-input v-model="form.stockinDetailId" placeholder="请输入入库明细ID" />
</el-form-item>
<el-form-item label="批次号" prop="lotNo">
<el-input v-model="form.lotNo" placeholder="请输入批次号" />
</el-form-item>
<el-form-item label="入库日期" prop="printDate">
<el-date-picker clearable
v-model="form.printDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择入库日期">
</el-date-picker>
</el-form-item>
<el-form-item label="库存状态" prop="stockStatus">
<el-select v-model="form.stockStatus" placeholder="请选择库存状态">
<el-option
v-for="dict in dict.type.stock_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="单价" prop="price">
<el-input v-model="form.price" placeholder="请输入单价" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<el-input v-model="form.productId" placeholder="请输入物料编码" />
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入物料名称" />
</el-form-item>
<el-form-item label="品牌" prop="cargoNo">
<el-input v-model="form.cargoNo" placeholder="请输入品牌" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-input v-model="form.spec" placeholder="请输入规格" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listViewStockinHistory, getViewStockinHistory, delViewStockinHistory, addViewStockinHistory, updateViewStockinHistory } from "@/api/search/ViewStockinHistory"
export default {
name: "ViewStockinHistory",
dicts: ['in_job_type', 'in_bill_status', 'stock_status'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 入库单据历史表格数据
ViewStockinHistoryList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
stockinGuid: null,
stockinId: null,
inType: null,
createDate: null,
createManId: null,
status: null,
warehouseId: null,
finishDate: null,
erpBill: null,
stockSource: null,
departmentNo: null,
classNo: null,
supplierNo: null,
supplierName: null,
simpleName: null,
contactName: null,
contactNumber: null,
address: null,
stockinDetailId: null,
lotNo: null,
quantity: null,
quantityX: null,
quantityJ: null,
assignNum: null,
assignNumX: null,
assignNumJ: null,
scanNum: null,
scanNumX: null,
scanNumJ: null,
printDate: null,
stockStatus: null,
price: null,
remark: null,
productId: null,
productName: null,
cargoNo: null,
unit: null,
spec: null
},
// 表单参数
form: {},
// 表单校验
rules: {
stockinGuid: [
{ required: true, message: "入库单guid不能为空", trigger: "blur" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询入库单据历史列表 */
getList() {
this.loading = true
listViewStockinHistory(this.queryParams).then(response => {
this.ViewStockinHistoryList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
stockinGuid: null,
stockinId: null,
inType: null,
createDate: null,
createManId: null,
status: null,
warehouseId: null,
finishDate: null,
erpBill: null,
stockSource: null,
departmentNo: null,
classNo: null,
supplierNo: null,
supplierName: null,
simpleName: null,
contactName: null,
contactNumber: null,
address: null,
stockinDetailId: null,
lotNo: null,
quantity: null,
quantityX: null,
quantityJ: null,
assignNum: null,
assignNumX: null,
assignNumJ: null,
scanNum: null,
scanNumX: null,
scanNumJ: null,
printDate: null,
stockStatus: null,
price: null,
remark: null,
productId: null,
productName: null,
cargoNo: null,
unit: null,
spec: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.stockinGuid)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加入库单据历史"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const stockinGuid = row.stockinGuid || this.ids
getViewStockinHistory(stockinGuid).then(response => {
this.form = response.data
this.open = true
this.title = "修改入库单据历史"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.stockinGuid != null) {
updateViewStockinHistory(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addViewStockinHistory(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const stockinGuids = row.stockinGuid || this.ids
this.$modal.confirm('是否确认删除入库单据历史编号为"' + stockinGuids + '"的数据项?').then(function() {
return delViewStockinHistory(stockinGuids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('search/ViewStockinHistory/export', {
...this.queryParams
}, `ViewStockinHistory_${new Date().getTime()}.xlsx`)
}
}
}
</script>

View File

@@ -0,0 +1,548 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="出库单号" prop="stockoutId">
<el-input
v-model="queryParams.stockoutId"
placeholder="请输入出库单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="出库类型" prop="outType">
<el-select v-model="queryParams.outType" placeholder="请选择出库类型" clearable>
<el-option
v-for="dict in dict.type.out_bill_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建日期" prop="createDate">
<el-date-picker clearable
v-model="queryParams.createDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="创建人ID" prop="createManId">-->
<!-- <el-input-->
<!-- v-model="queryParams.createManId"-->
<!-- placeholder="请输入创建人ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="出库状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择出库状态" clearable>
<el-option
v-for="dict in dict.type.out_bill_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="出库来源" prop="stockoutSource">-->
<!-- <el-input-->
<!-- v-model="queryParams.stockoutSource"-->
<!-- placeholder="请输入出库来源"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="出口类型" prop="exitId">
<el-input
v-model="queryParams.exitId"
placeholder="请输入出口类型"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="出库子单ID" prop="stockoutDetailId">-->
<!-- <el-input-->
<!-- v-model="queryParams.stockoutDetailId"-->
<!-- placeholder="请输入出库子单ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="产品ID" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入产品ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入产品名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批次号" prop="lotNo">
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批次号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="出库数量" prop="quantity">
<el-input
v-model="queryParams.quantity"
placeholder="请输入出库数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="分配数量" prop="allotQuantity">-->
<!-- <el-input-->
<!-- v-model="queryParams.allotQuantity"-->
<!-- placeholder="请输入分配数量"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="分配编号" prop="assignNum">-->
<!-- <el-input-->
<!-- v-model="queryParams.assignNum"-->
<!-- placeholder="请输入分配编号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="ERP出库单ID" prop="erpStockoutId" style="white-space: nowrap">
<el-input
v-model="queryParams.erpStockoutId"
placeholder="请输入ERP出库单ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="客户编号" prop="entryid">
<el-input
v-model="queryParams.entryid"
placeholder="请输入客户编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input
v-model="queryParams.customerName"
placeholder="请输入客户名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="品牌" prop="cargoNo">
<el-input
v-model="queryParams.cargoNo"
placeholder="请输入品牌"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="单位" prop="unit">-->
<!-- <el-input-->
<!-- v-model="queryParams.unit"-->
<!-- placeholder="请输入单位"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['search:ViewStockoutHistory:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['search:ViewStockoutHistory:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['search:ViewStockoutHistory:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['search:ViewStockoutHistory:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="ViewStockoutHistoryList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="出库单号" align="center" prop="stockoutId" />
<el-table-column label="出库类型" align="center" prop="outType">
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_type" :value="scope.row.outType"/>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" prop="createDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="创建人ID" align="center" prop="createManId" />
<el-table-column label="出库状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="出库来源" align="center" prop="stockoutSource" />
<el-table-column label="出口类型" align="center" prop="exitId" />
<el-table-column label="出库明细ID" align="center" prop="stockoutDetailId" />
<el-table-column label="产品ID" align="center" prop="productId" />
<el-table-column label="产品名称" align="center" prop="productName" />
<el-table-column label="批次号" align="center" prop="lotNo" />
<el-table-column label="出库数量" align="center" prop="quantity" />
<el-table-column label="分配数量" align="center" prop="allotQuantity" />
<el-table-column label="分配编号" align="center" prop="assignNum" />
<el-table-column label="ERP出库单ID" align="center" prop="erpStockoutId" />
<el-table-column label="客户编号" align="center" prop="entryid" />
<el-table-column label="客户名称" align="center" prop="customerName" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="品牌" align="center" prop="cargoNo" />
<el-table-column label="单位" align="center" prop="unit" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['search:ViewStockoutHistory:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['search:ViewStockoutHistory:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改出库单据历史对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="出库单号" prop="stockoutId">
<el-input v-model="form.stockoutId" placeholder="请输入出库单号" />
</el-form-item>
<el-form-item label="出库类型" prop="outType">
<el-select v-model="form.outType" placeholder="请选择出库类型">
<el-option
v-for="dict in dict.type.out_bill_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建日期" prop="createDate">
<el-date-picker clearable
v-model="form.createDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建日期">
</el-date-picker>
</el-form-item>
<el-form-item label="创建人ID" prop="createManId">
<el-input v-model="form.createManId" placeholder="请输入创建人ID" />
</el-form-item>
<el-form-item label="出库状态" prop="status">
<el-select v-model="form.status" placeholder="请选择出库状态">
<el-option
v-for="dict in dict.type.out_bill_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="出库来源" prop="stockoutSource">
<el-input v-model="form.stockoutSource" placeholder="请输入出库来源" />
</el-form-item>
<el-form-item label="出口类型" prop="exitId">
<el-input v-model="form.exitId" placeholder="请输入出口类型" />
</el-form-item>
<el-form-item label="出库明细ID" prop="stockoutDetailId">
<el-input v-model="form.stockoutDetailId" placeholder="请输入出库明细ID" />
</el-form-item>
<el-form-item label="产品ID" prop="productId">
<el-input v-model="form.productId" placeholder="请输入产品ID" />
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入产品名称" />
</el-form-item>
<el-form-item label="批次号" prop="lotNo">
<el-input v-model="form.lotNo" placeholder="请输入批次号" />
</el-form-item>
<el-form-item label="出库数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入出库数量" />
</el-form-item>
<el-form-item label="分配数量" prop="allotQuantity">
<el-input v-model="form.allotQuantity" placeholder="请输入分配数量" />
</el-form-item>
<el-form-item label="分配编号" prop="assignNum">
<el-input v-model="form.assignNum" placeholder="请输入分配编号" />
</el-form-item>
<el-form-item label="ERP出库单ID" prop="erpStockoutId">
<el-input v-model="form.erpStockoutId" placeholder="请输入ERP出库单ID" />
</el-form-item>
<el-form-item label="客户编号" prop="entryid">
<el-input v-model="form.entryid" placeholder="请输入客户编号" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-input v-model="form.spec" placeholder="请输入规格" />
</el-form-item>
<el-form-item label="品牌" prop="cargoNo">
<el-input v-model="form.cargoNo" placeholder="请输入品牌" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listViewStockoutHistory, getViewStockoutHistory, delViewStockoutHistory, addViewStockoutHistory, updateViewStockoutHistory } from "@/api/search/ViewStockoutHistory"
export default {
name: "ViewStockoutHistory",
dicts: ['out_bill_type', 'out_bill_status'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 出库单据历史表格数据
ViewStockoutHistoryList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
stockoutId: null,
outType: null,
createDate: null,
createManId: null,
status: null,
stockoutSource: null,
exitId: null,
stockoutDetailId: null,
productId: null,
productName: null,
lotNo: null,
quantity: null,
allotQuantity: null,
assignNum: null,
erpStockoutId: null,
entryid: null,
customerName: null,
spec: null,
cargoNo: null,
unit: null
},
// 表单参数
form: {},
// 表单校验
rules: {
stockoutId: [
{ required: true, message: "出库单号不能为空", trigger: "blur" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询出库单据历史列表 */
getList() {
this.loading = true
listViewStockoutHistory(this.queryParams).then(response => {
this.ViewStockoutHistoryList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
stockoutId: null,
outType: null,
createDate: null,
createManId: null,
status: null,
stockoutSource: null,
exitId: null,
stockoutDetailId: null,
productId: null,
productName: null,
lotNo: null,
quantity: null,
allotQuantity: null,
assignNum: null,
erpStockoutId: null,
entryid: null,
customerName: null,
spec: null,
cargoNo: null,
unit: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.stockoutId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加出库单据历史"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const stockoutId = row.stockoutId || this.ids
getViewStockoutHistory(stockoutId).then(response => {
this.form = response.data
this.open = true
this.title = "修改出库单据历史"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.stockoutId != null) {
updateViewStockoutHistory(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addViewStockoutHistory(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const stockoutIds = row.stockoutId || this.ids
this.$modal.confirm('是否确认删除出库单据历史编号为"' + stockoutIds + '"的数据项?').then(function() {
return delViewStockoutHistory(stockoutIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('search/ViewStockoutHistory/export', {
...this.queryParams
}, `ViewStockoutHistory_${new Date().getTime()}.xlsx`)
}
}
}
</script>