代码修改
This commit is contained in:
@@ -9,6 +9,7 @@ import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockin.domain.Material;
|
||||
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
|
||||
import com.ruoyi.in.stockin.service.IInStockinService;
|
||||
import com.ruoyi.in.stockinfinish.service.IInStockinFinishService;
|
||||
@@ -17,6 +18,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -116,4 +118,25 @@ public class InStockinController extends BaseController
|
||||
{
|
||||
return inStockinService.productBack(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入物料数据
|
||||
*/
|
||||
@Log(title = "物料管理", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importData")
|
||||
public AjaxResult importData(MultipartFile file) throws Exception {
|
||||
ExcelUtil<Material> util = new ExcelUtil<>(Material.class);
|
||||
List<Material> materialList = util.importExcel(file.getInputStream());
|
||||
String message = inStockinService.importMaterial(materialList);
|
||||
return AjaxResult.success(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载模板
|
||||
*/
|
||||
@PostMapping("/importTemplate")
|
||||
public void importTemplate(HttpServletResponse response) {
|
||||
ExcelUtil<Material> util = new ExcelUtil<>(Material.class);
|
||||
util.importTemplateExcel(response, "物料数据");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,6 +104,16 @@ public class InStockin extends BaseEntity
|
||||
private String materialDesc;
|
||||
|
||||
private List<String> typeData;
|
||||
/*代号*/
|
||||
private String spare9;
|
||||
|
||||
public String getSpare9() {
|
||||
return spare9;
|
||||
}
|
||||
|
||||
public void setSpare9(String spare9) {
|
||||
this.spare9 = spare9;
|
||||
}
|
||||
|
||||
public List<String> getTypeData() {
|
||||
return typeData;
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.ruoyi.in.stockin.domain;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 物料领用/来件对象(根据你的Excel字段生成)
|
||||
*/
|
||||
@Data
|
||||
public class Material extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID */
|
||||
private Long id;
|
||||
|
||||
/** 代号 */
|
||||
@Excel(name = "代号")
|
||||
private String code;
|
||||
|
||||
/** 名称 */
|
||||
@Excel(name = "名称")
|
||||
private String name;
|
||||
|
||||
/** 单重 */
|
||||
@Excel(name = "单重")
|
||||
private BigDecimal singleWeight;
|
||||
|
||||
/** 数量 */
|
||||
@Excel(name = "数量")
|
||||
private Integer quantity;
|
||||
|
||||
/** 实来数量 */
|
||||
@Excel(name = "实来数量")
|
||||
private Integer actualArriveQuantity;
|
||||
|
||||
/** 实领数量 */
|
||||
@Excel(name = "实领数量")
|
||||
private Integer actualReceiveQuantity;
|
||||
|
||||
/** 领件人 */
|
||||
@Excel(name = "领件人")
|
||||
private String receiver;
|
||||
|
||||
/** 领件日期 */
|
||||
@Excel(name = "领件日期", dateFormat = "yyyy-MM-dd")
|
||||
private Date receiveTime;
|
||||
|
||||
/** 存放地 */
|
||||
@Excel(name = "存放地")
|
||||
private String storageLocation;
|
||||
|
||||
/** 剩余数量 */
|
||||
@Excel(name = "剩余数量")
|
||||
private Integer remainQuantity;
|
||||
|
||||
/** 来件厂家 */
|
||||
@Excel(name = "来件厂家")
|
||||
private String supplier;
|
||||
|
||||
/** 来件日期 */
|
||||
@Excel(name = "来件日期", dateFormat = "yyyy-MM-dd")
|
||||
private Date arriveTime;
|
||||
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
private String remark;
|
||||
|
||||
/** 路线 */
|
||||
@Excel(name = "路线")
|
||||
private String route;
|
||||
|
||||
/** 台次 */
|
||||
@Excel(name = "台次")
|
||||
private String tableNumber;
|
||||
|
||||
/** 项目名称 */
|
||||
@Excel(name = "项目名称")
|
||||
private String projectName;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.in.stockin.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockin.domain.Material;
|
||||
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
|
||||
import com.ruoyi.search.ViewOutJobFlow.domain.ViewOutJobFlow;
|
||||
|
||||
@@ -75,4 +76,6 @@ public interface IInStockinService
|
||||
public List<InStockin> selectStockinByDetail(String stockinDetailId);
|
||||
|
||||
AjaxResult productBack(List<ViewOutJobFlow> list);
|
||||
|
||||
String importMaterial(List<Material> materialList);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.ruoyi.in.stockin.service.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import com.ruoyi.bas.BasProduct.domain.BasProduct;
|
||||
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@@ -13,6 +15,7 @@ import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.in.bind.domain.InStockTraycodeBindMsg;
|
||||
import com.ruoyi.in.bind.mapper.InStockTraycodeBindMsgMapper;
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockin.domain.Material;
|
||||
import com.ruoyi.in.stockin.domain.vo.InstockInVo;
|
||||
import com.ruoyi.in.stockin.mapper.InStockinMapper;
|
||||
import com.ruoyi.in.stockin.service.IInStockinService;
|
||||
@@ -127,7 +130,7 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
//@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult insertInStockin(InstockInVo inStockinVo) {
|
||||
List<BasProduct> productVoList = inStockinVo.getProductVoList();
|
||||
if (CollUtil.isEmpty(productVoList)){
|
||||
@@ -159,7 +162,6 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
inStockin.setWarehouseId(inStockinVo.getWarehouseId());
|
||||
inStockin.setStatus("1");
|
||||
inStockin.setStockSource(inStockinVo.getStockSource());
|
||||
//inStockin.setSpare1(inStockinVo.getProductType());
|
||||
inStockin.setSpare5(inStockinVo.getRemark());
|
||||
inStockinMapper.insertInStockin(inStockin);
|
||||
for (int i = 1; i <= productVoList.size(); i++) {
|
||||
@@ -235,12 +237,9 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
if (CollUtil.isEmpty(oldBasStockList) && is4DigitNumber(inStockTraycodeBindMsg.getTrayCode())) {
|
||||
throw new RuntimeException(inStockTraycodeBindMsg.getTrayCode() + "尚未入库,查询不到库存");
|
||||
}
|
||||
//查询 合同号 产品号 代号 台次 物料编码 一致的老库存 进行数量合并
|
||||
//查询 代号物料编码 一致的老库存 进行数量合并
|
||||
Optional<BasStock> sameStock = oldBasStockList.stream().filter(x ->
|
||||
inStockinDetail.getSpare6().equals(x.getOrderId()) &&
|
||||
inStockinDetail.getSpare7().equals(x.getPower()) &&
|
||||
inStockinDetail.getSpare9().equals(x.getDistribution()) &&
|
||||
inStockinDetail.getSpare5().equals(x.getSpare5()) &&
|
||||
inStockinDetail.getProductId().equals(x.getProductId())
|
||||
).findFirst();
|
||||
if (sameStock.isPresent()) {
|
||||
@@ -275,7 +274,7 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
stock.setStockinDetailId(inStockinDetail.getStockinDetailId());
|
||||
stock.setInType(old.getInType());
|
||||
//stock.setLotNo(mydoJobDetail.getLotNo());
|
||||
stock.setProductName(inStockinDetail.getProductName());
|
||||
stock.setProductName(inStockinDetail.getSpare8());
|
||||
//合同号
|
||||
stock.setOrderId(inStockinDetail.getSpare6());
|
||||
//产品号
|
||||
@@ -286,6 +285,16 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
stock.setSpare5(inStockinDetail.getSpare5());
|
||||
//部门
|
||||
stock.setModel(SecurityUtils.getDeptId().toString());
|
||||
//存货名称
|
||||
stock.setProductName(inStockinDetail.getSpare8());
|
||||
//单重
|
||||
stock.setNetWeight(inStockinDetail.getSpare4());
|
||||
//路线
|
||||
stock.setGrossWeight(inStockinDetail.getSpare3());
|
||||
//供应商
|
||||
stock.setPhase(inStockinDetail.getSupplierId());
|
||||
stock.setRemark(inStockinDetail.getRemark());
|
||||
|
||||
basStockList.add(stock);
|
||||
}
|
||||
}
|
||||
@@ -440,4 +449,49 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String importMaterial(List<Material> materialList) {
|
||||
//未到货
|
||||
List<Material> list1 = materialList.stream().filter(x -> ObjUtil.isNull(x.getActualArriveQuantity())).toList();
|
||||
//生成入库单据
|
||||
String warehouseId = null;
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
List<SysRole> roles = loginUser.getUser().getRoles();
|
||||
if (CollUtil.isEmpty(roles)) {
|
||||
//如果未设置角色 ,直接返回空列表
|
||||
return "未设置角色";
|
||||
}
|
||||
//入库需要查看本部门任务
|
||||
Optional<SysRole> first = roles.stream().filter(x -> "role1".equals(x.getRoleKey()) || "role3".equals(x.getRoleKey())).findFirst();
|
||||
if (first.isPresent()) {
|
||||
//二联合普通人员
|
||||
warehouseId= "02";
|
||||
}
|
||||
Optional<SysRole> first1 = roles.stream().filter(x -> "role2".equals(x.getRoleKey()) || "role4".equals(x.getRoleKey())).findFirst();
|
||||
if (first1.isPresent()) {
|
||||
//三联合普通人员
|
||||
warehouseId= "01";
|
||||
}
|
||||
for (Material material : list1) {
|
||||
InstockInVo inStockinVo = new InstockInVo();
|
||||
inStockinVo.setStockSource("1");
|
||||
inStockinVo.setInType("1");
|
||||
inStockinVo.setWarehouseId(warehouseId);
|
||||
List<BasProduct> list = new ArrayList<>();
|
||||
BasProduct basProduct = new BasProduct();
|
||||
basProduct.setProductId(material.getCode());
|
||||
basProduct.setSpare9(material.getCode());
|
||||
basProduct.setSpare8(material.getName());
|
||||
basProduct.setSpare4(Convert.toStr(material.getSingleWeight()));
|
||||
basProduct.setQuantity(material.getQuantity());
|
||||
basProduct.setSpare3(material.getRoute());
|
||||
basProduct.setSpare5(material.getTableNumber());
|
||||
basProduct.setSupplierId(material.getSupplier());
|
||||
list.add(basProduct);
|
||||
inStockinVo.setProductVoList(list);
|
||||
insertInStockin(inStockinVo);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class InStockinDetail extends BaseEntity
|
||||
/** 子单ID */
|
||||
private String stockinDetailId;
|
||||
|
||||
/** 主单GUID */
|
||||
/** 主单GUID inStockinDetail*/
|
||||
@Excel(name = "主单GUID")
|
||||
private String stockinGuid;
|
||||
|
||||
|
||||
@@ -494,7 +494,6 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
||||
stock.setStockStatus("1");
|
||||
stock.setOutQuantity("0");
|
||||
stock.setProductStatus(productStatus);
|
||||
stock.setLotNo(mydoJobDetail.getLotNo());
|
||||
stock.setInDate(DateUtil.formatDateTime(new Date()));
|
||||
stock.setProductGuid(mydoJobDetail.getProductGuid());
|
||||
stock.setQuantity(mydoJobDetail.getInQuantity());
|
||||
@@ -506,20 +505,14 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
||||
stock.setStockinDetailId(mydoJobDetail.getInOrOutDId());
|
||||
stock.setInType(mydoJob.getInOrOut());
|
||||
stock.setLotNo(mydoJobDetail.getLotNo());
|
||||
stock.setProductName(mydoJobDetail.getProductName());
|
||||
stock.setSpare1(mydoJobDetail.getSpare1());
|
||||
stock.setSpare3(mydoJobDetail.getSpare3());
|
||||
stock.setSpare4(mydoJobDetail.getSpare4());
|
||||
stock.setSpare5(mydoJobDetail.getSpare5());
|
||||
stock.setSpare6(mydoJobDetail.getPrintDate());
|
||||
stock.setSpare8(mydoJobDetail.getSpare8());
|
||||
stock.setVoltage(mydoJobDetail.getSpare2());
|
||||
stock.setPower(mydoJobDetail.getSpare7());
|
||||
stock.setPhase(mydoJobDetail.getSupplierId());
|
||||
stock.setDistribution(mydoJobDetail.getSpare9());
|
||||
stock.setInClassId(mydoJobDetail.getUnit());
|
||||
stock.setProductName(mydoJobDetail.getSpare1());
|
||||
stock.setOrderId(mydoJobDetail.getSpare6());
|
||||
//stock.setNetWeight(mydoJob.getLineId());
|
||||
stock.setPower(mydoJobDetail.getSpare7());
|
||||
stock.setDistribution(mydoJobDetail.getSpare9());
|
||||
stock.setSpare5(mydoJobDetail.getSpare5());
|
||||
stock.setNetWeight(mydoJobDetail.getSpare2());
|
||||
stock.setGrossWeight(mydoJobDetail.getSpare3());
|
||||
stock.setPhase(mydoJobDetail.getSupplierId());
|
||||
return stock;
|
||||
}
|
||||
|
||||
|
||||
@@ -137,8 +137,8 @@ public class OutStockoutController extends BaseController {
|
||||
@Log(title = "出库主单状态改变", businessType = BusinessType.OTHER)
|
||||
@RequestMapping("/changeStatus")
|
||||
@ResponseBody
|
||||
public String changeStatus(@RequestParam("stockoutIds") String[] stockoutIds, @RequestParam("status") String status,@RequestParam("newStatus")String newStatus,@RequestParam(value = "exitId",required = false)String exitId) {
|
||||
String s = outStockoutService.updateOutStockoutStatus(stockoutIds, status, newStatus,exitId);
|
||||
public String changeStatus(@RequestParam("stockoutIds") String[] stockoutIds, @RequestParam("status") String status,@RequestParam("newStatus")String newStatus,@RequestParam(value = "exitId",required = false)String exitId,@RequestParam(value = "pickUser",required = false)String pickUser) {
|
||||
String s = outStockoutService.updateOutStockoutStatus(stockoutIds, status, newStatus,exitId,pickUser);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ public interface IOutStockoutService
|
||||
*/
|
||||
public String saveBill(OutStockoutVo outStockoutVo);
|
||||
|
||||
public String updateOutStockoutStatus(String[] stockoutIds, String status,String newStatus,String exitId);
|
||||
public String updateOutStockoutStatus(String[] stockoutIds, String status,String newStatus,String exitId,String pickUser);
|
||||
|
||||
AjaxResult autoAllot(String stockoutId);
|
||||
|
||||
|
||||
@@ -129,13 +129,11 @@ public class OutStockoutServiceImpl implements IOutStockoutService {
|
||||
outStockout.setStockoutId(stockOutId);
|
||||
outStockout.setStockoutGuid(UUID.randomUUID().toString());
|
||||
outStockout.setCreateDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
String username = SecurityContextHolder.getContext().getAuthentication().getName();
|
||||
outStockout.setCreateManId(username);
|
||||
outStockout.setStatus("1");
|
||||
outStockout.setStockoutSource(outStockoutVo.getOutStockout().getStockoutSource());
|
||||
try {
|
||||
if ("1".equals(outStockoutVo.getOutStockout().getStockoutSource())) {
|
||||
outStockout.setCreateManId(com.ruoyi.common.core.text.Convert.toStr(SecurityUtils.getUserId()));
|
||||
outStockout.setCreateManId(Convert.toStr(SecurityUtils.getUserId()));
|
||||
outStockout.setDepartmentNo(Convert.toStr(SecurityUtils.getDeptId()));
|
||||
} else if ("2".equals(outStockoutVo.getOutStockout().getStockoutSource())) {
|
||||
outStockout.setCreateManId("1");
|
||||
@@ -164,7 +162,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus, String exitId) {
|
||||
public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus, String exitId,String pickUser) {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (String stockoutId : stockoutIds) {
|
||||
@@ -173,6 +171,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService {
|
||||
map.put("newStatus", newStatus);
|
||||
map.put("exitId", exitId);
|
||||
map.put("userName", SecurityUtils.getUsername());
|
||||
map.put("pickUser", pickUser);
|
||||
outStockoutMapper.updateOutStockoutStatus(map);
|
||||
stringBuilder.append(",").append(map.get("v_resultString"));
|
||||
}
|
||||
|
||||
@@ -153,11 +153,11 @@ public class OutStockoutDetail
|
||||
|
||||
/** 净重 */
|
||||
@Excel(name = "净重")
|
||||
private BigDecimal netWeight;
|
||||
private String netWeight;
|
||||
|
||||
/** 毛重 */
|
||||
@Excel(name = "毛重")
|
||||
private BigDecimal grossWeight;
|
||||
private String grossWeight;
|
||||
|
||||
/** 分销 */
|
||||
@Excel(name = "分销")
|
||||
@@ -313,19 +313,19 @@ public class OutStockoutDetail
|
||||
this.phase = phase;
|
||||
}
|
||||
|
||||
public BigDecimal getNetWeight() {
|
||||
public String getNetWeight() {
|
||||
return netWeight;
|
||||
}
|
||||
|
||||
public void setNetWeight(BigDecimal netWeight) {
|
||||
public void setNetWeight(String netWeight) {
|
||||
this.netWeight = netWeight;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossWeight() {
|
||||
public String getGrossWeight() {
|
||||
return grossWeight;
|
||||
}
|
||||
|
||||
public void setGrossWeight(BigDecimal grossWeight) {
|
||||
public void setGrossWeight(String grossWeight) {
|
||||
this.grossWeight = grossWeight;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||
* 库存物资Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2026-03-25
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/out/productAndStock")
|
||||
@@ -45,17 +45,6 @@ public class ViewProductAndStockController extends BaseController
|
||||
List<ViewProductAndStock> list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock);
|
||||
return getDataTable(list);
|
||||
}
|
||||
/**
|
||||
* 查询库存物资列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('out:productAndStock:list')")
|
||||
@GetMapping("/pd/list")
|
||||
public TableDataInfo pdList(ViewProductAndStock viewProductAndStock)
|
||||
{
|
||||
startPage();
|
||||
List<ViewProductAndStock> list = viewProductAndStockService.selectViewProductAndStockPdList(viewProductAndStock);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出库存物资列表
|
||||
|
||||
@@ -9,143 +9,63 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
||||
* 库存物资对象 view_product_and_stock
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-10-21
|
||||
* @date 2026-03-25
|
||||
*/
|
||||
public class ViewProductAndStock
|
||||
public class ViewProductAndStock extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 序号 */
|
||||
@Excel(name = "序号")
|
||||
/** id */
|
||||
@Excel(name = "id")
|
||||
private Long onlyIdentity;
|
||||
|
||||
/** 物料编码 */
|
||||
@Excel(name = "物料编码")
|
||||
private String productId;
|
||||
|
||||
/** 批次 */
|
||||
@Excel(name = "批次")
|
||||
private String lotNo;
|
||||
|
||||
/** 物料名称 */
|
||||
@Excel(name = "物料名称")
|
||||
private String productName;
|
||||
|
||||
/** 库存数量 */
|
||||
@Excel(name = "库存数量")
|
||||
/** 数量 */
|
||||
@Excel(name = "数量")
|
||||
private String quantity;
|
||||
|
||||
/** 仓库 */
|
||||
@Excel(name = "仓库")
|
||||
/** 仓库id */
|
||||
@Excel(name = "仓库id")
|
||||
private String warehouseId;
|
||||
|
||||
/** 来源 */
|
||||
@Excel(name = "来源")
|
||||
private String spare1;
|
||||
|
||||
/** 套账 */
|
||||
@Excel(name = "套账")
|
||||
private String spare3;
|
||||
|
||||
/** 用途 */
|
||||
@Excel(name = "用途")
|
||||
private String spare4;
|
||||
|
||||
/** 台次 */
|
||||
@Excel(name = "台次")
|
||||
private String spare5;
|
||||
|
||||
/** 入库单价 */
|
||||
@Excel(name = "入库单价")
|
||||
private String spare6;
|
||||
|
||||
/** 状态 */
|
||||
@Excel(name = "状态")
|
||||
private String voltage;
|
||||
|
||||
/** 件次 */
|
||||
@Excel(name = "件次")
|
||||
private String power;
|
||||
|
||||
/** 供应商 */
|
||||
// @Excel(name = "供应商")
|
||||
private String phase;
|
||||
|
||||
private String supplierName;
|
||||
|
||||
/** 管理号 */
|
||||
@Excel(name = "管理号")
|
||||
private String distribution;
|
||||
|
||||
/** 合同号 */
|
||||
@Excel(name = "合同号")
|
||||
private String orderId;
|
||||
|
||||
/** 质量等级 */
|
||||
@Excel(name = "质量等级")
|
||||
private String spare8;
|
||||
/** 产品号 */
|
||||
@Excel(name = "产品号")
|
||||
private String power;
|
||||
|
||||
/** 单价 */
|
||||
@Excel(name = "单价")
|
||||
private String price;
|
||||
/** 代号 */
|
||||
@Excel(name = "代号")
|
||||
private String distribution;
|
||||
|
||||
/** 图号 */
|
||||
@Excel(name = "图号")
|
||||
private String cargoNo;
|
||||
/** 台次 */
|
||||
@Excel(name = "台次")
|
||||
private String spare5;
|
||||
|
||||
/** 物料状态 */
|
||||
@Excel(name = "物料状态")
|
||||
private String productStatus;
|
||||
/** 单重 */
|
||||
@Excel(name = "单重")
|
||||
private String netWeight;
|
||||
|
||||
/** 常用编码 */
|
||||
@Excel(name = "常用编码")
|
||||
private String parentId;
|
||||
/** 路线 */
|
||||
@Excel(name = "路线")
|
||||
private String grossWeight;
|
||||
|
||||
/** 启用标识 */
|
||||
@Excel(name = "启用标识")
|
||||
private String spare7;
|
||||
/** 供应商 */
|
||||
@Excel(name = "供应商")
|
||||
private String phase;
|
||||
|
||||
@Excel(name = "创建时间")
|
||||
private String createTime;
|
||||
|
||||
/** 创建用户 */
|
||||
@Excel(name = "创建用户")
|
||||
private String createSys;
|
||||
|
||||
/** 规格型号 */
|
||||
@Excel(name = "规格型号")
|
||||
private String spec;
|
||||
|
||||
/** 单位 */
|
||||
@Excel(name = "单位")
|
||||
private String unit;
|
||||
|
||||
@Excel(name = "仓库")
|
||||
private String warehouseName;
|
||||
|
||||
public String getWarehouseName() {
|
||||
return warehouseName;
|
||||
}
|
||||
|
||||
public void setWarehouseName(String warehouseName) {
|
||||
this.warehouseName = warehouseName;
|
||||
}
|
||||
|
||||
public String getSupplierName() {
|
||||
return supplierName;
|
||||
}
|
||||
|
||||
public void setSupplierName(String supplierName) {
|
||||
this.supplierName = supplierName;
|
||||
}
|
||||
|
||||
public String getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(String createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
/** 部门 */
|
||||
@Excel(name = "部门")
|
||||
private String model;
|
||||
|
||||
public void setOnlyIdentity(Long onlyIdentity)
|
||||
{
|
||||
@@ -167,16 +87,6 @@ public class ViewProductAndStock
|
||||
return productId;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo)
|
||||
{
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getLotNo()
|
||||
{
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setProductName(String productName)
|
||||
{
|
||||
this.productName = productName;
|
||||
@@ -207,64 +117,14 @@ public class ViewProductAndStock
|
||||
return warehouseId;
|
||||
}
|
||||
|
||||
public void setSpare1(String spare1)
|
||||
public void setOrderId(String orderId)
|
||||
{
|
||||
this.spare1 = spare1;
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public String getSpare1()
|
||||
public String getOrderId()
|
||||
{
|
||||
return spare1;
|
||||
}
|
||||
|
||||
public void setSpare3(String spare3)
|
||||
{
|
||||
this.spare3 = spare3;
|
||||
}
|
||||
|
||||
public String getSpare3()
|
||||
{
|
||||
return spare3;
|
||||
}
|
||||
|
||||
public void setSpare4(String spare4)
|
||||
{
|
||||
this.spare4 = spare4;
|
||||
}
|
||||
|
||||
public String getSpare4()
|
||||
{
|
||||
return spare4;
|
||||
}
|
||||
|
||||
public void setSpare5(String spare5)
|
||||
{
|
||||
this.spare5 = spare5;
|
||||
}
|
||||
|
||||
public String getSpare5()
|
||||
{
|
||||
return spare5;
|
||||
}
|
||||
|
||||
public void setSpare6(String spare6)
|
||||
{
|
||||
this.spare6 = spare6;
|
||||
}
|
||||
|
||||
public String getSpare6()
|
||||
{
|
||||
return spare6;
|
||||
}
|
||||
|
||||
public void setVoltage(String voltage)
|
||||
{
|
||||
this.voltage = voltage;
|
||||
}
|
||||
|
||||
public String getVoltage()
|
||||
{
|
||||
return voltage;
|
||||
return orderId;
|
||||
}
|
||||
|
||||
public void setPower(String power)
|
||||
@@ -277,16 +137,6 @@ public class ViewProductAndStock
|
||||
return power;
|
||||
}
|
||||
|
||||
public void setPhase(String phase)
|
||||
{
|
||||
this.phase = phase;
|
||||
}
|
||||
|
||||
public String getPhase()
|
||||
{
|
||||
return phase;
|
||||
}
|
||||
|
||||
public void setDistribution(String distribution)
|
||||
{
|
||||
this.distribution = distribution;
|
||||
@@ -297,104 +147,54 @@ public class ViewProductAndStock
|
||||
return distribution;
|
||||
}
|
||||
|
||||
public void setOrderId(String orderId)
|
||||
public void setSpare5(String spare5)
|
||||
{
|
||||
this.orderId = orderId;
|
||||
this.spare5 = spare5;
|
||||
}
|
||||
|
||||
public String getOrderId()
|
||||
public String getSpare5()
|
||||
{
|
||||
return orderId;
|
||||
return spare5;
|
||||
}
|
||||
|
||||
public void setSpare8(String spare8)
|
||||
public void setNetWeight(String netWeight)
|
||||
{
|
||||
this.spare8 = spare8;
|
||||
this.netWeight = netWeight;
|
||||
}
|
||||
|
||||
public String getSpare8()
|
||||
public String getNetWeight()
|
||||
{
|
||||
return spare8;
|
||||
return netWeight;
|
||||
}
|
||||
|
||||
public void setPrice(String price)
|
||||
public void setGrossWeight(String grossWeight)
|
||||
{
|
||||
this.price = price;
|
||||
this.grossWeight = grossWeight;
|
||||
}
|
||||
|
||||
public String getPrice()
|
||||
public String getGrossWeight()
|
||||
{
|
||||
return price;
|
||||
return grossWeight;
|
||||
}
|
||||
|
||||
public void setCargoNo(String cargoNo)
|
||||
public void setPhase(String phase)
|
||||
{
|
||||
this.cargoNo = cargoNo;
|
||||
this.phase = phase;
|
||||
}
|
||||
|
||||
public String getCargoNo()
|
||||
public String getPhase()
|
||||
{
|
||||
return cargoNo;
|
||||
return phase;
|
||||
}
|
||||
|
||||
public void setProductStatus(String productStatus)
|
||||
public void setModel(String model)
|
||||
{
|
||||
this.productStatus = productStatus;
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public String getProductStatus()
|
||||
public String getModel()
|
||||
{
|
||||
return productStatus;
|
||||
}
|
||||
|
||||
public void setParentId(String parentId)
|
||||
{
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public String getParentId()
|
||||
{
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setSpare7(String spare7)
|
||||
{
|
||||
this.spare7 = spare7;
|
||||
}
|
||||
|
||||
public String getSpare7()
|
||||
{
|
||||
return spare7;
|
||||
}
|
||||
|
||||
public void setCreateSys(String createSys)
|
||||
{
|
||||
this.createSys = createSys;
|
||||
}
|
||||
|
||||
public String getCreateSys()
|
||||
{
|
||||
return createSys;
|
||||
}
|
||||
|
||||
public void setSpec(String spec)
|
||||
{
|
||||
this.spec = spec;
|
||||
}
|
||||
|
||||
public String getSpec()
|
||||
{
|
||||
return spec;
|
||||
}
|
||||
|
||||
public void setUnit(String unit)
|
||||
{
|
||||
this.unit = unit;
|
||||
}
|
||||
|
||||
public String getUnit()
|
||||
{
|
||||
return unit;
|
||||
return model;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -402,30 +202,17 @@ public class ViewProductAndStock
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("onlyIdentity", getOnlyIdentity())
|
||||
.append("productId", getProductId())
|
||||
.append("lotNo", getLotNo())
|
||||
.append("productName", getProductName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("warehouseId", getWarehouseId())
|
||||
.append("spare1", getSpare1())
|
||||
.append("spare3", getSpare3())
|
||||
.append("spare4", getSpare4())
|
||||
.append("spare5", getSpare5())
|
||||
.append("spare6", getSpare6())
|
||||
.append("voltage", getVoltage())
|
||||
.append("power", getPower())
|
||||
.append("phase", getPhase())
|
||||
.append("distribution", getDistribution())
|
||||
.append("orderId", getOrderId())
|
||||
.append("spare8", getSpare8())
|
||||
.append("price", getPrice())
|
||||
.append("cargoNo", getCargoNo())
|
||||
.append("productStatus", getProductStatus())
|
||||
.append("parentId", getParentId())
|
||||
.append("spare7", getSpare7())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("createSys", getCreateSys())
|
||||
.append("spec", getSpec())
|
||||
.append("unit", getUnit())
|
||||
.append("power", getPower())
|
||||
.append("distribution", getDistribution())
|
||||
.append("spare5", getSpare5())
|
||||
.append("netWeight", getNetWeight())
|
||||
.append("grossWeight", getGrossWeight())
|
||||
.append("phase", getPhase())
|
||||
.append("model", getModel())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
|
||||
* 库存物资Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2026-03-25
|
||||
*/
|
||||
public interface ViewProductAndStockMapper
|
||||
{
|
||||
@@ -58,6 +58,4 @@ public interface ViewProductAndStockMapper
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys);
|
||||
|
||||
List<ViewProductAndStock> selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.ruoyi.out.productAndStock.domain.ViewProductAndStock;
|
||||
* 库存物资Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2026-03-25
|
||||
*/
|
||||
public interface IViewProductAndStockService
|
||||
{
|
||||
@@ -58,6 +58,4 @@ public interface IViewProductAndStockService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity);
|
||||
|
||||
List<ViewProductAndStock> selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import com.ruoyi.out.productAndStock.service.IViewProductAndStockService;
|
||||
* 库存物资Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-09-12
|
||||
* @date 2026-03-25
|
||||
*/
|
||||
@Service
|
||||
public class ViewProductAndStockServiceImpl implements IViewProductAndStockService
|
||||
@@ -90,10 +90,4 @@ public class ViewProductAndStockServiceImpl implements IViewProductAndStockServi
|
||||
{
|
||||
return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentity(onlyIdentity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ViewProductAndStock> selectViewProductAndStockPdList(ViewProductAndStock viewProductAndStock) {
|
||||
return viewProductAndStockMapper.selectViewProductAndStockPdList(viewProductAndStock);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,8 +85,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="materialDesc !=null and materialDesc!=''">
|
||||
and is2.stockin_id in (
|
||||
select distinct stockin_id from in_stockin_detail isd
|
||||
left join bas_product bp on isd.product_id = bp.product_id
|
||||
where bp.product_name like concat('%',#{materialDesc},'%')
|
||||
where isd.spare8 like concat('%',#{materialDesc},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="spare9 !=null and spare9!=''">
|
||||
and is2.stockin_id in (
|
||||
select stockin_id from in_stockin_detail isd
|
||||
where isd.spare9 like concat('%',#{spare9},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="lotNo !=null and lotNo!=''">
|
||||
|
||||
@@ -40,7 +40,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join out_stockout_detail d on d.stockout_id = o.stockout_id
|
||||
left join bas_customer bc on bc.customer_no = d.out_id
|
||||
left join bas_warehouse bw on bw.warehouse_id = d.warehouse_id
|
||||
left join bas_supplier bs on bs.supplier_no = d.supplier_id
|
||||
left join bas_product bp on bp.product_id = d.product_id
|
||||
left join sys_user su on su.user_id = o.create_man_id
|
||||
<where>
|
||||
@@ -157,6 +156,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{newStatus,mode=IN,jdbcType=VARCHAR},
|
||||
#{exitId,mode=IN,jdbcType=VARCHAR},
|
||||
#{userName,mode=IN,jdbcType=VARCHAR},
|
||||
#{pickUser,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_result,mode=OUT,jdbcType=VARCHAR},
|
||||
#{v_resultString,mode=OUT,jdbcType=VARCHAR}
|
||||
)
|
||||
|
||||
@@ -7,36 +7,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<resultMap type="ViewProductAndStock" id="ViewProductAndStockResult">
|
||||
<result property="onlyIdentity" column="only_identity" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="lotNo" column="lot_no" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="spare1" column="spare1" />
|
||||
<result property="spare3" column="spare3" />
|
||||
<result property="spare4" column="spare4" />
|
||||
<result property="spare5" column="spare5" />
|
||||
<result property="spare6" column="spare6" />
|
||||
<result property="voltage" column="voltage" />
|
||||
<result property="power" column="power" />
|
||||
<result property="phase" column="phase" />
|
||||
<result property="distribution" column="distribution" />
|
||||
<result property="orderId" column="order_id" />
|
||||
<result property="spare8" column="spare8" />
|
||||
<result property="price" column="price" />
|
||||
<result property="cargoNo" column="cargo_no" />
|
||||
<result property="productStatus" column="product_status" />
|
||||
<result property="parentId" column="parent_id" />
|
||||
<result property="spare7" column="spare7" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="createSys" column="create_sys" />
|
||||
<result property="spec" column="spec" />
|
||||
<result property="unit" column="unit" />
|
||||
<result property="supplierName" column="supplier_name" />
|
||||
<result property="warehouseName" column="warehouse_name" />
|
||||
<result property="power" column="power" />
|
||||
<result property="distribution" column="distribution" />
|
||||
<result property="spare5" column="spare5" />
|
||||
<result property="netWeight" column="net_weight" />
|
||||
<result property="grossWeight" column="gross_weight" />
|
||||
<result property="phase" column="phase" />
|
||||
<result property="model" column="model" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectViewProductAndStockVo">
|
||||
select only_identity, product_id, lot_no, product_name, quantity, warehouse_id, spare1, spare3, spare4, spare5, spare6, voltage, power, phase, distribution, order_id, spare8, price, cargo_no, product_status, parent_id, spare7, create_time, create_sys, spec, unit,supplier_name,warehouse_name from view_product_and_stock
|
||||
select only_identity, product_id, product_name, quantity, warehouse_id, order_id, power, distribution, spare5, net_weight, gross_weight, phase, model from view_product_and_stock
|
||||
</sql>
|
||||
|
||||
<select id="selectViewProductAndStockList" parameterType="ViewProductAndStock" resultMap="ViewProductAndStockResult">
|
||||
@@ -44,30 +29,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<where>
|
||||
<if test="onlyIdentity != null "> and only_identity = #{onlyIdentity}</if>
|
||||
<if test="productId != null and productId != ''"> and product_id like concat('%', #{productId}, '%')</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and lot_no = #{lotNo}</if>
|
||||
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="quantity != null and quantity != ''"> and quantity = #{quantity}</if>
|
||||
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id = #{warehouseId}</if>
|
||||
<if test="spare1 != null and spare1 != ''"> and spare1 = #{spare1}</if>
|
||||
<if test="spare3 != null and spare3 != ''"> and spare3 = #{spare3}</if>
|
||||
<if test="spare4 != null and spare4 != ''"> and spare4 = #{spare4}</if>
|
||||
<if test="spare5 != null and spare5 != ''"> and spare5 like concat('%',#{spare5}, '%')</if>
|
||||
<if test="spare6 != null and spare6 != ''"> and spare6 = #{spare6}</if>
|
||||
<if test="voltage != null and voltage != ''"> and voltage = #{voltage}</if>
|
||||
<if test="power != null and power != ''"> and power like concat('%',#{power}, '%')</if>
|
||||
<if test="phase != null and phase != ''"> and phase like concat('%',#{phase}, '%')</if>
|
||||
<if test="distribution != null and distribution != ''"> and distribution like concat('%', #{distribution}, '%')</if>
|
||||
<if test="orderId != null and orderId != ''"> and order_id like concat('%', #{orderId}, '%')</if>
|
||||
<if test="spare8 != null and spare8 != ''"> and spare8 = #{spare8}</if>
|
||||
<if test="price != null and price != ''"> and price = #{price}</if>
|
||||
<if test="cargoNo != null and cargoNo != ''"> and cargo_no like concat('%', #{cargoNo}, '%')</if>
|
||||
<if test="productStatus != null and productStatus != ''"> and product_status = #{productStatus}</if>
|
||||
<if test="parentId != null and parentId != ''"> and parent_id = #{parentId}</if>
|
||||
<if test="spare7 != null and spare7 != ''"> and spare7 = #{spare7}</if>
|
||||
<if test="createSys != null and createSys != ''"> and create_sys like concat('%', #{createSys}, '%')</if>
|
||||
<if test="spec != null and spec != ''"> and spec like concat('%', #{spec}, '%')</if>
|
||||
<if test="unit != null and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
|
||||
|
||||
<if test="power != null and power != ''"> and power = #{power}</if>
|
||||
<if test="distribution != null and distribution != ''"> and distribution like concat('%', #{distribution}, '%')</if>
|
||||
<if test="spare5 != null and spare5 != ''"> and spare5 = #{spare5}</if>
|
||||
<if test="netWeight != null and netWeight != ''"> and net_weight = #{netWeight}</if>
|
||||
<if test="grossWeight != null and grossWeight != ''"> and gross_weight = #{grossWeight}</if>
|
||||
<if test="phase != null and phase != ''"> and phase = #{phase}</if>
|
||||
<if test="model != null and model != ''"> and model = #{model}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@@ -81,60 +53,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="onlyIdentity != null">only_identity,</if>
|
||||
<if test="productId != null">product_id,</if>
|
||||
<if test="lotNo != null">lot_no,</if>
|
||||
<if test="productName != null">product_name,</if>
|
||||
<if test="quantity != null">quantity,</if>
|
||||
<if test="warehouseId != null">warehouse_id,</if>
|
||||
<if test="spare1 != null">spare1,</if>
|
||||
<if test="spare3 != null">spare3,</if>
|
||||
<if test="spare4 != null">spare4,</if>
|
||||
<if test="spare5 != null">spare5,</if>
|
||||
<if test="spare6 != null">spare6,</if>
|
||||
<if test="voltage != null">voltage,</if>
|
||||
<if test="power != null">power,</if>
|
||||
<if test="phase != null">phase,</if>
|
||||
<if test="distribution != null">distribution,</if>
|
||||
<if test="orderId != null">order_id,</if>
|
||||
<if test="spare8 != null">spare8,</if>
|
||||
<if test="price != null">price,</if>
|
||||
<if test="cargoNo != null">cargo_no,</if>
|
||||
<if test="productStatus != null">product_status,</if>
|
||||
<if test="parentId != null">parent_id,</if>
|
||||
<if test="spare7 != null">spare7,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="createSys != null">create_sys,</if>
|
||||
<if test="spec != null">spec,</if>
|
||||
<if test="unit != null">unit,</if>
|
||||
<if test="supplierName != null">supplier_name,</if>
|
||||
<if test="power != null">power,</if>
|
||||
<if test="distribution != null">distribution,</if>
|
||||
<if test="spare5 != null">spare5,</if>
|
||||
<if test="netWeight != null">net_weight,</if>
|
||||
<if test="grossWeight != null">gross_weight,</if>
|
||||
<if test="phase != null">phase,</if>
|
||||
<if test="model != null">model,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="onlyIdentity != null">#{onlyIdentity},</if>
|
||||
<if test="productId != null">#{productId},</if>
|
||||
<if test="lotNo != null">#{lotNo},</if>
|
||||
<if test="productName != null">#{productName},</if>
|
||||
<if test="quantity != null">#{quantity},</if>
|
||||
<if test="warehouseId != null">#{warehouseId},</if>
|
||||
<if test="spare1 != null">#{spare1},</if>
|
||||
<if test="spare3 != null">#{spare3},</if>
|
||||
<if test="spare4 != null">#{spare4},</if>
|
||||
<if test="spare5 != null">#{spare5},</if>
|
||||
<if test="spare6 != null">#{spare6},</if>
|
||||
<if test="voltage != null">#{voltage},</if>
|
||||
<if test="power != null">#{power},</if>
|
||||
<if test="phase != null">#{phase},</if>
|
||||
<if test="distribution != null">#{distribution},</if>
|
||||
<if test="orderId != null">#{orderId},</if>
|
||||
<if test="spare8 != null">#{spare8},</if>
|
||||
<if test="price != null">#{price},</if>
|
||||
<if test="cargoNo != null">#{cargoNo},</if>
|
||||
<if test="productStatus != null">#{productStatus},</if>
|
||||
<if test="parentId != null">#{parentId},</if>
|
||||
<if test="spare7 != null">#{spare7},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="createSys != null">#{createSys},</if>
|
||||
<if test="spec != null">#{spec},</if>
|
||||
<if test="unit != null">#{unit},</if>
|
||||
<if test="supplierName != null">#{supplierName},</if>
|
||||
<if test="power != null">#{power},</if>
|
||||
<if test="distribution != null">#{distribution},</if>
|
||||
<if test="spare5 != null">#{spare5},</if>
|
||||
<if test="netWeight != null">#{netWeight},</if>
|
||||
<if test="grossWeight != null">#{grossWeight},</if>
|
||||
<if test="phase != null">#{phase},</if>
|
||||
<if test="model != null">#{model},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -142,31 +86,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
update view_product_and_stock
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="productId != null">product_id = #{productId},</if>
|
||||
<if test="lotNo != null">lot_no = #{lotNo},</if>
|
||||
<if test="productName != null">product_name = #{productName},</if>
|
||||
<if test="quantity != null">quantity = #{quantity},</if>
|
||||
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
|
||||
<if test="spare1 != null">spare1 = #{spare1},</if>
|
||||
<if test="spare3 != null">spare3 = #{spare3},</if>
|
||||
<if test="spare4 != null">spare4 = #{spare4},</if>
|
||||
<if test="spare5 != null">spare5 = #{spare5},</if>
|
||||
<if test="spare6 != null">spare6 = #{spare6},</if>
|
||||
<if test="voltage != null">voltage = #{voltage},</if>
|
||||
<if test="power != null">power = #{power},</if>
|
||||
<if test="phase != null">phase = #{phase},</if>
|
||||
<if test="distribution != null">distribution = #{distribution},</if>
|
||||
<if test="orderId != null">order_id = #{orderId},</if>
|
||||
<if test="spare8 != null">spare8 = #{spare8},</if>
|
||||
<if test="price != null">price = #{price},</if>
|
||||
<if test="cargoNo != null">cargo_no = #{cargoNo},</if>
|
||||
<if test="productStatus != null">product_status = #{productStatus},</if>
|
||||
<if test="parentId != null">parent_id = #{parentId},</if>
|
||||
<if test="spare7 != null">spare7 = #{spare7},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="createSys != null">create_sys = #{createSys},</if>
|
||||
<if test="spec != null">spec = #{spec},</if>
|
||||
<if test="unit != null">unit = #{unit},</if>
|
||||
<if test="supplierName != null">supplier_name = #{supplierName},</if>
|
||||
<if test="power != null">power = #{power},</if>
|
||||
<if test="distribution != null">distribution = #{distribution},</if>
|
||||
<if test="spare5 != null">spare5 = #{spare5},</if>
|
||||
<if test="netWeight != null">net_weight = #{netWeight},</if>
|
||||
<if test="grossWeight != null">gross_weight = #{grossWeight},</if>
|
||||
<if test="phase != null">phase = #{phase},</if>
|
||||
<if test="model != null">model = #{model},</if>
|
||||
</trim>
|
||||
where only_identity = #{onlyIdentity}
|
||||
</update>
|
||||
|
||||
@@ -67,29 +67,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
bs.cargo_space_id, --库位编码
|
||||
bs.tray_code, --托盘
|
||||
bs.product_id, --产品编码
|
||||
bp.product_name,--产品名称
|
||||
bp.spec, -- 规格
|
||||
bs.product_name,--产品名称
|
||||
bs.quantity, -- 数量
|
||||
bs.spare6, -- 金额
|
||||
bp.price, --单价
|
||||
bp.spare1 as productType, --产品状态
|
||||
bp.unit, -- 单位
|
||||
bp.cargo_no, --图号
|
||||
bs.order_id, --合同号
|
||||
bs.spare5, --台次
|
||||
bs.power, --件次
|
||||
bs.spare8, --质量
|
||||
bp.parent_id, --常用编码
|
||||
bs.stockin_id, --入库单号
|
||||
bs2.supplier_name, --供应商名称
|
||||
bs2.supplier_no, --供应商编号
|
||||
bs.phase as supplier_name, --供应商名称
|
||||
bw.warehouse_id, --仓库编码
|
||||
bw.warehouse_name, --仓库名称
|
||||
bs.in_date, --入库时间
|
||||
bs.stacking_id, --出库时间
|
||||
bs.spare7, --盘点标识
|
||||
bs.back_date, --盘点时间
|
||||
bp.remark, --备注
|
||||
bs.stock_id, --库存编码
|
||||
bs.stock_status, --库存状态
|
||||
bs.lot_no, --批次号
|
||||
@@ -98,13 +90,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
bs.spare1, --用途
|
||||
bs.distribution, --用途
|
||||
bs.model, --用途
|
||||
bcs.the_type as net_weight, --重量
|
||||
bs.stockin_detail_id --入库子单
|
||||
bs.net_weight , --重量
|
||||
bs.stockin_detail_id, --入库子单
|
||||
bs.gross_weight--路线
|
||||
from bas_stock bs
|
||||
left join bas_product bp on bs.product_id = bp.product_id
|
||||
left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id
|
||||
left join bas_cargo_space bcs on bs.cargo_space_id = bcs.cargo_space_id
|
||||
left join bas_supplier bs2 on bs.phase = bs2.supplier_no
|
||||
</sql>
|
||||
|
||||
<select id="selectBasStockList" parameterType="BasStock" resultMap="BasStockResult">
|
||||
@@ -151,14 +142,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="theFloor != null and theFloor != ''"> and bcs.the_floor = #{theFloor}</if>
|
||||
<if test="thePlatoon != null and thePlatoon != ''"> and bcs.the_platoon = #{thePlatoon}</if>
|
||||
<if test="theColumn != null and theColumn != ''"> and bcs.the_column = #{theColumn}</if>
|
||||
<if test="spec != null and spec != ''"> and bp.spec = #{spec}</if>
|
||||
<if test="parentId != null and parentId != ''"> and bp.parent_id = #{parentId}</if>
|
||||
<if test="supplierId != null and supplierId != ''"> and bs2.supplier_no = #{supplierId}</if>
|
||||
<if test="supplierName != null and supplierName != ''"> and bs2.supplier_name = #{supplierName}</if>
|
||||
<if test="price != null and price != ''"> and bp.price = #{price}</if>
|
||||
<if test="inDateStart != null and inDateStart != ''"> and bs.in_date >= #{inDateStart}</if>
|
||||
<if test="inDateEnd != null and inDateEnd != ''"> and bs.in_date <= #{inDateEnd}</if>
|
||||
<if test="productType != null and productType != ''"> and bp.spare1 = #{productType}</if>
|
||||
|
||||
|
||||
</where>
|
||||
|
||||
@@ -76,4 +76,21 @@ export function productBack(data) {
|
||||
})
|
||||
}
|
||||
|
||||
// 导入数据
|
||||
export function importData(data) {
|
||||
return request({
|
||||
url: '/in/stockIn/importData',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 下载导入模板
|
||||
export function importTemplate() {
|
||||
return request({
|
||||
url: '/in/stockIn/importTemplate',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,6 +53,9 @@ export function getOutStockoutDetail(query) {
|
||||
if (params.exitId) {
|
||||
searchParams.append('exitId', params.exitId);
|
||||
}
|
||||
if (params.pickUser) {
|
||||
searchParams.append('pickUser', params.pickUser);
|
||||
}
|
||||
return request({
|
||||
url: '/out/outStockout/changeStatus?' + searchParams.toString(),
|
||||
method: 'get'
|
||||
|
||||
@@ -73,6 +73,26 @@ export function delManagement(stockId) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 模拟生成出库任务
|
||||
export function createOutboundTask(data) {
|
||||
return request({
|
||||
url: '/stock/management/createOutboundTask',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 模拟导出个人出库Excel
|
||||
export function exportPersonalOutbound(data) {
|
||||
return request({
|
||||
url: '/stock/management/exportPersonalOutbound',
|
||||
method: 'post',
|
||||
data: data,
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
//重置盘点记录
|
||||
export function resetPdRecord() {
|
||||
return request({
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
<el-form-item label="物料名称" prop="materialDesc">
|
||||
<el-input v-model="queryParams.materialDesc" placeholder="请输入物料名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="代号" prop="spare9">
|
||||
<el-input v-model="queryParams.spare9" 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_bill_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
@@ -35,6 +38,7 @@
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="single" @click="handleReview" v-hasPermi="['in:stockIn:edit']">单据审核</el-button>
|
||||
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleConfirmation" v-hasPermi="['in:stockIn:edit']">单据确认</el-button>
|
||||
<el-button type="info" plain icon="el-icon-download" size="mini" :disabled="detailMultiple" @click="handleBarcodePrinting" v-hasPermi="['in:stockIn:barcodePrinting']">打印条码</el-button>
|
||||
<el-button type="text" icon="el-icon-upload2" @click="handleImport">导入</el-button>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" style="margin-left: 10px;"></right-toolbar>
|
||||
</div>
|
||||
</div>
|
||||
@@ -42,7 +46,7 @@
|
||||
<el-table v-loading="loading" :data="stockInList" @selection-change="handleSelectionChange"
|
||||
@row-click="handleRowClick" max-height="300" border highlight-current-row :row-class-name="tableRowClassName">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="入库订单" align="left" prop="stockinId" width="150"/>
|
||||
<el-table-column label="入库订单" align="left" prop="stockinId" width="160"/>
|
||||
<el-table-column label="入库类型" align="left" prop="inType">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.in_bill_type" :value="scope.row.inType"/>
|
||||
@@ -79,11 +83,13 @@
|
||||
<div style="float: right; display: flex; align-items: center;">
|
||||
<el-button type="primary" size="mini" icon="el-icon-check" @click="handleBatchSave" v-hasPermi="['in:stockIn:edit']">保存子单明细</el-button>
|
||||
<div style="width: 1px; height: 20px; background: #eee; margin: 0 15px;"></div>
|
||||
<el-input v-model="batchTrayCode" placeholder="批量条码" size="mini" style="width: 120px; margin-right: 5px;" clearable />
|
||||
<el-input v-model="batchTrayCode" placeholder="条码 或 条码=位置" size="mini" style="width: 150px; margin-right: 5px;" clearable />
|
||||
<el-button type="warning" size="mini" icon="el-icon-copy-document" @click="handleBatchFillTrayCode">批量填充</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<el-table
|
||||
v-loading="detailLoading"
|
||||
:data="stockInDetailList"
|
||||
@@ -131,8 +137,10 @@
|
||||
<el-table-column label="产品号" align="left" prop="spare7" width="160"/>
|
||||
<el-table-column label="代号" align="left" prop="spare9" width="160"/>
|
||||
<el-table-column label="台次" align="left" prop="spare5" />
|
||||
<el-table-column label="物料编码" align="left" prop="productId" />
|
||||
<el-table-column label="物料名称" align="left" prop="productName" show-overflow-tooltip/>
|
||||
<el-table-column label="供应商" align="left" prop="supplierId" />
|
||||
<el-table-column label="路线" align="left" prop="spare3" />
|
||||
<!-- <el-table-column label="物料编码" align="left" prop="productId" width="160"/>-->
|
||||
<el-table-column label="物料名称" align="left" prop="spare8" show-overflow-tooltip/>
|
||||
<el-table-column label="计划数量" align="center" prop="quantity" width="100"/>
|
||||
<el-table-column label="实际数量" align="center" width="100">
|
||||
<template slot-scope="scope">
|
||||
@@ -161,6 +169,11 @@
|
||||
<el-tag v-else size="mini" type="info" effect="plain">未分配托盘</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.remark" placeholder="请输入备注" size="mini" clearable />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
@@ -215,11 +228,42 @@
|
||||
</div>
|
||||
</div>
|
||||
</vue-easy-print>
|
||||
|
||||
<!-- 入库导入对话框 -->
|
||||
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:limit="1"
|
||||
accept=".xlsx, .xls"
|
||||
:headers="upload.headers"
|
||||
:action="upload.url + '?updateSupport=' + upload.updateSupport"
|
||||
:disabled="upload.isUploading"
|
||||
:on-progress="handleFileUploadProgress"
|
||||
:on-success="handleFileSuccess"
|
||||
:auto-upload="false"
|
||||
drag
|
||||
>
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<div class="el-upload__tip text-center" slot="tip">
|
||||
<div class="el-upload__tip" slot="tip">
|
||||
<el-checkbox v-model="upload.updateSupport" :true-label="1" :false-label="0" /> 是否更新已经存在的单据数据
|
||||
</div>
|
||||
<span>仅允许导入xls、xlsx格式文件。</span>
|
||||
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
|
||||
</div>
|
||||
</el-upload>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitFileForm">确 定</el-button>
|
||||
<el-button @click="upload.open = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {confirmationStockIn, invalidatedStockIn, listStockIn, reviewStockIn} from "@/api/in/stockIn"
|
||||
import { getToken } from "@/utils/auth";
|
||||
import {listStockInDetail, updateStockInDetailBatch} from "@/api/in/stockInDetail"
|
||||
import {listWarehouse} from "@/api/bas/warehouse";
|
||||
import vueEasyPrint from 'vue-easy-print'
|
||||
@@ -231,7 +275,7 @@ export default {
|
||||
dicts: ['bill_resource','product_type', 'in_bill_status', 'in_bill_type','bill_resource','product_type','origin_type','account_type','turnover_type','purpose_type','quality_type'],
|
||||
components: {
|
||||
vueEasyPrint,
|
||||
VueQr
|
||||
VueQr,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -289,6 +333,21 @@ export default {
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 入库导入参数
|
||||
upload: {
|
||||
// 是否显示弹出层(入库导入)
|
||||
open: false,
|
||||
// 弹出层标题(入库导入)
|
||||
title: "",
|
||||
// 是否禁用上传
|
||||
isUploading: false,
|
||||
// 是否更新已经存在的用户数据
|
||||
updateSupport: 0,
|
||||
// 设置上传的请求头部
|
||||
headers: { Authorization: "Bearer " + getToken() },
|
||||
// 上传的地址
|
||||
url: process.env.VUE_APP_BASE_API + "/in/stockIn/importData"
|
||||
},
|
||||
// 批量填充托盘条码
|
||||
batchTrayCode: '',
|
||||
// 查询参数
|
||||
@@ -334,6 +393,32 @@ export default {
|
||||
this.getWarehouseList()
|
||||
},
|
||||
methods: {
|
||||
/** 导入按钮操作 */
|
||||
handleImport() {
|
||||
this.upload.title = "入库导入";
|
||||
this.upload.open = true;
|
||||
},
|
||||
/** 下载模板操作 */
|
||||
importTemplate() {
|
||||
this.download('in/stockIn/importTemplate', {
|
||||
}, `stock_in_template_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
// 文件上传中处理
|
||||
handleFileUploadProgress(event, file, fileList) {
|
||||
this.upload.isUploading = true;
|
||||
},
|
||||
// 文件上传成功处理
|
||||
handleFileSuccess(response, file, fileList) {
|
||||
this.upload.open = false;
|
||||
this.upload.isUploading = false;
|
||||
this.$refs.upload.clearFiles();
|
||||
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
|
||||
this.getList();
|
||||
},
|
||||
// 提交上传文件
|
||||
submitFileForm() {
|
||||
this.$refs.upload.submit();
|
||||
},
|
||||
/** 获取仓库列表 */
|
||||
getWarehouseList() {
|
||||
listWarehouse(this.queryWarehouseParams).then(response => {
|
||||
@@ -527,13 +612,23 @@ export default {
|
||||
/** 批量填充托盘条码 */
|
||||
handleBatchFillTrayCode() {
|
||||
if (!this.batchTrayCode) {
|
||||
this.$modal.msgWarning("请输入批量托盘条码");
|
||||
this.$modal.msgWarning("请输入批量填充内容(格式:1003 或 1003=A1)");
|
||||
return;
|
||||
}
|
||||
if (this.stockInDetailListSelected.length === 0) {
|
||||
this.$modal.msgWarning("请选择要填充的子单据");
|
||||
return;
|
||||
}
|
||||
|
||||
// 解析输入:1003=A1 或 1003
|
||||
let trayCode = this.batchTrayCode;
|
||||
let location = '';
|
||||
if (this.batchTrayCode.includes('=')) {
|
||||
const parts = this.batchTrayCode.split('=');
|
||||
trayCode = parts[0].trim();
|
||||
location = parts[1] ? parts[1].trim() : '';
|
||||
}
|
||||
|
||||
// 批量填充逻辑:为每个选中行添加或设置一个托盘,数量默认为计划数量或剩余数量
|
||||
this.stockInDetailList.forEach((item, index) => {
|
||||
if (this.stockInDetailListSelected.some(selected => selected.stockinDetailId === item.stockinDetailId)) {
|
||||
@@ -543,15 +638,18 @@ export default {
|
||||
}
|
||||
const remain = Math.max(0, (item.quantity || 0) - (item.assignNum || 0));
|
||||
// 查找是否已有该托盘,没有则添加,有则更新数量
|
||||
const existingTray = item.trayList.find(t => t.trayCode === this.batchTrayCode);
|
||||
const existingTray = item.trayList.find(t => t.trayCode === trayCode);
|
||||
if (!existingTray) {
|
||||
item.trayList.push({
|
||||
trayCode: this.batchTrayCode,
|
||||
trayCode: trayCode,
|
||||
quantity: remain, // 默认填入剩余计划数量
|
||||
location: ''
|
||||
location: location
|
||||
});
|
||||
} else {
|
||||
existingTray.quantity = (existingTray.quantity || 0) + remain;
|
||||
if (location) {
|
||||
existingTray.location = location; // 如果输入了位置,则更新
|
||||
}
|
||||
}
|
||||
this.calculateAssignNum(item);
|
||||
}
|
||||
|
||||
@@ -177,38 +177,8 @@
|
||||
<el-table-column label="代号" align="left" prop="spare9" width="160"/>
|
||||
<el-table-column label="台次" align="left" prop="spare5" />
|
||||
<el-table-column label="物料编码" align="left" prop="productId" />
|
||||
<el-table-column label="物料名称" align="left" prop="productName" />
|
||||
<!-- <el-table-column label="供应商" align="left" prop="supplierName" />-->
|
||||
<el-table-column label="物料名称" align="left" prop="spare1" />
|
||||
<el-table-column label="出库数量" align="right" prop="outQuantity" /> <!-- 出库数量 -->
|
||||
<!-- <el-table-column label="批号" align="left" prop="lotNo" />-->
|
||||
<!-- <el-table-column label="单价" align="left" prop="printDate" />-->
|
||||
<!-- <el-table-column label="来源" align="left" prop="spare1" ><!–来源–>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" align="left" prop="spare2" ><!–用途–>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="套账" align="left" prop="spare3" ><!–用途–>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用途" align="left" prop="spare4" ><!–用途–>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
|
||||
|
||||
<!-- <el-table-column label="质量等级" align="left" prop="spare8" ><!–用途–>
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="'备注'" prop="remark"><!--客户-->
|
||||
<el-form-item :label="'备注'" prop="remark">
|
||||
<el-input
|
||||
v-model="formData.remark"
|
||||
:placeholder="'请输入备注'"
|
||||
@@ -43,78 +43,22 @@
|
||||
|
||||
<!-- 物资明细表格 -->
|
||||
<el-table v-loading="loading" :data="materialList">
|
||||
<!-- <el-table-column label="仓库编码" align="center" prop="warehouseId" />-->
|
||||
<el-table-column label="仓库" align="center" prop="warehouseName" />
|
||||
<el-table-column label="合同号" align="center" prop="cargoNo" width="160"/>
|
||||
<el-table-column label="产品号" align="center" prop="phase" width="160"/>
|
||||
<el-table-column label="代号" align="center" prop="fid" width="160"/>
|
||||
<el-table-column label="台次" align="center" prop="power" width="160"/>
|
||||
<el-table-column label="物料编码" 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="productSpec" />-->
|
||||
<!-- <el-table-column label="供应商" align="center" prop="supplierName" />-->
|
||||
<!-- <el-table-column label="客户编码" align="center" prop="outId" />-->
|
||||
<!-- <el-table-column label="客户名称" align="center" prop="customerName" width="230">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="scope.row.customerName"-->
|
||||
<!-- placeholder="点击选择客户"-->
|
||||
<!-- readonly-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @focus="openRowCustomerSelector(scope.row)"-->
|
||||
<!-- />-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column :label="'数量'" align="center" prop="quantity" width="150"><!--数量-->
|
||||
<el-table-column label="合同号" align="center" prop="orderId" width="160"/>
|
||||
<el-table-column label="产品号" align="center" prop="power" width="160"/>
|
||||
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
|
||||
<el-table-column label="台次" align="center" prop="spec" width="160"/>
|
||||
<el-table-column label="物料编码" align="center" prop="productId" />
|
||||
<el-table-column label="物料名称" align="center" prop="productName" />
|
||||
<el-table-column label="单重" align="center" prop="netWeight" />
|
||||
<el-table-column label="路线" align="center" prop="grossWeight" />
|
||||
<el-table-column label="供应商" align="center" prop="phase" />
|
||||
<el-table-column label="部门" align="center" prop="model" />
|
||||
<el-table-column label="数量" align="center" prop="quantity" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-input-number v-model="scope.row.quantity" :min="1" size="mini" @change="handleQuantityChange(scope.row)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="状态" align="center" prop="spec">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spec"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="来源" align="center" prop="unit" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.origin_type" :value="scope.row.unit"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="入库单价" align="center" prop="price" />-->
|
||||
<!-- <el-table-column label="产品质量" align="center" prop="voltage" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.quality_type" :value="scope.row.voltage"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
|
||||
|
||||
<!-- <el-table-column label="用途" align="center" prop="model" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.purpose_type" :value="scope.row.model"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="套账" align="center" prop="entryid" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.account_type" :value="scope.row.entryid"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位" align="center" prop="productUnit" />
|
||||
<el-table-column label="图号" align="center" prop="productDrawNo" />-->
|
||||
|
||||
<!-- <el-table-column label="物料状态" align="center" prop="productStatus" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.product_type" :value="scope.row.productStatus"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="常用编码" align="center" prop="parentId" />
|
||||
<el-table-column label="是否启用" align="center" prop="isUsed" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUsed"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
||||
<el-table-column label="创建用户" align="center" prop="createSys" />-->
|
||||
|
||||
<el-table-column :label="'操作'" align="center" class-name="small-padding fixed-width"><!--操作-->
|
||||
<template slot-scope="scope">
|
||||
@@ -124,7 +68,7 @@
|
||||
</el-table>
|
||||
|
||||
<!-- 选择物资弹窗 -->
|
||||
<el-dialog :title="'选择物资'" :visible.sync="materialDialog" width="1700px" append-to-body><!--选择物资-->
|
||||
<el-dialog :title="'选择物资'" :visible.sync="materialDialog" width="80%" custom-class="material-dialog" append-to-body><!--选择物资-->
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||
|
||||
<el-form-item label="合同号" prop="orderId">
|
||||
@@ -159,14 +103,6 @@
|
||||
@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"
|
||||
@@ -175,15 +111,6 @@
|
||||
@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>
|
||||
@@ -193,65 +120,19 @@
|
||||
|
||||
<el-table v-loading="materialLoading" :data="materialOptions" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="序号" align="center" prop="onlyIdentity" />
|
||||
<el-table-column label="仓库编码" align="center" prop="warehouseId" />
|
||||
<el-table-column label="仓库" align="center" prop="warehouseName" />
|
||||
<el-table-column label="id" align="center" prop="onlyIdentity" />
|
||||
<el-table-column label="物料编码" align="center" prop="productId" />
|
||||
<el-table-column label="物料名称" align="center" prop="productName" />
|
||||
<el-table-column label="数量" align="center" prop="quantity" />
|
||||
<el-table-column label="仓库id" align="center" prop="warehouseId" />
|
||||
<el-table-column label="合同号" align="center" prop="orderId" />
|
||||
<el-table-column label="产品号" align="center" prop="power" />
|
||||
<el-table-column label="代号" align="center" prop="distribution" />
|
||||
<el-table-column label="台次" align="center" prop="spare5" />
|
||||
|
||||
<el-table-column label="物料编码" align="center" prop="productId" />
|
||||
<!-- <el-table-column label="批次" align="center" prop="lotNo" />-->
|
||||
<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="quantity" />
|
||||
|
||||
<!-- <el-table-column label="来源" align="center" prop="spare1">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="套账" align="center" prop="spare3">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用途" align="center" prop="spare4">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="入库单价" align="center" prop="spare6" />-->
|
||||
<!-- <el-table-column label="状态" align="center" prop="voltage">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.turnover_type" :value="scope.row.voltage"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="供应商" align="center" prop="phase" />-->
|
||||
<!-- <el-table-column label="供应商" align="center" prop="supplierName" />-->
|
||||
|
||||
<!-- <el-table-column label="质量等级" align="center" prop="spare8">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价" align="center" prop="price" />
|
||||
|
||||
<el-table-column label="物料状态" align="center" prop="productStatus">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.product_type" :value="scope.row.productStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="常用编码" align="center" prop="parentId" />
|
||||
<el-table-column label="启用标识" align="center" prop="spare7">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.spare7"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="创建用户" align="center" prop="createSys" />-->
|
||||
<!-- <el-table-column label="单位" align="center" prop="unit" />-->
|
||||
<el-table-column label="单重" align="center" prop="netWeight" />
|
||||
<el-table-column label="路线" align="center" prop="grossWeight" />
|
||||
<el-table-column label="供应商" align="center" prop="phase" />
|
||||
<el-table-column label="部门" align="center" prop="model" />
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
@@ -268,104 +149,6 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 选择客户弹窗 -->
|
||||
<el-dialog :title="'客户管理'" :visible.sync="customerDialog" width="800px" append-to-body>
|
||||
<el-form :model="customerQueryParams" ref="customerQueryForm" size="small" :inline="true" label-width="100px">
|
||||
<el-form-item :label="'客户编号'" prop="customerNo"><!--客户编号-->
|
||||
<el-input
|
||||
v-model="customerQueryParams.customerNo"
|
||||
:placeholder="'请输入客户编号'"
|
||||
clearable
|
||||
@keyup.enter.native="handleCustomerQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="'客户名称'" prop="customerName"><!--客户名称-->
|
||||
<el-input
|
||||
v-model="customerQueryParams.customerName"
|
||||
:placeholder="'请输入客户名称'"
|
||||
clearable
|
||||
@keyup.enter.native="handleCustomerQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleCustomerQuery">搜索<!--搜索--></el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetCustomerQuery">重置<!--重置--></el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table ref="customerTable" v-loading="customerLoading" :data="customerList" @row-click="handleCustomerRowClick" highlight-current-row>
|
||||
<el-table-column :label="'客户编号'" align="left" prop="customerNo" /><!--客户编号-->
|
||||
<el-table-column :label="'客户名称'" align="left" prop="customerName" /><!--客户名称-->
|
||||
<!-- <el-table-column :label="$t('basCustomer.simpleName')" align="left" prop="simpleName" />客户简称 -->
|
||||
<el-table-column :label="'是否可用'" align="left" prop="useable">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
|
||||
</template>
|
||||
</el-table-column><!--是否可用-->
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="customerTotal > 0"
|
||||
:total="customerTotal"
|
||||
:page.sync="customerQueryParams.pageNum"
|
||||
:limit.sync="customerQueryParams.pageSize"
|
||||
@pagination="getCustomerList"
|
||||
/>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="confirmSelectCustomer">确定<!--确 定--></el-button>
|
||||
<el-button @click="cancelSelectCustomer">取消<!--取 消--></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 选择供应商弹窗 -->
|
||||
<el-dialog :title="'选择供应商'" :visible.sync="supplierDialog" width="800px" append-to-body>
|
||||
<el-form :model="supplierQueryParams" ref="supplierQueryForm" size="small" :inline="true" label-width="100px">
|
||||
<el-form-item :label="'供应商编号'" prop="supplierNo">
|
||||
<el-input
|
||||
v-model="supplierQueryParams.supplierNo"
|
||||
:placeholder="'请输入供应商编号'"
|
||||
clearable
|
||||
@keyup.enter.native="handleSupplierQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="'供应商名称'" prop="supplierName">
|
||||
<el-input
|
||||
v-model="supplierQueryParams.supplierName"
|
||||
:placeholder="'请输入供应商名称'"
|
||||
clearable
|
||||
@keyup.enter.native="handleSupplierQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleSupplierQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetSupplierQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table ref="supplierTable" v-loading="supplierLoading" :data="supplierList" @row-click="handleSupplierRowClick" highlight-current-row>
|
||||
<el-table-column :label="'供应商编号'" align="left" prop="supplierNo" />
|
||||
<el-table-column :label="'供应商名称'" align="left" prop="supplierName" />
|
||||
<el-table-column :label="'是否可用'" align="left" prop="useable">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="supplierTotal > 0"
|
||||
:total="supplierTotal"
|
||||
:page.sync="supplierQueryParams.pageNum"
|
||||
:limit.sync="supplierQueryParams.pageSize"
|
||||
@pagination="getSupplierListForDialog"
|
||||
/>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="confirmSelectSupplier">确定</el-button>
|
||||
<el-button @click="cancelSelectSupplier">取消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -642,36 +425,21 @@ export default {
|
||||
|
||||
this.materialList = this.materialList.concat(
|
||||
newMaterials.map(item => ({
|
||||
onlyIdentity: item.onlyIdentity,
|
||||
productId: item.productId,
|
||||
productName: item.productName,
|
||||
quantity: item.quantity,
|
||||
quantityOrignal: item.quantity,
|
||||
spec: item.voltage,
|
||||
supplierId: item.phase,
|
||||
supplierName: item.supplierName,
|
||||
phase: item.power,
|
||||
fid: item.distribution,
|
||||
cargoNo: item.orderId,
|
||||
entryid: item.spare3,
|
||||
unit: item.spare1,
|
||||
model: item.spare4,
|
||||
price:item.spare6,
|
||||
power:item.spare5,
|
||||
warehouseId: item.warehouseId,
|
||||
warehouseName: item.warehouseName,
|
||||
lotNo: item.lotNo,
|
||||
voltage:item.spare8,
|
||||
onlyIdentity: item.onlyIdentity,
|
||||
productPrice:item.price,
|
||||
productSpec:item.spec,
|
||||
productUnit:item.unit,
|
||||
productDrawNo:item.cargoNo,
|
||||
productStatus:item.productStatus,
|
||||
parentId: item.parentId,
|
||||
isUsed:item.spare7,
|
||||
createTime: item.createTime,
|
||||
createSys:item.createSys
|
||||
|
||||
orderId: item.orderId,
|
||||
power: item.power,
|
||||
distribution: item.distribution,
|
||||
spec: item.spare5,
|
||||
netWeight: item.netWeight,
|
||||
grossWeight: item.grossWeight,
|
||||
phase: item.phase,
|
||||
model: item.model,
|
||||
|
||||
}))
|
||||
);
|
||||
@@ -759,4 +527,14 @@ export default {
|
||||
width: auto;
|
||||
min-width: fit-content;
|
||||
}
|
||||
.material-dialog {
|
||||
height: 50vh;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.material-dialog >>> .el-dialog__body {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -152,11 +152,15 @@
|
||||
<dict-tag :options="dict.type.bill_resource" :value="scope.row.stockoutSource"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="上位单号" align="left" prop="erpStockoutId" width="150"/><!--入库订单-->
|
||||
<!-- <el-table-column :label="'出口'" align="left" prop="exitId" />-->
|
||||
<!-- <el-table-column :label="'客户编码'" align="left" prop="customerNo" /><!– 客户编码 –>-->
|
||||
<!-- <el-table-column label="客户名称" align="left" prop="customerName" />-->
|
||||
<el-table-column label="建单人" align="left" prop="createManName" /> <!-- 建单人 -->
|
||||
<el-table-column label="上位单号" align="left" prop="erpStockoutId" width="150"/><!--入库订单-->
|
||||
<el-table-column label="出口" align="left" prop="exitId" ><!--出口-->
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.exit_type" :value="scope.row.exitId"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="领料人" align="left" prop="classNowId" />
|
||||
<!-- <el-table-column label="客户名称" align="left" prop="customerName" />-->
|
||||
<el-table-column label="创建时间" align="left" prop="createDate" width="160"/><!-- 创建时间 -->
|
||||
<el-table-column label="开始时间" align="left" prop="startDate" width="160"/><!-- 开始时间 -->
|
||||
<el-table-column label="确认时间" align="left" prop="finishDate" width="160"/> <!-- 确认时间 -->
|
||||
@@ -176,88 +180,31 @@
|
||||
<el-table v-loading="detailLoading" :data="outStockDetailList" style="margin-top: 20px;" @selection-change="handleDetailSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column :label="'出库子单编号'" align="center" prop="stockoutDetailId" width="160" /> <!-- 出库子单编号 -->
|
||||
<!-- <el-table-column label="仓库" align="center" prop="warehouseId" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<el-table-column label="合同号" align="center" prop="cargoNo" width="160"/>
|
||||
<el-table-column label="产品号" align="center" prop="phase" width="160"/>
|
||||
<el-table-column label="代号" align="center" prop="fid" width="160"/>
|
||||
<el-table-column label="台次" align="center" prop="power" width="160"/>
|
||||
<el-table-column label="物料编码" align="center" prop="productId" /> <!-- 物资编码 -->
|
||||
<el-table-column label="合同号" align="center" prop="orderId" width="160"/>
|
||||
<el-table-column label="产品号" align="center" prop="power" width="160"/>
|
||||
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
|
||||
<el-table-column label="台次" align="center" prop="spec" width="160"/>
|
||||
<el-table-column label="单重" align="center" prop="netWeight" />
|
||||
<el-table-column label="路线" align="center" prop="grossWeight" width="160"/>
|
||||
<el-table-column label="供应商" align="center" prop="phase" width="160"/>
|
||||
<el-table-column label="物料编码" 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="productSpec" />-->
|
||||
<!-- <el-table-column label="供应商" align="center" prop="supplierName" />-->
|
||||
<!-- <el-table-column label="客户" align="center" prop="customerName" />-->
|
||||
<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="回传状态" align="center" prop="swStatus" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sw_status" :value="scope.row.swStatus"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column :label="'入库单价'" align="center" prop="price"/>-->
|
||||
<!-- <el-table-column :label="'来源'" align="center" prop="unit">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.origin_type" :value="scope.row.unit"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="'状态'" align="center" prop="spec">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spec"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="产品质量" align="center" prop="voltage" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.quality_type" :value="scope.row.voltage"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
|
||||
|
||||
<!-- <el-table-column label="分销" align="center" prop="distribution" />-->
|
||||
<!-- <el-table-column label="用途" align="center" prop="model" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.purpose_type" :value="scope.row.model"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="套账" align="center" prop="entryid" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.account_type" :value="scope.row.entryid"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
|
||||
<!-- <el-table-column label="单位" align="center" prop="productUnit" />-->
|
||||
<!-- <el-table-column label="图号" align="center" prop="productDrawNo" />-->
|
||||
<!-- <el-table-column label="物料状态" align="center" prop="productStatus" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.product_type" :value="scope.row.productStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="常用编码" align="center" prop="parentId" />
|
||||
<el-table-column label="是否启用" align="center" prop="isUsed" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUsed"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="创建时间" align="center" prop="createTime" />
|
||||
<el-table-column label="创建用户" align="center" prop="createSys" />-->
|
||||
<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>
|
||||
|
||||
<!-- <pagination-->
|
||||
<!-- v-show="detailTotal>0"-->
|
||||
<!-- :total="detailTotal"-->
|
||||
<!-- :page.sync="detailQueryParams.pageNum"-->
|
||||
<!-- :limit.sync="detailQueryParams.pageSize"-->
|
||||
<!-- @pagination="getDetailList"-->
|
||||
<!-- />-->
|
||||
|
||||
<!-- 审核弹窗 -->
|
||||
<el-dialog :title="'审核'" :visible.sync="auditDialogVisible" width="400px" append-to-body>
|
||||
<el-form ref="auditForm" :model="auditForm" :rules="auditRules" label-width="80px">
|
||||
<el-form-item label="领料人" prop="pickUser">
|
||||
<el-input
|
||||
v-model="auditForm.pickUser"
|
||||
placeholder="请输入领料人"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="'选择出口'" prop="exitId">
|
||||
<el-select v-model="auditForm.exitId" :placeholder="'请选择出口'" clearable>
|
||||
<el-option
|
||||
@@ -401,7 +348,7 @@ import {listWarehouse} from "@/api/bas/warehouse";
|
||||
|
||||
export default {
|
||||
name: "OutStockWithDetail",
|
||||
dicts: ['bill_resource','sw_status','out_bill_type', 'out_bill_status', 'product_type', 'quality_type', 'turnover_type', 'sys_yes_no','account_type','origin_type','purpose_type','warehouse'],
|
||||
dicts: ['bill_resource','out_bill_type', 'out_bill_status','exit_type'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
@@ -428,7 +375,8 @@ export default {
|
||||
auditDialogVisible: false,
|
||||
// 审核表单数据
|
||||
auditForm: {
|
||||
exitId: null
|
||||
exitId: null,
|
||||
pickUser:null
|
||||
},
|
||||
// 库存明细弹窗显示状态
|
||||
stockDialogVisible: false,
|
||||
@@ -448,8 +396,8 @@ export default {
|
||||
},
|
||||
// 出口选项
|
||||
exitOptions: [
|
||||
{ exitId: '1', exitName: '北端'},
|
||||
{ exitId: '2', exitName: '南端'},
|
||||
{ exitId: '1', exitName: '入库端'},
|
||||
{ exitId: '2', exitName: '出库端'},
|
||||
|
||||
],
|
||||
|
||||
@@ -624,6 +572,7 @@ export default {
|
||||
|
||||
this.auditDialogVisible = true
|
||||
this.auditForm.exitId = null
|
||||
this.auditForm.pickUser = null
|
||||
return
|
||||
}
|
||||
|
||||
@@ -726,7 +675,8 @@ export default {
|
||||
stockoutIds: this.selectedRows.map(row => row.stockoutId),
|
||||
status: this.selectedRows[0].status,
|
||||
newStatus: this.currentAuditStatus,
|
||||
exitId: this.auditForm.exitId
|
||||
exitId: this.auditForm.exitId,
|
||||
pickUser: this.auditForm.pickUser
|
||||
}
|
||||
// console.log("单据状态修改(含出口信息):", params)
|
||||
|
||||
|
||||
@@ -194,35 +194,19 @@
|
||||
|
||||
<el-table v-loading="detailLoading" :data="detailList" @selection-change="handleSelectionChange" max-height="650">
|
||||
<el-table-column type="selection" align="center" />
|
||||
<!-- <el-table-column label="仓库名称" align="center" prop="warehouseName"/>-->
|
||||
<el-table-column label="库存编码" align="center" prop="stockId" width="160"/>
|
||||
<!-- <el-table-column label="库位" align="center" prop="cargoSpaceId" width="160"/>-->
|
||||
<!-- <el-table-column label="托盘" align="center" prop="trayCode" width="160"/>-->
|
||||
<el-table-column label="合同号" align="center" prop="orderId" width="160"/>
|
||||
<el-table-column label="产品号" align="center" prop="power" width="160"/>
|
||||
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
|
||||
<el-table-column label="台次" align="center" prop="spare5"/>
|
||||
<el-table-column label="物料编码" align="center" prop="productId"/>
|
||||
<el-table-column label="物料名称" align="center" prop="productName" width="160" />
|
||||
<!-- <el-table-column label="规格" align="center" prop="spec" width="160"/>-->
|
||||
<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="netWeight"/>
|
||||
<el-table-column label="路线" align="center" prop="grossWeight" width="160" show-overflow-tooltip />
|
||||
<el-table-column label="物料名称" align="center" prop="productName" width="160" show-overflow-tooltip />
|
||||
<el-table-column label="数量" align="center" prop="quantity"/>
|
||||
<!-- <el-table-column label="重量" align="center" prop="netWeight" width="160"/>-->
|
||||
<!-- <el-table-column label="入库单号" align="center" prop="stockinId" width="160"/>-->
|
||||
<el-table-column label="首次入库时间" align="center" prop="inDate" width="160"/>
|
||||
<el-table-column label="最后出库时间" align="center" prop="stackingId" width="160"/>
|
||||
<!-- <el-table-column label="盘点标识" align="center" prop="spare7">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.check_flag" :value="scope.row.spare7"/>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column label="盘点时间" align="center" prop="backDate" width="160"/>-->
|
||||
<el-table-column label="备注" align="center" prop="remark"/>
|
||||
<el-table-column width=120 label="操作" align="center" class-name="small-padding fixed-width"> <!-- 操作 -->
|
||||
<!-- <el-table-column width=120 label="操作" align="center" class-name="small-padding fixed-width"> <!– 操作 –>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
@@ -230,16 +214,16 @@
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['stock:management:edit']"
|
||||
>修改 <!-- 修改 --></el-button>
|
||||
>修改 <!– 修改 –></el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['stock:management:remove']"
|
||||
>删除 <!-- 删除 --></el-button>
|
||||
>删除 <!– 删除 –></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>-->
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
||||
Reference in New Issue
Block a user